华夏银行吴永飞:人工智能GPU算力资源池化应用研究

【CSDN 编者按】随着国务院《新一代人工智能发展规划》等系列指引的相继印发,人工智能已经上升到我国国家战略高度。商业银行在客服、营销、风控等领域持续运用人工智能技术赋能业务发展,在提升金融效率和用户体验等方面取得显著成效。人工智能金融领域应用的模型训练和推理过程都需要强大的算力支撑,随着ChatGPT等大模型的出现,中高端GPU算力成本不断攀升。如何在有限的资源条件下高效快捷地使用GPU算力服务人工智能应用,提升业务效率,创造更多业务价值,已成为业界关注的焦点。

作者 | 华夏银行信息科技部责编 | 夏萌

出品 | CSDN(ID:CSDNnews)

华夏银行首席信息官  吴永飞

研究背景

1.GPU应用场景广泛但资源利用率不高

目前,商业银行在精准营销、智能风控、智慧经营、法律合规等场景中广泛应用人工智能技术。从算法应用维度看,人工智能技术金融应用的背后有一系列多种类算法组合的支撑,包括决策树类算法(XGBoost、GBDT等)、自然语言处理类算法(BERT)、图神经网络算法(GCN、CNN)等。使用GPU加速卡可以在图像、文本、语音等多种常见的深度学习算法模型中发挥良好的加速效果,在一些AI应用中发挥着至关重要的作用。然而,目前大多数情况下GPU的独占式使用模式致使GPU资源利用率不高,如何提高GPU资源利用率是亟需解决的问题。

2.高端GPU被限制出口中国

2022年8月31日,美国芯片设计公司英伟达称,美国政府要求其限制向中国出口最新两代旗舰AI计算芯片A100 GPU和H100 GPU。在该领域,我国与世界领先水平差距较大。目前国内比较主流的AI芯片包括寒武纪MLU、海光DCU、华为昇腾等。

不同架构的AI算力芯片业务编程接口不一样,互不兼容,业务适配难度大,例如英伟达的CUDA、寒武纪的NeuWare、海光的DTK、华为的MindSpore等,目前没有一种框架能够适用于所有的异构芯片。采用不同架构的AI算力资源相互独立、生态隔离,形成一个个算力孤岛。如何统一管理各种GPU异构算力,充分有效地利用好GPU资源,是AI应用亟需解决的问题。

技术路线研究

1.GPU芯片路线

目前GPU芯片路线主要包括GPGPU和NPU。

GPGPU的并行计算性能比CPU大幅提升,高效集成数千至上万个高效率小核,以及数百个AI加速核,资源效率很高。由于GPGPU极强的通用性,主流及新兴的AI算子和框架都基于GPGPU实现,AI生态较健全。当硬件产品升级后,计算框架容易向后兼容,GPGPU软件生态可持续维护。目前主流的GPGPU是英伟达GPU。信创GPGPU路线的芯片主要包括海光、天数、壁仞、登临科技等。

NPU针对矩阵运算进行了专门的优化设计,解决了传统芯片在神经网络运算时效率低下的问题。NPU在电路层模拟人类神经元和突触,相比于GPU的冯诺依曼结构,NPU通过突触权重实现存储计算一体化,提高运行效率。NPU路线的典型代表有寒武纪MLU和华为昇腾芯片。

将运行在英伟达GPU上的AI模型迁移到信创GPU上,针对GPGPU路线和NPU路线的对比如表所示。

表  针对GPGPU路线和NPU路线的对比

2.GPU池化路线

目前市场上主流的GPU虚拟化技术发展,从初期简单虚拟化到最终资源池化,并非一蹴而就,主要经历了以下几个阶段。

阶段一:简单虚拟化。将物理GPU按固定比例切分成多个虚拟GPU,如1/2或1/4,每个虚拟GPU的显存相等,算力共享。该阶段难以满足不同AI模型对于算力、显存资源的灵活需求,且该阶段GPU资源被限制在单个物理机上的容器或者虚拟机使用,资源仍是独占模式,无法进行动态调整。

阶段二:远程调用。重要技术突破在于支持GPU的跨物理节点调用,从而支持CPU资源和GPU资源的解耦。在该阶段资源池的范围从单个物理节点扩展到整个数据中心。由于支持GPU远程调用,AI应用可以部署到数据中心的任意位置;从另外一个角度说,GPU服务器可以向整个数据中心的任意位置提供异构算力。

阶段三:资源池化。建立在前述两个阶段的基础之上,提供对于异构算力控制平面和数据平面的能力,具有全局资源池环境下的资源发现、资源调度、资源回收、异构池化管理、日志监控等数据中心级别的运维功能,让用户在单一界面就可以统一管理整个数据中心的异构算力资源。

所以最终GPU池化技术利用运行时的虚拟化实现将大卡转化成小卡,支持GPU细颗粒度共享,还能支持GPU资源的动态分配和自动释放,利用远程GPU功能打破物理服务器的边界,将GPU的管理和使用从单台服务器扩展到整个数据中心,实现了数据中心级GPU资源池需要的管理平面,能对整个数据中心的所有GPU统一纳管,统一监控告警,统一运维。

3.技术路线选择

目前生物识别、OCR识别、NLP对话机器人等均是商业银行重要的智能应用场景。面向推理场景,生物识别主要使用FP16半精度推理;OCR识别主要使用FP32单精度推理;NLP对话机器人的语音识别、语音合成、短文本对话主要使用FP32单精度推理;在OCR+NLP长文本阅读理解、文档抽取、文档比对等场景也主要使用FP32单精度推理;而算力精度与芯片性能是强耦合关系。根据信创芯片对于精度、性能及框架适配能力的对比进行综合考量,选择的技术路线验证包括中科曙光AI服务器(海光CPU)+中国寒武纪AI芯片MLU 370/中国海光DCUZ 100L/美国英伟达A30+趋动科技OrionX软件(GPU算力池化软件)+AI应用场景(图像识别)。

解决方案

1.方案目标

方案的主要目标是验证异构算力资源池化软件是否能在全栈信创硬件及操作系统上正常工作,实现资源池内各类硬件加速卡可通过GPU池化软件进行算力抽象化后形成统一的AI加速算力资源提供给上层应用使用,同时资源池兼容信创芯片。

2.方案架构

全栈自主可控AI算力异构资源池如图所示。在基础设施层,涵盖信创服务器+异构算力芯片,包含英伟达GPU、中科海光DCU以及寒武纪MLU异构芯片。操作系统层使用信创麒麟OS。虚拟化层采用趋动科技GPU异构池化软件,将不同的异构算力芯片统一纳管和资源池化,支持资源的切分、远程调用、动态挂载释放等功能,为上层的算法框架提供任意需要的资源,如TensorFlow需要GPU的资源,则可为其动态分配英伟达GPU资源;PaddlePaddle若需要海光DCU的资源,则为其动态分配DCU的资源。通过异构GPU资源池的能力,将不同厂商不同型号的异构算力资源统一纳管、统一分配、统一监控,通过对异构算力的灵活调度和动态分配,实现异构算力的合理规划,提升资源利用率的同时实现经济效益。

图 GPU异构算力资源池化架构图

方案验证

前述解决方案由华夏银行首先提出,经与金融信创生态实验室及有关产业机构不断研讨,并历经4个多月进行技术攻关和测试验证。方案验证结果如下:通过趋动科技GPU池化软件进行算力抽象,在寒武纪、海光GPU加速卡上,均实现了资源按需分配、资源远程调用、资源切分、资源聚合等功能,加入英伟达卡后,支持动态分配、统一调度等功能,符合预期。

一是支持底层全栈AI信创算力基础设施,同时也支持信创算力和非信创算力的异构池化管理,从而实现安全可控改造的平稳、逐步替代。

二是各类算力硬件资源抽象化,上层应用可以算力1%、显存1MB为基本单位进行异构算力资源的申请和使用,异构算力资源使用更加精细,算力硬件利用率大幅提升。

三是资源池内各类算力资源通过网络远程调用方式实现资源整合,形成算力资源池,一方面突破单服务器硬件配置限制,另一方面可减少资源池内硬件资源碎片。

四是资源池内各类算力资源按需挂载,用完立即回收,资源高效流转。

五是AI应用可在资源池任意位置进行部署,无需关注底层物理硬件配置细节。

六是AI应用可弹性使用资源池内算力资源,无需重启即可改变申请算力资源的大小。

总结与展望

通过GPU算力资源池化研究,形成了统一的AI加速算力资源池,有效地释放了GPU算力。

一是该解决方案基于全栈软硬件信创环境,通过GPU池化软件进行了三种异构算力抽象,验证了资源池内各类硬件加速卡可通过GPU池化软件进行算力抽象,软件化后形成统一的AI加速算力资源提供给上层应用使用。

二是既支持底层AI算力基础设施全栈安全可控,同时也支持信创算力和非信创算力的异构池化管理,从而实现安全可控改造的平稳、逐步替代。

三是通过远程调用的能力真正实现异构算力资源池化。通过资源池化技术实现了异构算力灵活、动态、高效的调用和分配能力,赋能银行快速进行AI中台的升级转换。

四是AI算力资源池化显著提高了硬件资源使用效率,降低银行OCR识别、语音识别、文本处理等人工智能相关应用建设运营成本和美国断供等卡脖子风险。

下一步,一方面将基于全栈软硬件信创环境,采用底层GPU资源池化技术,引入更多银行业务场景验证,如OCR识别、语音识别、文本处理等场景,进一步验证GPU池化技术方案的业务可行性,对比不同业务场景下的信创GPU性能指标,为金融应用场景进行安全可控改造提供参考。另一方面,也将验证更多技术路线方案,包括引入其他的GPU资源池化软件、更多型号的信创GPU芯片等,对业务主要技术指标进行对比,进一步推进全栈信创AI产品能力建设。

作者信息:

文 / 华夏银行首席信息官  吴永飞

华夏银行信息科技部  王彦博 陈志豪 徐小芳