编辑|Clio
最近几个月,,国产 AI 算力最先麋集跨过一个新的数目级。。。
7 月,,天下产十万卡 AI 超集群完工;;;9 月初,,无锡国产万卡级智算中心一期 2000 张摩尔线程 MTT S5000 GPU 智算卡已所有投入运行,,集群算力需求基本抵达满载;;;国产卡正在进一步向万卡以致十万卡级训练基础设施迈进。。。
无锡(惠山)国产智算中心机房内
集群规模越来越大,,新的问题也随之而来:这些芯片事实能施展出几多现实训练能力???
大模子训练里,,卡数增添的同时,,系统重漂后也会随着上升。。。一块芯片上的算子效率差别,,放到数万块芯片上会一直被放大;;;小规模训练里不太显眼的通讯期待,,到了万卡集群会变得很可观;;;节点数目增添、训练周期拉长之后,,软硬件故障也会更频仍地进入日常运维。。。
因此,,评价一套算力系统,,除了看芯片数目和单卡性能,,还要看算子、通讯、并行调理、故障恢复以及软件栈之间能不可配合起来。。。
最近一个新宣布的模子引起了凯时AG注重。。。
9 月 7 日,,科大讯飞正式宣布星火 X2.5。。。该模子接纳 MoE 架构,,参数规模为 293B-A30B,,重点提升代码和智能体能力,,同时笼罩 200 余种语言,,在语言明确、答题、推理等通用使命上坚持优异效果。。。
其中,,万卡规模国产 910B 集群肩负了模子的预训练和后训练,,线上推理基于国产平台,,并配合多步投契解码提升推理效率。。。值得一提的是,,随着代码和工具挪用能力增强,,星火 X2.5 也最先加入 NPU 算子优化,,AI 最先反过来加入底层算力的优化。。。
通过这次真实的大模子训练,,也可以进一步探讨万卡国产算力面临的几个详细工程问题:算子效率、长上下文处理、万卡通讯和长周期训练稳固性,,以及模子与底层算力之间正在形成怎样的反馈关系。。。
这次星火 X2.5 的训练优化,,也基本围绕这些问题睁开。。。
万卡国产芯片,,怎么真正干活???
可以把大模子训练想象成一座超大型工厂。。。
万卡集群里的芯片,,是成千上万名「工人」;;;显存是存放模子参数、上下文和中心数据的「客栈」;;;通讯网络则是芯片之间交流数据的「运输通道」。。。当规模扩大到万卡级,,盘算速率、显存容量、通讯效率和系统稳固性,,都会直接影响整座「工厂」的效率。。。
而推理和训练,,对这座「工厂」的要求并不相同,,这也是「推理适配」和「天下产训推」的要害区别。。。
推理适配主要解决模子能否在国产芯片上高效安排运行;;;完整训练还涉及参数一连更新、跨卡同步、数值稳固和长周期故障恢复,,因此对整套系统协同提出了更高要求。。。
科大讯飞手艺职员把万卡训练的焦点挑战概括为:算得快、装得下、传得顺,,以及跑得稳。。。
先看「算得快」。。。
对这座工厂来说,,芯片数目决议了有几多「工人」,,算子效率则影响每个「工人」现实醒目几多活。。。模子训练中的 Attention 等焦点盘算,,最终都要通过算子落到芯片上执行。。。算子效率高不高,,会直接影响芯片真正能够施展出几多盘算能力。。。
针对星火 X2.5,,团队围绕国产要害算子举行了定向优化。。???拼笱斗上喙厥忠罩霸碧逑,,其中 Attention 盘算算子效率相比基础实现提升 2 倍以上。。。
单颗芯片算得快还不敷。。。到了万卡规模,,另一个问题是「怎么分工」。。。
训练使命会被拆分到大宗盘算单位上,,若是差别芯片肩负的使命量不平衡,,就可能泛起一部分已经算完、另一部分还在继续运行的情形。。。规模越大,,这种期待越容易被放大,,最终拖慢整个训练历程。。。
针对长序列训练,,星火 X2.5 接纳连系动态负载平衡的长序列并行方案,,让差别盘算单位肩负的使命越发平衡。。???拼笱斗上喙厥忠罩霸碧逑,,该方案使长文本训练效率相对提升 30% 以上。。。
第二个问题是「装得下」。。。
模子越大、上下文越长,,无论训练照旧推理,,需要处理和暂存的数据都会增添,,「客栈」压力也会随之上升。。。这里比拼的并不但是显存容量,,还包括怎样镌汰长上下文带来的盘算和资源开销。。。
在模子结构层面,,为提高长程使命的推理效率,,星火 X2.5 引入希罕注重力机制和跨层共享希罕注重力索引,,进一步镌汰资源开销。。。
希罕注重力的思绪,,是把更多盘算集中到真正需要关注的信息上,,镌汰不须要的盘算;;;跨层共享索引,,则让差别盘算层复用已经建设的索引,,镌汰重复开销。。。简朴说,,就是只管少做无效盘算,,也少做重复事情。。。
第三个问题是「传得顺」。。。
到了万卡规模,,「运输」也会成为瓶颈。。。大模子训练不是每张卡各算各的,,差别芯片之间需要一连交流训练数据和状态。。。集群越大,,通讯关系越重大,,一旦数据传输跟不上,,前面的盘算能力就会被期待时间吃掉。。。
尤其在超长序列训练中,,序列被拆分到更多盘算单位之后,,跨卡通讯还会进一步增添。。。
针对这一问题,,星火 X2.5 在通用通讯优化之外,,还针对超长序列带来的通讯开销,,引入通讯压缩、分层通讯和盘算并行等方式。。???拼笱斗上喙厥忠罩霸碧逑,,相关训练效率提升 10%。。。
其中,,通讯压缩可以镌汰需要交流的数据,,分层通讯则凭证差别层级的互联关系组织数据交流;;;再连系通讯遮蔽等机制,,目的都是只管降低超长序列训练中的通讯开销和期待时间。。。
最后是「跑得稳」。。。
工厂规模越大、运行时间越长,,装备故障越难完全阻止。。。关于万卡训练来说,,真正主要的是能不可尽快发明问题、隔离问题,,并把受影响的训练使命恢复起来。。。
科大讯飞相关手艺职员体现,,在训练稳固性包管方面,,星火 X2.5 连系国产芯片提供的全域异常检测能力,,基于对数十万训练使命的问题剖析,,实现了使命设置训前校验、训中卡死自动检测、失败使命自动重提、历史牢靠报错节点自动剔除,,以及故障时历程级快速恢复和作废使命时的临终 checkpoint 生涯,,机械有用训练时长凌驾 97%。。。
checkpoint 即训练历程中的「存档」。。。训练运行到一定阶段后生涯目今状态,,一旦后续泛起故障,,就可以从较近的状态继续恢复,,而不必重新最先。。。
以是,,万卡集群的价值并不但由芯片数目决议,,还需要整套训练系统能否恒久稳固运行并高效协同。。。
模子训出来之后,,还能做什么???
星火 X2.5 这次重点提升的,,是代码和智能体能力。。。
训练阶段,,模子围绕数学、编程、智能体工具挪用和指令遵照等使命开展大规模强化学习,,并训练差别领域的西席模子,,再通过多西席在线战略蒸馏(MOPD),,使用学生模子在线天生的轨迹构建针对差别能力的训练信号,,将多个西席模子的优势有用整合到统一的宣布模子中。。。
简朴说,,就是让各有所长的「先生」划分指导,,再把这些能力汇总到一个模子中。。。这些能力在代码使命上的体现较量直观。。。
此次披露的测试笼罩 Terminal Bench、SWE Pro、SWE Verified、SWE Multilingual、NL2Repo 和 SciCode 等使命。。。它们关注的内容已经延伸到终端操作、真实代码客栈修改、多语言软件工程和科学编程等场景。。。
我们来看几个现实演示。。。
在 Web 前端天生案例中,,用户只需要给出自然语言需求,,模子就可以连系图像天生等工具完成一个完整网页,,从页面结构、视觉设计到转动动画和交互效果,,都包括在统一个使命里。。。
视频链接:https://mp.weixin.qq.com/s/2azmEAjY-RQdbbBt-eJHUw
视频链接:https://mp.weixin.qq.com/s/2azmEAjY-RQdbbBt-eJHUw
而在人机交互案例中,,模子还需要将视觉识别与角色反馈连系起来。。。好比,,用户要求制作一个可以通过手势与像素风猫咪互动的网页,,模子需要完成摄像头挪用、视频流处理、手势识别,,并将差别行动映射为猫咪的响应反馈,,如靠近、击掌、宽慰等,,同时完成角色动画、交互逻辑和页面调试,,最终天生一个可以直接运行的趣味互动 Web 应用。。。
视频链接:https://mp.weixin.qq.com/s/2azmEAjY-RQdbbBt-eJHUw
这些案例的意义不但在于模子能否天生一个网页,,更在于代码能力和智能体能力正在合流:模子先明确使命及约束,,再把重大目的拆解为多个方法,,挪用工具执行代码,,并凭证过失信息或运行效果一连修正。。。
当这一闭环从网页开发迁徙究竟层软件领域,,模子处理的问题也会从「代码能否准确运行」,,延伸到「在包管准确性的条件下,,代码能否在真实硬件上跑得更快、更高效」。。。算子优化正是这类使命的代表。。。
那么,,当模子具备这种「明确—拆解—执行—反馈—修正」的闭环能力后,,它能否进一步加入自己所依赖的底层算子和软件栈优化???
这就涉及 NPU 算子优化。。。
算子优化自己是一项门槛很高的事情。。。工程师需要明确硬件架构、编程接口、访存方式和性能剖析工具。。。代码能够准确运行之后,,还要继续做性能剖测,,判断时间主要花在盘算、访存照旧数据搬运上,,哪些实现没有充分使用芯片能力,,又应该怎样调解。。。
为了让星火 X2.5 具备这类能力,,科大讯飞在无监视训练阶段,,基于 GitCode 上的优质昇腾算子客栈,,构建包括 CANN 编程规范和典范高性能实现模式的训练语料,,让模子学习昇腾硬件系统下的编程知识;;;进入后训练阶段,,又围绕真实开发场景构建大规模、可验证的算子效率优化使命,,让模子直接在真实 NPU 情形中举行开发设计、性能剖测和迭代优化。。。
可以把这个历程明确成给模子增添了一间「实验室」。。。
模子先写出一版代码,,在真实芯片上运行,,拿到性能效果,,再凭证效果继续修改。。。下一轮重新编译、重新测试,,直到找到更合适的实现方式。。。不过,,这并不料味着模子可以在没有任何条件的情形下自力完成底层系统开发。。。在目今实践中,,使命目的、初始代码、硬件情形和评估剧本仍然需要预先设置。。。模子的作用,,是在这些条件下举行多轮工具挪用和方案探索,,提高部分算子开发与优化环节的自动化水平。。。
DSA 细粒度希罕注重力算子,,是这次披露的一个详细例子。。。
DSA 面向长上下文场景,,通过集中盘算要害部分来镌汰盘算量。。。不过,,希罕盘算也会带来更零星的数据会见,,数据搬运效率会成为新的影响因素。。。
在仅提供基础版 Ascend C 实现、使命形貌和评估剧本的情形下,,星火 X2.5 在昇腾 910B 装备上举行了多轮自主优化。。???拼笱斗上喙厥忠罩霸碧逑,,模子通过约 1600 次工具挪用探索差别性能方案,,最终相比 torch_npu 实现获得 3.5 倍加速。。。
一次万卡训练,,能留下什么???
大模子训练竣事后,,最直观的产品是一组模子参数。。。
但从星火 X2.5 这次训练可以看到,,国产训推的价值正在向多个层面延伸:训练履历可以进一步沉淀为平台能力,,既有优化要领正在向差别国产硬件情形迁徙,,模子自己也最先加入底层算子调优。。。这些转变配合影响着万卡集群能否从基础设施投入,,转化为一连产出模子能力的训练系统。。。
大模子一连更新,,Attention、MoE、长上下文和智能体强化学习一直对算子性能、显存带宽、集群通讯、并行调理和故障恢复提出新要求。。。每一次完整训练,,现实上也是对底层软硬件系统的一次压力测试。。。
若是优化后的算子、通讯战略和恢复机制能够被固化进训练平台,,后续模子就不必重复完成相同的适配事情。。。工程团队也可以把更多资源投入新的模子结构、训练要领和应用使命。。。
这种积累的价值会随着训练次数增添而放大:一次项目中的暂时优化,,有时机逐步转化为能够被后续模子复用的平台能力。。。
进一步的问题,,是这些能力能否从简单硬件情形迁徙到更多国产平台。。。
差别国产 AI 芯片在盘算架构、编程接口、通讯方式和性能剖析工具上保存差别,,迁徙时仍需要重新处理算子实现、并行战略和工具链衔接。。???拼笱斗商逑,,除昇腾外,,团队也在寒武纪 MLU590、中科海光 BW1000 等国产芯片上开展大模子训练效率的适配和优化。。。
因此,,可以进一步关注替换硬件后需要调解几多代码、既有并行战略能够保存到什么水平,,以及迁徙后的性能体现。。。迁徙本钱越低,,既有训练能力笼罩更多国产平台的难度就越小,,针对单个项目形成的优化履历也更容易沉淀为可复用的通用要领。。。
与此同时,,模子自己也最先进入这套工程循环。。。
星火 X2.5 已具备在真实 NPU 情形中举行开发设计、性能剖测和迭代优化的能力。。。前文提到的 DSA 案例,,也体现了这种「天生—运行—反馈—优化」闭环在算子性能调优中的现实效果。。。
这说明,,模子已经能够在真实 NPU 情形中通过多轮工具挪用一连探索更优实现,,能力界线也由代码天生进一步延伸到了现实性能调优。。。随着这一历程逐步成熟,,模子在底层软硬件优化中的加入水平正在进一步加深。。。
于是,,一条反馈链逐渐清晰:国产算力训练大模子 → 模子获得代码和工具挪用能力 → 模子加入 NPU 算子优化 → 优化履历进一步沉淀为工程能力 → 反哺后续模子训推。。。
这套循环既影响目今训练效率,,也影响后续迭代速率。。。算子、通讯和调理优化可以镌汰盘算与期待时间,,故障恢复机制可以提高有用训练时长;;;经由验证的代码、性能数据和优化要领,,也可以进一步沉淀为后续训练可复用的工程资产。。。
回到科大讯飞这家公司,,星火 X2.5 展示的不但是一次模子训练,,而是训练、推理和底层算力适配之间正在形成更细密的手艺联系。。。完成国产算力万卡训练是其中一个主要节点,,而这些环节正在逐渐形成一套相互衔接的手艺系统。。。
随着这些优化一直被验证和固化,,这套系统也有望沉淀出一套可复用的工程能力。。。算子优化、漫衍式训练、故障恢复、软硬件适配和工具链建设,,都可以继续服务后续模子迭代。。。随着工程系统逐步成熟,,新模子的训练、迁徙和安排本钱,,也有望进一步下降。。。
科大讯飞的另一个特点,,在于教育、医疗、企业服务等恒久积累的行业场景能够一连提供真实需求和反馈。。。营业提出新的问题,,模子随之迭代,,底层系统再凭证训练和推理效果一连优化,,由此形成从应用需求到模子升级、再回到营业落地的循环。。。
当这一循环稳固运转时,,天下产训推对科大讯飞而言,,就不但是一次手艺蹊径选择,,而会逐步沉淀为恒久的工程优势。。。