下载
EN
注册

计算基础软件全栈智能,加速开发者原生创新

产业开发者生态伙伴高校教育创新中心原生开发

发表于 2024/05/11

5月10日,鲲鹏昇腾开发者大会2024上,华为计算产品线研发总裁鲁鸿驹先生以 《计算基础软件全栈智能,加速开发者原生创新》为主题做分享,他表示:全面升级计算基础软件,昇腾使能大模型时代极简开发,AI使能鲲鹏释放极致算力。

华为计算产品线研发总裁鲁鸿驹

以下为鲁鸿驹发言全文

我们所工作的IT领域是一个充满变化的产业,回顾过去30多年的产业发展,AI大模型正在成为继互联网、移动互联网以后第三波的产业浪潮,将给整个IT产业带来翻天覆地的变化。一方面,AI市场的渗透率速度预计将会远超当年的互联网和移动互联网,在未来2-3年内超越60%市场渗透率。另一方面,根据行业专家的分析,由AI大模型带来的AIGC产业规模正以50%以上的年复合增长率快速增长,在三年内就会超越千亿美金,带来巨大的商业机会。
从技术视角看,AI大模型技术还在进行着快速迭代。更大的模型规模,更长的序列,多模态,强思维这些都要求我们不断迭代和更新所依赖的基础大模型和领域模型。而从应用视角看,智能对话、文生视频、编码辅助等每天都在上线新应用。
AI大模型带来这样高速的发展与变化,对所有IT行业的企业和开发者而言,速度将会决定命运,这将依赖于高效的算力提供。但是,高效的算力运用在今天仍然面临诸多挑战,对AI算力而言,开发者的核心诉求是大模型高效稳定的训练和推理。主要挑战有:

  • 如何跟进快速发展的主流模型和算法?
  • 大模型的训练耗时很长,如何提升算力的利用率,加速训练进程?
  • 随着集群规模变大,故障发生频繁,如何降低训练中断损失?
  • 如何在保证时延的前提下,提升推理的吞吐,从而降低规模推理的成本?

对于通用算力,开发者的核心诉求是应用的极致优化和快速上线。为了更好的应对这些挑战,鲲鹏昇腾基础软件栈进行了全面升级。接下来将分鲲鹏和昇腾两个部分介绍。
首先是昇腾基础软件。为了让各种大模型在昇腾集群上训的好、推的快,我们对昇腾AI基础软件做了6大全栈升级。包括:

  • 在硬件使能层,应用使能层CANN提供完备的大模型融合算子,使能业界主流大模型开箱即用。
  • 在框架层,昇思MindSpore升级多维并行加速能力,为大模型训练并行执行提供最优策略。
  • 在应用使能层,昇腾加速库 MindSpeed 提供大模型训练加速能力,兼容业界的主流生态;昇腾推理引擎 MindIE 提供调度、服务化和量化的能力,使推理变得更加简单高效;围绕集群高可用,MindX DL 提供智能健康监测和自动恢复能力,让大模型训练更加稳健。
  • 在开发使能面上,MindStudio升级了大模型调试调优能力,让大模型开发更加简单高效。

以下将讲述这些升级的能力如何通过全栈协同优化帮助开发者进行模型训练、推理和开发调试。

训练的挑战就是如何让客户开发的模型能够在昇腾算力集群上跑起来,最好是开箱即用。围绕这个目标,我们从算子库的完备性、AI框架、原生支持三方库三个维度来提升能力。

  • 在算子库的完备度上,CANN目前已全面支持主流大模型所需要的基础算子和80多个大模型融合算子。Ascend C提供60多个高阶API,使能开发者自主开发高性能算子和构建自有的加速库。
  • 在AI框架能力上,昇思MindSpore提供多级编译的能力,让开发的效率倍增。同时我们进一步完善了昇腾对PyTorch API的支持,覆盖度已达到95%。另外,为了让开发者更好的在昇腾上使用业界主流的三方库,我们通过社区代码贡献的形式,原生支持huggingFace 和 Deepspeed等社区的主流能力。
  • 另外,为了让开发者更好的在昇腾上使用业界主流的三方库,我们通过社区代码贡献的形式,原生支持 huggingFace 和 Deepspeed等社区的主流能力。

通过这些基础软件能力的升级,昇腾做到了主流大模型100%支持,预置模型分钟级的开箱使用,易用性极大的提升。
大模型调好之后,接下来是长周期的训练。目前一个千亿到万亿规模的大模型,往往需要训练几个月的时间。能否通过基础软件的优化来加速这个过程,实现模型的快速迭代?
昇腾基础软件从计算、通信、并行和内存四个维度进行了全面优化,最大程度提升了大模型的训练速度。

  • 在计算优化上,通过大模型融合算子性能提升30%;
  • 在通信优化上,通过通算融合和集合通信算法创新,实现通信效率提升15%;
  • 在并行算法上,提供8维并行算法,同等算力规模下,训练性能提升8%;
  • 在内存优化上,通过选择性重计算策略,内存节省35%。同等卡数下能够支持更大参数规模的模型训练。

基于上述优化,我们将昇腾算力集群的算力利用率提升了17%,训练时长同比缩短17%,更好的支撑客户大模型快速迭代。
训练不光要快,还要稳。随着大模型规模不断的增大,AI算力集群规模也在增加。但集群规模越大,故障频率就越高。根据我们的计算,集群规模达到10万卡的时候,一个算力集群MTBF会缩短到2-3小时。算力集群的高可用已经成为大模型常稳训练的关键。
昇腾算力集群通过软硬协同的优化,保障开发者的训练任务稳定运行:

  • 训练前,提供健康状态监控和预防性维护的能力,确保训练启动时系统处于最佳的状态。
  • 训练中,支持300+典型故障的实时自动检测和隔离,确保早发现早处置。
  • 故障发生后,通过分布式缓存加速、集合通信的快速建立,超大规模的集群故障发生后的任务恢复的时间从小时级降低到30分钟以内,今年将进一步优化到10分钟。

这些关键能力的提升帮助我们将常稳训练的时间提升到30天以上,大大的提升了训练的效率。
要实现大模型的商业正循环,不能仅仅是训的快,训的好,还得推的快,推的高效。推理需要同时兼顾时延和吞吐。时延决定最终用户的使用体验,吞吐决定规模推理的系统成本,进而决定是否能够实现盈利。
昇腾推理基础软件通过全栈联合优化降低时延,提升吞吐效率:

  • 首先,我们通过对集合通信算法的优化和核心算子的通算融合,将推理的时延降低了60%。
  • 基于推理引擎 MindIE 启发式并行解码,进一步将平均推理的时延降低2倍。
  • 创新的自适应量化压缩,可以在不影响推理精度的情况下减少访存开销,将系统的吞吐率提升30%。
  • 叠加并行算法优化和细粒度的作业调度,进一步将系统吞吐提升30%。

这些关键能力的协同优化,帮助我们在满足时延的条件下,将推理的吞吐提升6倍,大大降低了推理成本。
大模型推理是很复杂的过程,昇腾推理引擎 MindIE 可以帮助开发者轻松完成。以当前最热的OpenSora为例,开发者只需要三步就可以完成文生视频。第一步将OpenSora模型导入到MindIE进行编译,第二步配置工作流参数,第三步生成视频。
当前,模型规模更大、序列长度更长,单机放不下,需要引入多机推理。这时如何降低通讯时延,达成MOE负载均衡同时提升NPU内存使用效率成为主要的挑战。为了应对这些挑战,我们提供了完整的弹性推理的解决方案:

  • 首先是多机低时延通信技术。通讯的时延占比降低50%,为弹性推理提供了通信基础。
  • 其次,支持MOE动态调度,达成专家负载均衡,提升NPU使用效率,支持参数规模可以平滑扩展至万亿乃至更大的规模。
  • 最后是序列并行推理。降低NPU内存占用,支撑序列长度从K级到M级弹性推理。

以上的特性,只需要开发者进行简单的资源配置即可使用,让弹性推理触手可及。
大模型开发过程中性能调优是非常耗时的工作,典型场景至少需要2周的时间。为了提升开发体验,MindStudio在代码、框架、通信和算子方面升级了调优的能力。
昇腾算子开发工具链进行了功能升级,着重强调三个能力。

  • Ascend C支持C/C++编程风格,计算内存同步抽象,使能代码量降低30%。
  • 提供在板调试的能力,调试效率提升5倍。
  • 在调优方面,推出多级指令流水线,快速识别性能优化点。

最终能够帮助开发者将典型算子开发效率从两个月提升到两周。


鲲鹏基础软件的技术升级,核心变化是使用AI的能力全面升级鲲鹏基础软件,为应用释放鲲鹏的极致算力:

  • 首先是操作系统,我们围绕五大领域持续创新,助力openEuler成为AI时代性能最优的OS。
  • 其次,在开发阶段,鲲鹏DevKit 智能识别应用计算模式,自动实现代码优化。
  • 在构建阶段,我们将AI能力注入编译器中,实现编译选项自动调优,内存数据最佳排布。
  • 在运行阶段,鲲鹏BoostKit 通过AI动态感知业务特征,开展全栈优化,提升系统性能。
  • 最后,使用AI模型优化传统数值计算方式,让高性能计算速度更快、更准。

在操作系统方面,我们的目标是在openEuler中持续贡献,共同打造AI时代的首选OS:
在计算子系统,通过自动感知负载,实现计算任务的智能调度和功耗调解,计算的能效提升15%。
在存储子系统,通过动态内存大页、自适应NUMA等技术,将内存管理和应用特征灵活匹配,实现文件读写等访存密集类应用的性能提升。
在网络子系统,通过用户态协议栈、网络加速等技术,降低端到端网络时延15%。
在多样性计算上,openEuler通过异构内存管理等技术,提升多样性算力的利用率。
在安全方面,提供了HiTLS高性能密码组件、软硬协同算法优化,以及精密计算统一框架,性能提升55%以上。
可喜的看到,得益于整个社区的持续投入和创新,openEuler系操作系统已经得到了国内客户的广泛认可。2023年新增算力市场份额第一,达到36.8%。openEuler社区版本全球下载量达到239万,社区日活开发者超过4000人,成为操作系统领域最活跃的开源社区。
未来十年是计算架构创新的黄金时代,计算架构快速演进,应用日趋复杂。如何编写高性能代码,使其匹配新的计算架构,充分发挥硬件能力,需要开发者对应用计算特征、指令集、微架构等了然于胸。这需要丰富的领域知识和开发经验,技术挑战非常大。
DevKit最新推出的鲲鹏亲和代码优化功能,结合AI技术辅助编程,适配硬件架构,自动生成最优代码。典型场景下应用性能提升10%-30%,让普通开发者也能具备专家级优化能力。

对于应用开发者而言,编写完代码后下一个挑战就是选择合适的编译选项对自己的程序进行编译优化,使其在不同计算平台上都能获得良好的性能。我们为鲲鹏编译器引入AI能力,学习程序特征,辅助编译优化。
其中,编译选项自动调优,智能搜索编译选项空间,找到最佳组合,主流场景性能提升5%,相比人工调优,时间缩短50%。
内存数据排布优化,通过AI模型识别冷热数据,匹配多级内存架构,实现数据的智能预取,将访存密集型应用提升10%以上。
有了AI辅助的编译优化,开发者无需再理解复杂的编译选项,大幅降低了编译优化门槛。
接下来是应用上线环节。过去,我们一次配置好系统参数,很少再调整,但整个计算任务对运行环境的要求不同,很难做到动态最优。在真实的场景下,很多数据中心服务器的利用率低于50%。
BoostKit推出了负载感知加速系统WAAS,可以基于每个计算任务深度调优,启用最优的加速库,自动配置全栈最优参数。我们在华为云数据中心进行实测,在不修改代码的情况下把计算资源的利用率提升20%。针对计算密集型的场景,可以在同等物理资源配置的情况下,业务性能提升50%。
高性能计算作为“计算金字塔尖上的明珠”,广泛存在于气象预测、油气探测、制造和生物等领域。它的工作特征是计算耗时长,问题复杂难以求解。传统的高性能计算是基于物理公式和数学方程精准的进行计算,具备可解释性,但耗时长。与此同时,很多客户拥有非常宝贵的海量历史数据,是否可以通过AI训练,以历史数据为样本,形成领域的专业模型,以推理替代部分复杂计算过程,从而实现高性能计算的应用加速。
这是全新的高性能计算和AI融合计算模式,集成精准计算和AI快速推理的两个优势,计算效率大幅提升。
融合计算模式以AI4S加速库的形式落入高性能计算加速套件中。通过一套标准API简单方便调用,可以一键部署,开箱即优。我们已经和自然资源部第一海洋研究所合作,将AI4S加速库应用到海浪的预测中。

以上就是今天分享的所有内容,欢迎大家到鲲鹏昇腾社区的基础软件板块体验。期待我们的计算基础软件能够帮助大家更高效的创新,达成更好的业务结果。
计算基础软件是广大鲲鹏昇腾开发者共同的合作成果,借此机会,真诚感谢大家的支持和贡献。谢谢大家!

上一篇

基于昇腾AI | 中科昇腾推出全新AI微服务产品,加速大模型应用

下一篇

昇腾AI基础软件全面升级,激发开发者原生动力,突破创新边界