跑车要想实现高速行驶,除了配备强劲的发动机外,还需要底盘、车身、电气设备的共同配合。AI算力亦如此,要想实现AI算力的提升,除了靠CPU、GPU等硬件设备外,还需要在软件层面与算法、模型适配,以体系化的结构满足应用需求。
AI的目标是应用
不可否认,AI的最终目标是走向应用,帮助企业智能化决策、生产、运维管理,或是改善消费者的生活工作体验。
而在走向应用的过程中,算力、算法、数据绝非是割裂的零散模块。从定义问题、收集数据,到特征分析、模型训练,再到模型评估、模型应用整个AI的全过程,算力、算法、数据三要素时刻都要协同工作。
也因此,若想AI落于实地,算力不足一定是不行,而通过提升算力,也不一定能将此AI场景应用,原因在于需考虑模型的精准度、使用者的实用体验。
CPU利用率其实不足50%
而若想提升AI场景的算力,通常情况下我们首先会想到的便是借助CPU、GPU等各种XPU部署异构计算,建设更大规模的服务器集群,总之,便是单纯靠硬件堆叠提升算力。
但实际情况是,通过增加硬件的确能提升AI场景所需的算力,但更多的是资源浪费和增加企业成本。做出这样结论的原因便是原有硬件的性能实际并没有全部发挥出来。不妨以CPU为例,我们都知道CPU有一个性能理论峰值,但在实际运行过程中,CPU所释放的性能大概在理论峰值的30-50%,即便再加负载,CPU的使用率依然不能增高。
将AI算力软化
根据芯片开发商的说法,芯片的性能之所以没能完全发挥出来,源于软件与硬件系统未能深度融合,某些特定功能不能得以发挥。
以英特尔为例,为了满足机器学习或者训练、推理需求,英特尔推出的至强可扩展处理器除了在主频、核数的提高外,不断引入AVX-512指令集、DL Boost人工智能加速指令集、DAAL高性能机器学习和数据分析库、MKL-DNN数学核心函数库、nGraph编译器,使得整个硬件平台更适用于AI场景。但加入的这些指令、函数库,并非随便使用深度学习框架便能将其利用起来,需要针对性对框架优化,与CPU适配,才能转换为计算性能。
放在AI实际应用中亦如此。AI算力其实是一个完整体系,其更像一个软硬结合体,只有去了解AI算法的运算架构和逻辑,进而针对硬件做深层次优化,提前把计算部分软化,才能便于AI落地。
这样的方式,带来的好处便是,由于算法、软件与算力深度耦合,模型的部署、调参相应简化,进而缩短上线时间。同时,这样的方式使得企业无需另行采购硬件设施,在原有基础上便可实现算力提升。