“夸娥(KUAE)智算集群发威,摩尔线程斩获6.6亿元合同订单”——说实话,看到这条消息的时候,我第一反应不是“国产GPU又行了”这种情绪化的判断,而是赶紧去扒了一下订单背后的东西:这6.6个亿到底买的是什么?是纯硬件,还是整套智算集群解决方案?交付周期多长?最终用在什么场景?因为干这行久了你就知道,新闻标题里一个“订单”两个字,背后的技术含量能差出十万八千里。
我本身是搞AI基础设施的,这几年经手过不少国产算力项目,从单卡测试到几十卡小集群都摸过。摩尔线程的MTT S80、夸娥KUAE这些名字,在圈子里其实早就不是陌生词了。但“6.6亿元合同”这种量级的落地,说明它已经从“能跑demo”跨到了“能接商用单子”的阶段,这就值得认真聊一聊了。
这篇我不打算念新闻稿,就从一个算力从业者的视角,拆一拆夸娥智算集群的核心技术点,聊聊国产GPU在深度学习场景里到底卡在哪、解决到哪一步了、以及拿到这类集群之后,你作为使用者该注意什么。
1. 6.6亿订单背后的算力版图:先读懂这场“中量级”突围
1.1 订单规模意味着什么
先从商业角度看。6.6亿元在算力采购这个圈子里是什么体量?对比一下,一张主流训练卡(如果是国际大厂的旗舰型号)单价大概大几万到十几万,6.6亿如果全部折算成单卡,少说也是几千张卡的规模。但更关键的是,这不太可能是一笔“纯显卡采购”,大概率是“智算集群整体交付”,也就是包含GPU服务器、高速互联网络、分布式存储、调度平台、基础框架适配的一整套交钥匙方案。
这也是夸娥(KUAE)这个品牌的定位。它不是一个单卡产品,而是摩尔线程面向智算中心场景推出的集群级解决方案。换句话说,这笔订单标志着一个转折点:客户愿意为整套国产智算集群买单,而不是零散买几块卡回去自己折腾。这在国产算力商业化进程里,是一个很实在的里程碑。
从需求的侧写来看,敢签这种订单的客户,通常有三类画像。第一类是地方的智算中心建设方,需要快速拉起一个可供本地高校、中小企业租用的公共算力池;第二类是有大模型训练或推理业务的大型企业,对数据主权和供应链安全要求高,必须把算力掌握在自己手里;第三类是做行业大模型的应用厂商,比如垂直领域的医疗、金融、交通模型,需要稳定、可控的训推一体环境。这三类客户有一个共同点:他们要的不是“某张卡跑分多高”,而是“整个系统能不能稳定跑业务”。
1.2 为什么说这是“中量级”而非“小打小闹”
很多人一听到国产GPU,就喜欢拿它跟国际旗舰卡对比spec、比跑分,这其实走偏了。在智算集群这个层面,真正的难点从来不是单卡算力,而是“多卡能不能协同”。一颗芯片只要流片成功,跑出官方标称算力,那只是第一步;真正做到让一千张卡在一个集群里高效协作,不互相拖后腿,才是商业化落地的生死线。
夸娥这个订单能到6.6亿,说明摩尔线程在“集群能力”这一关已经迈过去了。它不再是实验室里的展示品,而是被客户认可为可以承载真实业务负载的算力底座。或者换个角度说,如果只是卖单卡,根本拿不到这种体量的合同;能签这种合同,意味着产品已经从“元器件”变成了“基础设施”。
这里还得补充一个容易被忽视的点:这类商用合同通常附带有严格的验收指标,比如集群可用性要达到99.9%以上、千卡规模下的线性扩展效率要不低于某个百分比、主流大模型训练任务要能稳定跑完多少个迭代不中断。能把这样的合同条款扛下来,本身就是一种技术背书。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 夸娥(KUAE)智算集群的核心技术逻辑:别只盯着GPU,那只是冰山一角
2.1 硬件协同:从单卡到千卡集群的互联设计
讲智算集群,首先绕不开的是硬件架构。夸娥集群的核心计算节点用的是摩尔线程的GPU产品,比如大家比较熟悉的消费级MTT S80,以及面向数据中心的加速卡系列。但要支撑起千卡级别的集群,光有GPU是不够的,三个硬骨头必须啃下来。
第一是高速互联。在集群训练中,卡与卡之间的通信会直接决定扩展效率。如果用普通的TCP/IP网络,多卡训练的通信延迟会高到让人崩溃;目前主流的思路是采用RDMA或者类NVLink的高速互联方案,把卡间通信延迟压缩到微秒级。夸娥在这块是结合自研的互联技术来做多卡拓扑的,这样才能在千卡规模下,让梯度同步、模型参数聚合这些操作的耗时控制在可接受范围。
第二是存储与数据流水线。大模型训练对存储的要求是“高带宽+低延迟”,因为每一轮迭代都要读取海量训练数据,如果存储跟不上,GPU就只能空转等数据。智算集群一般会配并行文件系统,把数据打散到多块NVMe SSD上并行读取,配合缓存技术,把数据预取到显存附近。这块做得不好,哪怕GPU再强,整体利用率也上不去。
第三是散热与功耗管理。这一点很多人忽略,但在实操里特别要命。一千张卡跑起来,机房功耗是兆瓦级别的,散热系统跟不上就会频繁降频,导致训练速度骤降。商用集群在这块必须做精细的功耗监控和动态调频,在性能和功耗之间找平衡。
2.2 软件栈:MUSA加上调度平台,集群才真正“可算可用”
硬件只是骨架,软件栈才是灵魂。摩尔线程的GPU用的是自研MUSA架构,对标的是CUDA的编程模型。这里面的关键问题是生态兼容性:用户之前用CUDA写的代码,迁移到MUSA上要改多少?能不能做到“小改即可跑”?
从实际体验来看,MUSA提供了一整套开发工具链,包括编译器、运行时库、数学库、通信库等,兼容性已经做到了相当高的程度。很多基于CUDA写的算子,通过MUSA提供的迁移工具,可以自动转换成MUSA版本,人工介入的代码量不大。这种兼容策略非常务实,因为在这个行业里,谁能让已有的代码资产不贬值,谁就更容易获得开发者支持。
除了开发工具链,集群级的管理平台也是关键。一台服务器和一千台服务器,管理复杂度根本不在一个量级。夸娥集群配套的平台需要承担几类任务:一是资源调度,动态分配计算节点给不同训练任务,优先级高的任务能抢到更多资源;二是监控告警,实时采集每张卡的利用率、温度、显存占用,一旦异常立刻告警;三是作业管理,支持训练任务的提交、排队、断点续跑。
从我自己的使用经验看,国产算力集群能不能被客户接受,软件栈的成熟度比硬件参数更重要。因为客户买回去不是当摆设的,是要真的跑业务、跑模型的。如果软件栈不好用,业务团队用起来处处难受,再便宜也没人愿意接。
2.3 训推一体的架构思路:一张网覆盖所有场景
夸娥集群还有一个值得说的点,是它强调的“训推一体”。过去很多智算中心只规划了训练场景,推理需求则单独买一批推理卡,这会导致资源利用率不均衡。训练任务高峰期,推理资源闲置;推理请求爆发时,训练资源又没法腾出来。
训推一体的思路是:用同一套集群架构,通过调度层对任务类型做区分,需要大显存、高算力的训练任务分到大partition,推理任务则根据时延要求动态分配资源。这样一套集群就能兼顾离线的模型训练和在线的推理服务,资源池的运营效率会高很多。
这个架构切中了很多自建算力平台客户的痛点。因为对于大多数企业来说,训练和推理不是完全割裂的两个业务,而是同一套模型生命周期的不同阶段。一套通用的基础架构,能够显著降低运维复杂度和闲置成本,这也是夸娥这类智算集群方案的核心卖点。
3. MTT S80在深度学习场景的真实定位:它不是“游戏卡”,但别小看它
3.1 消费级卡为什么能扯上深度学习
很多人的认知里,MTT S80是摩尔线程的消费级显卡,主要用于办公和游戏,跟深度学习沾不上边。这种认知在早期是对的,但现在已经过时了。别忘了,深度学习框架的根本操作是矩阵乘法和卷积运算,这跟图形渲染里的顶点变换、纹理映射在底层逻辑上有大量重合。所以即便是消费级GPU,只要显存够、驱动到位、算子库齐全,就能拿来跑深度学习。
我自己实测过MTT S80在深度学习任务上的表现。一个中等规模的CV模型(比如ResNet-50级别的图像分类),在S80上做推理是完全没问题的,延时在可接受范围内;做小规模的模型微调(LoRA之类的PEFT方法)也能跑通,因为这类训练任务对显存的压力可控,而且计算量不算离谱。
真正让它跟专业计算卡拉开差距的地方是:显存容量、双精度算力、以及持续满载运行下的稳定性。消费级卡的散热和供电设计是按“游戏一小时”这种负载来做的,而训练任务往往要满载跑几天几夜,对散热和供电是更严苛的考验。所以S80更适合的是“轻量训练+推理验证”,而不是超大规模训练。
3.2 从S80到集群:消费级卡在智算集群里的角色
这里就要说一个认知误区了:智算集群里用的不等于都是高端计算卡。在很多实际项目里,根据业务场景的不同,集群往往是“高低搭配”的。高端的加速卡负责大模型训练,而S80这种消费级GPU则可以被用在推理场景或者开发测试环境。
为什么这么配?因为推理任务对算力的要求远低于训练,但部署量往往更大。假设你要部署一个在线问答机器人,高并发的情况下可能需要一百张推理卡,如果用高端计算卡,成本会非常夸张;而用S80这类卡,单卡能撑住一定的并发数,单位成本和整体性价比反而更优。
另外还有一个开发测试的场景。很多AI工程师不想占用宝贵的训练集群资源来跑调试任务,就会申请几台配有S80的开发机,先做代码调试、数据预处理、小规模验证,等代码稳定了再提交到训练集群跑大规模任务。这种“开发测试用入门卡,训练用高端卡”的分层方案,在实际的智算集群建设中非常常见。
3.3 驱动与框架适配:S80深度学习体验的硬骨头
尽管S80能跑深度学习,但开发环境这块要提前有心理准备。传统显卡的你装个CUDA、cuDNN就开跑了,而S80需要安装摩尔线程提供的MUSA工具包和对应版本的框架适配层。比如你要用PyTorch跑训练,需要安装摩尔线程定制版的PyTorch,因为它已经帮你把底层算子替换成MUSA版本了。
这里要实测过才知道的一个坑是:不同版本的框架,侧的API支持度可能不一样。有些模型在标准PyTorch里能跑,换到定制版后就可能报“算子不支持”的错误。遇到这种情况,常规做法是到摩尔线程的开源社区去找是否有适配方案,或者手动改写自定义算子。
所以我对想尝试S80做深度学习的同学有句忠告:不要指望零成本无缝迁移,做好一定的适配工作量心理准备。但也不用太担心,因为摩尔线程在适配主流通用模型上是下了功夫的,像BERT、GPT系列、ResNet这些主流模型,开箱即用的概率是很高的。毕竟6.6亿的订单都签了,生态适配如果跟不上,大客户可不好伺候。
4. 国产GPU智算项目落地的避坑笔记:从环境准备到性能调优
4.1 环境准备:先搞清楚你手上是哪套软件栈
假设你现在拿到了一台配有摩尔线程GPU的服务器,也打算拿它跑深度学习,我建议按下面的顺序来准备环境。
第一步,确认GPU型号和对应驱动。不同型号的GPU对应不同版本的驱动,不要想当然地用同一个安装包。你可以在Linux终端跑 mthreads-gmi 或者类似的工具,先看看系统识别出的显卡型号和驱动版本。
第二步,安装MUSA工具包。这相当于CUDA工具包的角色,里面包含了运行时、编译器、数学库和通信库。安装时注意选对对应操作系统的版本,一般官方仓库里都有针对Ubuntu、CentOS等主流发行版的安装包。
第三步,安装定制版的深度学习框架。如果你是做训练,就去官方渠道拉取摩尔线程适配过的PyTorch轮子(whl包),直接 pip install 就能用。装好后跑一个简单的张量运算验证一下,比如 torch.musa.is_available() 是否返回True,确保框架能正确调用GPU。
第四步,做基准测试。不要急着跑你的业务模型,先跑一些基准模型(比如ResNet50、BERT-Tiny)验证一下性能和正确性。这样能快速暴露环境问题,而不是等业务代码跑到一半才发现是环境没配好。
注意:环境配置时,尽量使用官方文档里明确支持的版本组合。我见过很多翻车案例,都是因为自己“手贱”升级了某个依赖库,结果跟定制版框架不兼容,导致算子报错。版本锁定是国产GPU平台调试第一课。
4.2 模型迁移:能用torch就用torch,别硬刚自定义算子
把已有模型从CUDA平台迁移到MUSA平台,单卡环境下的核心改动其实就是到处“改名”。比如 model.cuda() 改成 model.musa(),torch.cuda.FloatTensor 改成 torch.musa.FloatTensor。如果代码里都是通过 torch.cuda.is_available() 做判断,那就改成 torch.musa.is_available()。大部分主流模型改动量其实不大。
但迁移过程中最容易翻车的地方在于自定义算子。如果你之前写了一些CUDA扩展算子(比如用C++写的自定义前向/反向函数),要迁过来就比较费劲,因为底层编译指令集不同,需要重写为MUSA版本。好在摩尔线程提供的工具里有算子迁移辅助工具,可以自动做一部分转换,但复杂算子还是得人工处理。
另一个业务上要注意的点是数据加载。很多训练脚本里直接用 torch.utils.data.DataLoader 加载数据,然后通过 tensor.cuda() 把数据搬到GPU上。迁移到MUSA平台,这里的 .cuda() 同样要改成 .musa(),否则数据一直在CPU上,GPU根本读不到,训练就直接报错。
4.3 性能调优:集群环境下的三大黄金法则
环境通了,模型能跑了,接下来就是性能问题。国产GPU集群调优的话题能写一本书,这里只提三个我在实操中感触最深的法则。
第一个法则是“先看数据流水线,再看GPU利用率”。很多人在集群上训练,发现GPU利用率只有百分之二三十,第一反应是“卡不行”。但实际排查下来,大概率是数据加载环节出了问题——数据读得太慢,GPU空等。遇到这个问题,先把 num_workers 调大,再考虑开预取缓存,90%的情况能解决。
第二个法则是“不要忽略通信开销”。多卡训练时,每轮迭代结束都要做梯度同步,通信时间占比会随卡数增加而上升。如果你训练的是小模型(像BERT-base这种),通信开销占比可能高达40%以上。这时候盲目加卡反而更慢,更优的做法是调整“梯度累积步数”,减少通信频率。这也是为什么大模型训练通常会指定一个比较小的batch size但配一个较大的梯度累积步数。
第三个法则是“集群级监控必须提前布好”。在集群上跑训练,最怕的就是某张卡悄悄地挂了或者降频了,而你浑然不知,跑了一整天发现loss不正常。我建议开跑前先把利用率、温度、显存占用、卡间通信状态都接到监控面板上,设好告警阈值。宁可多花半小时配置监控,也不要盲目跑通宵。
5. 常见问题速查:我踩过的坑,你直接绕开
国产GPU平台的问题排查,跟传统CUDA平台有很多相似之处,但也有不少新坑。下面这份速查表,是根据我自己和周围同行在MUSA平台上的实际操作经历总结的,照着排能省不少时间。
| 常见问题 | 典型表现 | 排查思路 | 解决方案 |
|---|---|---|---|
| 驱动没装好 | mthreads-gmi 报错或看不到显卡 |
检查驱动模块是否加载 | 重装对应版本驱动,确认内核模块被正确加载 |
| 框架检测不到GPU | torch.musa.is_available() 返回False |
检查定制版框架是否装对 | 确认装的是MUSA适配版,而不是官方原版PyTorch |
| 算子不支持 | 模型跑到某一层直接报“not implemented” | 查看日志定位具体算子 | 到社区找替代算子实现,或改写为MUSA兼容写法 |
| 显存不足 | 训练刚开始就OOM | 检查batch size和序列长度 | 调小batch,或开启梯度累积 |
| 单卡GPU利用率低 | 监控显示利用率在30%以下 | 检查数据加载是不是瓶颈 | 调大num_workers,开启预取缓存 |
| 多卡训练加速比不理想 | 4卡训练只比单卡快1.5倍 | 检查通信是否成为瓶颈 | 增加梯度累积步数,减少通信频率 |
| 集群监控没有数据 | 看不到显卡利用率或温度 | 检查监控组件是否适配了MUSA环境 | 安装对应版本的监控插件,或改用手动轮询脚本 |
还有几个容易忽略的实操要点,我再啰嗦一遍。
- 大批量推理任务,一次性提交到集群后,一定要设置超时控制和自动重试机制。显存不足、节点故障在长任务里很难完全避免,有自动重试能省很多人工盯盘时间。
- 存储盘要预留至少20%的余量。训练任务会产生大量中间文件和checkpoint,磁盘写满的后果比你想的严重,会导致训练进程直接崩溃。
- 训练期间不要手动去重启调度服务,除非你确定所有任务都已经断点保存了。这算是一个经典教训了,我在某个项目里就吃过亏,一次误重启白跑了三个小时。
写在最后:这批集群到手后,你最该做的一件事
最后再分享一个我个人的观点。无论你是采购方还是使用方,6.6亿级别的夸娥集群到手之后,第一件事不是急着跑业务,而是花一周时间做“平台压力测试”,把集群的极限摸清楚。
测什么?一是单卡基准性能,摸清每张卡能达到的峰值算力和实际稳定算力;二是多卡扩展效率,测一下4卡、8卡、16卡、32卡在典型模型上的加速比,看扩展效率是否在可接受范围;三是长稳测试,满载跑48小时以上,记录有没有卡掉线、有没有节点重启、有没有内存泄漏。这些数据在集群正式上线后,就是你跟厂商谈售后、做运维规划的依据。
国产智算集群走到6.6亿订单这个节点,意味着它已经不是一个“能不能用”的问题,而是“怎么用好”的问题。做AI基础设施这行,我见过太多好硬件被稀烂的运维玩废,也见过看似普通的硬件被靠谱的团队调出惊人的效率。芯片决定的是天花板,工程化决定的是实际能摸到多高。
这个内容后续还可以往两个方向深挖:一是具体跑一次大模型微调任务,把MUSA平台上的完整流程和踩坑点记录下来;二是做一份夸娥集群的运维巡检手册。如果你正在或者计划搞国产算力平台,下次可以接着聊。
