2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

AI 辅助内部研发效率提升,昇腾大模型推理的最佳实践 | AICon

王建辉

  • 2024-06-04
    北京
  • 本文字数:5365 字

    阅读完需:约 18 分钟

AI辅助内部研发效率提升,昇腾大模型推理的最佳实践 | AICon

演讲嘉宾 | 王建辉


以大模型为代表的 AI 技术高速发展,目前 Scaling Law 依然生效,模型参数持续增大,序列不断增长,响应速度越来越快,但大模型商业闭环依赖推理的规模落地,如何在不断提升用户体验的基础上不断降低推理成本,以满足大模型规模落地的诉求,成为大模型推理技术研究的核心关键。为了满足大模型推理规模落地对客户体验和成本的诉求,昇腾推出高性能大模型推理软硬件解决方案,满足客户多样性开发诉求,助力大模型规模落地。


本文整理自华为昇腾计算首席架构师王建辉在 AICon 2024 北京的演讲《昇腾大模型推理最佳实践》,内容经 InfoQ 进行不改变原意的编辑。


华为昇腾计算首席架构师赵英俊将在 6 月 14-15 日即将举办的 ArchSummit 深圳上进一步分享《超大规模 AI 算力集群优化与实践》。此外,阿里巴巴研究员 / 阿里云云原生应用平台负责人丁宇(叔同)将带来《AI 编程如何颠覆生产力》 的 Keynote 主题演讲,在《低代码与 AI 结合》专题上,来自腾讯、网易、蚂蚁集团等企业等技术专家也将深入探讨在低代码环境中集成智能决策、自动化流程,以及构建灵活、高效的应用系统。目前,大会议程已全部上线,感兴趣的同学请锁定大会官网:

https://archsummit.infoq.cn/2024/shenzhen/schedule



我的演讲将分为三个部分。第一部分,我会讨论当前大模型推理的趋势和应用方向,探讨大模型推理对软件和硬件的要求,以及如何评估大模型推理系统的优势和不足。第二部分,我将详细介绍昇腾在大模型推理方向上的解决方案,包括软硬件架构和关键技术。第三部分,我会分享一些与实际应用落地相关的案例。

大模型发展趋势分析


在人工智能领域,随着技术的不断迭代发展,对推理解决方案的要求也在不断提高。从早期的 CNN(卷积神经网络)发展到现在广泛使用的 Transformer 模型,以及最近的 DIT 架构,这些技术的进步对计算资源提出了更高的挑战。


目前,大模型(LLM)已经开始向多模态方向发展,长序列技术已经成为当前应用的主流。不同的技术具有不同的计算特性,例如 Stable Diffusion 或 DIT 架构,它们对算力的需求非常高。Transformer 模型在推理时,对内存带宽的需求也很大,尤其是在使用 KVCache 技术之后。而长序列处理则对内存容量有很高的要求。整个硬件系统需要具备强大的算力、足够的内存容量以及高速的内存带宽。同时,软件也需要能够支持这些硬件的高性能要求。目前,单机可能已经无法满足推理的需求,需要利用多机多卡的并行推理技术。此外,随着推理技术的快速发展,不同的量化技术和压缩技术的应用,对软件的灵活性也有很高的要求。


当前大模型推理应用正在加速成熟,整体来看,美国在这方面的发展速度更快一些,而国内则处于一个跟进的状态。大模型推理的应用首先在 ToC(面向消费者)领域爆发,随后迅速向 ToB(面向企业)领域发展并成熟。


大模型推理的应用通常具有一个特性,即在初期增长阶段不会太快,但一旦过了某个爆发点,其增长速度会非常快,甚至达到 100 倍或 200 倍的增长。从目前客户的情况看,大模型推理的卡已经有上万张卡在同步在线进行推理,千卡集群的推理集群已经非常多。训练和推理对集群的要求有所不同。训练集群构建的关键在于如何实现更大规模的互联,以支持万卡集群同时进行任务训练。而推理的核心追求是降低成本,以满足业务需求。


构建一个领先的推理解决方案,我们围绕业务场景总结并建立了一个评价体系,我们称之为 LACE 指标。这个体系包括推理时延和模型精度,这两个因素直接影响用户体验。此外,还包括吞吐量和并发能力,以及开发的易用性,这两个因素则影响推理的成本,包括线上成本和开发成本。围绕 LACE 开发体系,从业务规划到模型上线,整个过程会经历几个关键阶段。首先是硬件选型,选择合适的硬件对于整个解决方案的性能至关重要。接下来是训练到推理的转换和优化,这个过程涉及模型的压缩和量化,旨在提高性能并降低成本。最后是模型的上线部署,完成整个业务流程。

昇腾大模型推理软硬件方案和关键特性


昇腾针对大模型推理的全流程提供了一整套完整的解决方案。这套方案从底层的硬件开始,其上是昇腾提供的自家研发的硬件使能,确保硬件性能得到充分利用。在硬件使能之上,昇腾构建了推理引擎,能够支持各种推理任务。再往上,昇腾还提供了推理服务化部署的能力,使得推理服务可以灵活地部署和扩展。通过这四层架构,昇腾能够支持从硬件选型、训推转换、模型压缩、推理执行到应用部署的五个关键维度。这五个维度涵盖了从业务规划到模型上线的整个流程,确保了解决方案的全面性和高效性。接下来,我将围绕这五个维度,详细展开当前昇腾的能力,为大家提供一个全面的讲解。

硬件选型


昇腾在硬件选型方面,针对不同的应用场景,提供了不同的硬件方案。昇腾根据模型参数量和时延要求,将应用场景划分为四个象限,每个象限的硬件选型和考量都有所不同。昇腾目前主要提供了两款专用硬件,一款是面向单卡推理或低成本部署的 Atlas 300I Duo,另一款是面向多卡甚至多机推理的 Atlas 800I A2。这两款硬件各有特点,能够满足不同应用场景对硬件能力的需求。


在硬件选型时,需要综合考虑时延和成本约束。如果追求极低时延,计算的 batch size 不能太大,这会提高推理成本。但如果能在时延上做一些权衡,比如将时延要求放宽到 50 毫秒或 100 毫秒,推理成本可以得到显著降低。通过调整 batch size 和提高硬件资源利用率,可以在计算成本和用户体验之间取得平衡。


Atlas 800I A2 硬件采用了 HCCS 全互联架构,具有接近 400GB 的互联带宽,能够支持 LLaMA2-70B 等大模型,实现高吞吐量。而 Atlas 300I Duo 硬件则拥有 96GB 的大内存容量,适用于时延要求不高的场景。例如,在文生图或 Stable Diffusion 等模型中,单卡可以实现 1.5 秒左右完成 50 次迭代,生成一张图片。如果通过蒸馏技术将迭代次数从 50 次降低到 20 次,生成一张图片的时间可以控制在 1 秒内。

推理转换


昇腾在训练模型到推理的转换过程中提供了一整套软件架构,包括昇腾推理引擎 MindIE,它涵盖了推理运行时以及与 Mindspore 和 Pytorch 框架的对接。昇腾的硬件支持 Mindspore 训练出的模型直接进行推理,并致力于打造训练推理一体化的 AI 框架,实现底层 MindIE-RT 与多种推理部署方式的结合。对于 Pytorch 训练的模型,昇腾通过 Pytorch 插件快速实现模型从训练到昇腾推理平台的迁移和适配,仅需大约 10 行代码,性能可达 0.8-0.9 倍于纯离线推理。


昇腾还提供了 MindIE-RT,支持自动构图开发工作流,实现从框架导出图到昇腾底层执行图的快速转换。对于大语言模型,由于图开发体系的挑战和新技术的快速迭代,昇腾也支持手动构图或手动开发,以快速构建并优化性能。


昇腾提供一站式开发工具 MindStudio,支持算子、模型和应用三层开发,提供迁移分析工具、精度比对、改图、性能优化和快速部署能力。借助 MindStudio,模型在昇腾平台上的迁移和优化可以在 3-15 天内完成。


昇腾强调训练和推理的同构能力,即在推理硬件上或相同底层硬件架构的设备上进行训练,以保持精度无损。昇腾还提供 Ascend C 编程语言,支持自定义算子开发,这对于大模型推理中 Attention 算子的灵活性和性能至关重要。尽管从 CUDA 或 GPU 开发习惯适配到昇腾平台需要一个学习过程和成本,但昇腾的开发体系能够使客户快速开发出高性能的算子。例如,昇腾的客户能够将五次内存访问的操作通过超大融合算子减少到一次内存访问,显著提升大模型推理性能。

模型压缩


昇腾在模型压缩方面支持当前大模型推理中常用的优化算法,包括量化算法 W4A16、W8A16 以及 W8A8 等权重量化技术和量化算法。在 W8A8 量化方面,由于大模型激活值的特性,存在大量异常值需要抑制。昇腾通过异常值抑制和自适应 PTQ 量化算法,避免了在量化过程中引入微调的需求,这些算法在模型量化中变得非常重要。


昇腾在 W8A8 量化上能够将精度损失控制在 0.5% 到 1% 的范围内,这与测试数据集的抖动和变化有关。量化之后,整体业务成本可以降低约 30%。利用昇腾硬件的特性,如 Atlas 300I Duo,昇腾还支持权重随路解压缩能力,这要求对模型进行稀疏处理。经过权重稀疏处理后,模型权重的内存搬移量可以进一步压缩 30% 到 50%,从而进一步提升大模型推理的性能。


在大模型推理领域,加速技术的发展非常迅速,包括开源算法、软件、论文以及新技术的快速演进。Continuous Batching 和 Paged Attention 算法,动态调度和节省内存的技术,已成为大模型推理中的一个必备技术。除了 Continuous Batching 和 Paged Attention,并行解码技术也发展迅速,昇腾希望利用这项技术充分利用算力。


大模型推理对内存带宽的要求非常高,同时对卡间或机间的通信时延也有高要求。与训练阶段优化通信的思路不同,推理阶段的目标是最小化单次通信时延。实验表明,有时增加通信量反而能减少调度时延,从而降低整体通信时延。降低通信时延后,可以实现更大的并行域,如从 TP8 扩展到多机 TP16,这在单机临界点的应用场景中带来了显著的性能提升。


昇腾在内部模型验证中发现,在 32K 序列长度级别,通过多机对比单机,平均单卡吞吐量能提升接近 6 倍。此外,昇腾还关注多机推理方案,类似于训练集群的参数面组网,通过一层组网实现多机推理。


针对 Kernel 的融合优化,昇腾根据硬件特性进行融合算子优化,以降低内存频繁读写问题,提高内存带宽利用率,从而提升推理性能。Flash Attention 算子最初是针对 GPU 计算特性提出的,但昇腾发现它可能不是与昇腾硬件最亲和的算子。因此,昇腾根据硬件结构特性重新设计了 attention 算子,以提高执行效率。并行解码技术有多种形式,如 Lookahead 算法,它是一种自投机算法,可以在不重新训练小模型的情况下发挥作用。Lookahead 算法对序列长度和输出长度有一定限制,但在其要求的范围内,能够显著降低推理时延,提升吞吐量。


小模型加大模型的投机推理也是一种有效方法,但需要生成一个小模型,这有一定难度。昇腾在这一方向进行了测试和验证,发现在序列长度约 2K 和 batch 在 100 以内时,吞吐量能提升约 40%,推理时延也降低约 40%。


通过 reference 方式提供投机来源,也能在代码生成场景下提升约 60% 的吞吐量。这些算法对底层 attention 算子的要求非常高。昇腾正在努力实现一套能够整合不同并行解码算法的系统,同时结合并行解码特性和 Continuous Batching 和 Paged Attention 的特点,以形成一个面向产品化的完整并行解码系统。


昇腾在集群方案方面有两个主要目标。首先,昇腾希望支持万亿级别的大模型推理,即在昇腾平台上能够处理具有高达万亿参数量的模型。其次,昇腾还计划支持百万级别的序列长度,指的是直接进行硬推理的能力,而不是采用近似计算或 streaming LLM 的方式。昇腾的目标是实现直接计算,能够达到百万级序列长度的处理能力。

推理执行


昇腾目前支持业界主流大模型在其平台上进行推理,包括开源模型和业界常见的模型。昇腾的性能表现相当出色,能够达到 1.5 倍或 1.8 倍于业界平均水平。例如,LLaMa3 模型发布后的第二天,昇腾就完成了其训练和推理的适配工作。如果客户需要,他们可以立即在昇腾平台上对 LLaMa3 的 8B 和 70B 版本进行训练和推理验证,包括场景化调优和上线部署。昇腾在大模型训练和推理的业界跟进和适配速度方面相对较快。


为了加快大模型训练完成后到推理部署上线的整个过程,昇腾自研了 MindIE-Service 服务化部署能力。此外,昇腾还支持与业界开源软件 vLLM 和 TGI 的对接,并提供了相应的对接方式。这表明昇腾在推理服务化部署方面具有强大的自研能力和良好的兼容性。

应用服务


昇腾的软件栈能力在应用服务方面是分层开放的,这意味着昇腾能够支持不同客户和不同场景的对接需求。如果客户拥有自研的推理引擎,昇腾可以提供底层的算子和加速能力,包括底层的算子和加速库,以便于与客户的推理引擎进行对接。对于那些拥有自己服务化能力和框架的客户,昇腾在推理引擎层面提供对接支持。而对于需要一整套完整推理应用的客户,昇腾可以提供从服务化到引擎,再到底层算子的全栈解决方案,以支持客户的全面对接需求。

应用案例与关键进展


昇腾在应用案例与关键进展方面已经取得了显著成果。目前,昇腾与多家头部客户合作,共同打造了大模型一体机,实现了大模型在训练和推理上的一体化应用,覆盖了办公客服等场景。


在华为内部,昇腾也在会议场景和面向 10 万研发人员的代码研发辅助场景中大量应用了大模型。华为计划将内部研发的代码生成和辅助开发场景制作成 demo,并将其开源,以支持业界的发展。


在视频生成领域,昇腾通过 MindIE-SD 支持 open sora 进行开发工作。目前,昇腾能够实现仅需修改少数几行代码,就能让 open sora 模型在昇腾平台上运行。在视频生成效率方面,昇腾当前能够在大约一分钟内生成 20 秒的视频。预计到年底,昇腾希望能够在一分钟内生成 60 秒的视频,这将是一个显著的性能提升。

活动推荐

本届 ArchSummit 会议上,重点聚焦 AI 大模型技术在各行业的落地实践, 顺丰集团、众安银行、天弘基金、鸿海科技集团、宁德核电、广发证券、微众银行介绍大模型技术的应用效果 。会议上还设置了大模型应用、架构升级、智算平台、AI 编程、成本优化等专题和话题内容。如您感兴趣,可点击「阅读原文」查看更多详情:https://archsummit.infoq.cn/2024/shenzhen/schedule

购买票数越多,享受的优惠也就越丰厚,可以联系票务经理 17310043226 , 锁定最新优惠。


2024-06-04 17:5411071
用户头像
AICon 全球人工智能开发与应用大会 一起探寻人工智能和大模型的边界!

发布了 160 篇内容, 共 90.6 次阅读, 收获喜欢 48 次。

关注

评论

发布
暂无评论
发现更多内容

TiDB上云之TiDB Operator

TiDB 社区干货传送门

集群管理 TiDB 底层架构 管理与运维 数据库架构设计

干啥啥都行,这次又拿了第一名!

青藤云安全

网络安全 主机安全 青藤云安全

工作多年,技术认知不足,个人成长慢,职业发展迷茫,该怎么办?

测试人

软件测试 自动化测试 测试开发

网站停服、秒杀大促…解析高可用网站架构云化

华为云开发者联盟

云计算 后端 华为云 企业号十月 PK 榜

如何通过机器学习赋能智能研发协作?

LigaAI

人工智能 智能化 LigaAI 研发协作平台 亚马逊云科技

对比四大智能合约语言:Solidity 、Rust 、 Vyper 和 Move

One Block Community

区块链 程序员 编程语言 Solidity Move

记一次TiDB数据库报错的处理过程

TiDB 社区干货传送门

管理与运维

Etcd API 未授权访问漏洞修复

TiDB 社区干货传送门

监控 实践案例 故障排查/诊断

CSS写一个圣诞树Chrome浏览器小插件

肥晨

11月月更 css写圣诞树 Chrome插件

武汉web前端培训学习前景如何

小谷哥

GPU服务器到底有什么作用?

Finovy Cloud

云渲染 GPU渲染 云渲染平台

佛萨奇1.0 2.0矩阵公排项目系统开发详情

开发微hkkf5566

文盘Rust -- 把程序作为守护进程启动

TiDB 社区干货传送门

开发语言

4步消除漏洞积压

SEAL安全

漏洞修复 软件供应链安全 漏洞管理 11月月更

基于OpenHarmony L2设备,如何用IoTDeviceSDKTiny对接华为云

华为云开发者联盟

云计算 华为云 企业号十月 PK 榜

固定QPS异步任务功能再探

FunTester

学历通过大数据培训学习合适吗?

小谷哥

软件测试 | 测试开发 | 工作多年,技术认知不足,个人成长慢,职业发展迷茫,该怎么办?

测吧(北京)科技有限公司

测试

我偷偷学了这5个命令,打印Linux环境变量那叫一个“丝滑”!

wljslmz

Linux 运维 环境变量 11月月更

修改ElementUI样式

源字节1号

软件开发 前端开发 后端开发 小程序开发

COSCon'22 第七届中国开源年会圆满落幕

腾源会

开源

在web前端学习中如何学习知识点

小谷哥

大专学历通过大数据培训好找工作吗?

小谷哥

用低代码平台搭建低代码平台

iofod jude

Spark+ignite实现海量数据低成本高性能OLAP

张磊

大数据 spark 分布式数据库 Ignite 内存计算

文盘Rust -- 起手式,CLI程序

TiDB 社区干货传送门

开发语言

使用Online unsafe recovery恢复v6.2同城应急集群

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 数据库架构设计 6.x 实践

自学前端达到什么水平才能找到工作,来看这套前端学习路线图

千锋IT教育

新能源锂电池极片制造设备如何实现故障智能诊断?

PreMaint

智能诊断 故障诊断 新能源 设备健康管理

java培训学习后怎么样

小谷哥

AI辅助内部研发效率提升,昇腾大模型推理的最佳实践 | AICon_华为_InfoQ精选文章