
9 月 28 日,华为官方宣布:openPangu-2.0 的预训练代码、SFT 代码和后训练强化学习(RL)代码正式开源上线。很多读者看到新闻的第一反应是"华为又开源模型了",然后划走。这里藏着一个很普遍的认知误区:开源权重和开源训练代码,完全是两回事。前者像给你一辆整车,后者是把造车图纸和生产流水线一起交给你。
一、事件复盘
先理一下时间线。今年 6 月 30 日,华为开源了 openPangu-2.0-Flash 的模型权重,总参数约 920 亿、单 token 激活约 60 亿;7 月 31 日,又开源了 Pro 版权重,总参数约 5050 亿、激活约 180 亿。两个模型都是 MoE(混合专家)架构,支持 512K 上下文,官方称训练数据约 34 万亿 token,全程在昇腾 NPU 上训练。
而 9 月 28 日这波,交出来的不是权重,是训练代码,分成两个仓库放在 gitcode.com 的 ascend-tribe 组织下,采用 Apache-2.0 协议:
- openPangu-2.0-Training:统一训练框架,覆盖预训练(从头训练、断点续训)和监督微调(SFT),支持多维分布式并行、数据流水线、混合精度、checkpoint 管理和故障恢复。
- openPangu-2.0-RL:强化学习加速框架,基于开源的 VERL 做运行时补丁和昇腾优化,支持 Actor/Rollout/Reward 协同训练,覆盖 GSPO/GRPO 后训练。
华为在公告里的定位说得很直白:给业界"用好昇腾"提供最佳实践参考。
二、技术核心拆解
第一层:开源到底分几级?
大模型开源其实是个光谱,大致可以分成四级:只开放推理接口(API)、开放权重、开放训练代码、开放数据。绝大多数所谓"开源模型"停在第二级——你拿到权重可以做微调和推理,但这个模型当初是怎么训出来的,你并不知道。
训练代码的价值在于:并行策略怎么切、数据流水线怎么排、训练中断了怎么从 checkpoint 恢复、强化学习的奖励信号怎么接——这些"工程配方"才是大公司真正不外传的部分。论文里一句"我们使用数据并行、张量并行和流水线并行",和一份能跑的代码之间,隔着几个月的踩坑。
第二层:"昇腾原生"意味着什么?
这次开源的代码不是通用 PyTorch 代码,而是深度绑定昇腾软件栈的。官方给出的运行环境是:CANN 8.5.1(昇腾的算子运行时,相当于英伟达的 CUDA)、PyTorch 2.9.0、torch_npu 2.9.0、Python 3.11、triton-ascend 3.2.1。
也就是说,这套代码在英伟达卡上不能直接跑。它是给昇腾生态铺路的:开发者拿昇腾集群训练大模型时,不用从零摸索并行和调优方案,照着盘古的代码改就行。官方技术报告称昇腾原生训练效率提升了 30%,这是华为的自报数据,尚无第三方复测。
第三层:复现的边界在哪?
三个细节值得注意。其一,两个仓库都明确声明不提供数据集——34 万亿 token 的语料不会开源,所以你拿这套代码复现不出一个盘古。其二,Training 仓库 README 的模型配置表里列的是 92B(6B 激活)和一个 17.36B(1.75B 激活)的示例配置,没有现成的 505B Pro 配置,想跑 Pro 得自己改。其三,RL 仓库的代码推理示例会执行模型生成的 Python 代码,官方部署说明要求网络隔离——这本身就是个安全细节:让模型生成的代码在生产环境里裸跑,等于把 shell 交给它。
三、常见技术误区
误区一:开源了训练代码,我就能自己训一个盘古。
不能。数据没开、505B 的完整配置没给、昇腾集群也不是谁都租得起。这套代码的实际价值是"参考实现":告诉你在昇腾上训大模型的标准姿势,你可以拿来训自己的模型,而不是复刻盘古。
误区二:权重早开源了,这次开源没多大意义。
反了。权重开源解决的是"用"的问题(下载、部署、微调),训练代码开源解决的是"学"和"建"的问题。对做 AI 基础设施、想基于国产算力自训模型的团队来说,后者才是稀缺品。以前这类知识只存在于大厂的内部文档里。
误区三:Apache-2.0 开源 = 可以随意商用白嫖。
Apache-2.0 确实允许商用、修改和再分发,但要求保留版权声明和许可文本,修改过的文件需要标注。另外要分清"代码"和"模型":这次开源协议覆盖的是训练代码,模型权重使用是否附带额外条款,要以模型卡上的说明为准——不同仓库、不同资产的许可边界经常不一样,商用前值得逐个确认。
四、实操指引
如果你是想跟进的开发者,可以按这几步来:
- 环境对齐:先用昇腾环境装齐 CANN 8.5.1、torch_npu 2.9.0 这套依赖,版本差一点都可能跑不起来;没有昇腾卡的话,可以只读代码学并行策略和 RL 流程设计。
- 从示例配置起步:别一上来就对标 92B,先用仓库里 17.36B 的示例配置走通全流程(预训练→SFT→RL),理解每个环节的输入输出。
- RL 示例务必隔离:跑 Code-For-Reasoning 这类会执行模型生成代码的场景时,严格按官方要求做网络隔离,用容器或沙盒包住,别在跳板机上裸跑。
- 区分你想学什么:想学分布式训练,重点读 Training 仓库的并行和数据流水线部分;想学智能体后训练,重点读 RL 仓库的 GSPO/GRPO 配置和多轮 Rollout 示例。
- 商用前核对协议:把 Apache-2.0 的 NOTICE 保留要求和模型卡的许可条款过一遍,团队内部留档,避免后续合规争议。
五、结尾
从开源权重到开源训练代码,国产大模型的开源正在从"给结果"走向"给方法"。对普通开发者,这波更实际的信号是:昇腾生态在认真降低自训模型的门槛,训练工程的"标准答案"开始公开可查。看完这篇,不妨想一个问题——你手头的项目,如果明天必须迁到国产算力上,差的是算力,还是这份"菜谱"?
如果觉得有用,转发给正在被算力和框架选型折磨的朋友。