点击查看完整活动回顾:https://my.oschina.net/u/4489239/blog/11105657
点击跳转 5 月 18 日深圳源创会预告:https://www.oschina.net/event/2332004
4 月 20 日,第 102 期源创会在武汉成功举办。本期邀请来自武汉人工智能研究院、华为、MindSpore、京东云、Gitee AI 的人工智能专家,围绕【大模型竞技与性能优化】主题发表演讲。华为软件工程师李树桥带来《大模型优化技术在昇腾上的应用与落地》主题演讲,从三方面介绍了昇腾在大模型算力方面的特性,包括开源加速库昇腾原生支持、昇腾自研大模型优化技术、以及基于云原生的生产落地。
首先对于各种开源库的支持,涵盖第三方模型、第三方 AI 框架、第三方加速库、第三方推理服务四大方面。比如对于 Pytorch & Torch NPU 的支持,Pytorch 是一款 AI 框架,可分为两大整体,上层是 Pytorch 部分,下层是 Torch NPU。在上层,昇腾通过注册方式,将原生算子和自定义算子注册到 PyTorch,使得 PyTorch 可以在昇腾中有运行,对于下层的 Torch NPU,通过开源贡献,优化 checkpoint、FSDP、Dataloader 等模块的多设备支持能力,实现原生支持 NPU。
此外,昇腾也支持了 onnxRuntime 通用模型框架。包括 Pytorch、TensorFlow、MindSpore 等在内的不同框架可以保存成 onnx 的格式,onnxRuntime 可以去运行调用统一格式。昇腾的原生支持已经支持了 onnxRuntime 库,使得在对接多框架以及易用性上有很大的便利。
模型压缩方面,DeepSpeed 可对大模型进行压缩,让其可以更好地部署运行,目前也实现了昇腾的原生支持。
对于提供图像处理,机器学习,视频分析等功能的计算机视觉库 OpenCV。昇腾实现后端支持,提供昇腾 NPU 数据结构 AscendMat 和 18 个高频接口,并且多数算子性能提升 30%。
代码迁移方面。基于 Pytorch 和 TorchNPU,实现了 OpenCLIP 对昇腾的原生支持。可以实现 3 行代码将模型迁移至昇腾设备。
其次在昇腾自研大模型优化技术方面。昇腾自研 AscendSpeed 大模型加速库。大模型训练是一种非常复杂的过程,涉及到许多技术和挑战,其中大模型训练需要大量的显存资源是一个难题,对计算卡提出了不小的挑战。 为了在单个计算卡显存资源不足时,可以通过多张计算卡进行计算,业界出现了类似 Megatron、DeepSpeed 等第三方大模型加速库,对模型、输入数据等进行切分并分配到不同的计算卡上,最后在通过集合通信对结果进行汇总。昇腾提供 AscendSpeed 加速库,使能客户大模型业务快速迁移至昇腾设备,并且支持昇腾专有算法,确保开箱可用。
昇腾还提供了一套比较完善的工具链 AIT(Ascend Inference Tools),做为统一推理工具链入口,提供客户一体化开发工具,支持一站式调试调优。
最后,在基于云原生的生产落地方面。K8S volcano 调度器支持昇腾设备的亲和性调度。此外 Kubernetes 昇腾设备插件 Kubernetes Device Plugin 可以将其发现的设备个数上报到 Kubernetes 系统中,当设备处于不健康状态时,上报到 Kubernetes 系统中并删除,设备故障后会自动拉起新容器,挂载健康设备,并重建训练任务。当下,Vicuna 昇腾原生支持的 Space 后端已经使用了 Kubernetes Device Plugin。
扫码观看《大模型优化技术在昇腾上的应用与落地》演讲回放 ⬇️