开源社区开始"内卷"

2723次提交。

432位贡献者。

image

这两个数字放在任何开源项目里都足够炸裂,但PyTorch 2.11的发布让我注意到的不是数字本身,而是数字背后那个正在加速的信号——AI基础设施的迭代速度,已经快到让人看不懂了。

说实话,PyTorch这种版本发布我以前是扫一眼就过的。但这次不一样。2月刚发完2.10,3月底直接扔出2.11,发布节奏从季度直接改成"两个月一次"。

这个曾经以稳定著称的框架,现在开始用互联网产品的速度在迭代了。

Hopper和Blackwell背后,藏着英伟达的"阳谋"

先说最硬核的部分。

PyTorch 2.11原生支持了FlashAttention-4后端,适配的是英伟达的Hopper和Blackwell架构。评论区有人补充了一句特别关键的:支持SM100 GPU,但不包含SM120——也就是消费级的5000系列。

这意味着什么?

image

意味着PyTorch团队做出的选择:我的优化只服务数据中心级GPU。这也不算傲慢吧——真正的大模型训练,没有人在用消费级显卡硬扛。

FlashAttention-4这个后端带来的加速效果是1.2倍到3.2倍。注意,这是相对于PyTorch自己已有的Triton实现来说的。换句话说,PyTorch团队觉得Triton不够快了,自己下场写了更快的内核。

一个细节值得玩味:这个功能目前还标注着"API-UNSTABLE"。也就是说,这是个实验性功能,但PyTorch选择在这个阶段就发布出来。为什么?因为整个行业等不及了。大模型训练的成本高到吓人,任何一点性能提升都是真金白银。

分布式训练的"最后一公里"被突破了

第二个让我眼前一亮的功能:Differentiable Collectives。

这个词听起来很学术,但翻译成人话就是——分布式训练现在可以自动求导了。

分布式训练是训练大模型的必经之路,但过去有个很麻烦的问题:跨GPU通信的操作没办法参与梯度传播。你要自己写自定义的autograd函数,写得人头秃。

image

PyTorch 2.11把这个痛点给干掉了。

官方说法是"significant advancement for distributed deep learning research"。我翻译一下:以后做分布式训练研究的人,可以更专注在模型本身,不用跟底层通信细节较劲了。

这对谁最有用?做MoE(混合专家模型)的、做大规模预训练的、搞分布式强化学习的。这波人最近正在疯狂扩军。

苹果和英特尔,都被"招安"了

除了英伟达,PyTorch 2.11对其他硬件厂商也敞开了怀抱。

MPS后端(也就是Apple Silicon)的Operator覆盖范围大幅扩展,新增了log_normal、cauchy、geometric这些分布函数,还支持了erfcx和grid_sampler_2d的全模式操作。更实用的是异步错误检测——以前MPS报错经常让人一脸懵,现在能精准定位到是哪一行出了问题。

英特尔这边搞了个XPUGraph,允许用户把一系列XPU操作捕获成执行图,然后反复复用。这招直接减少了CPU的开销,kernel启动和Python运行时的损耗都被压下来了。

一个有趣的观察:PyTorch对非英伟达硬件的支持力度在明显加大。这背后有商业博弈的成分,但更多的可能是——AI芯片的多元化时代真的来了,没有人愿意把鸡蛋放在一个篮子里。

TorchScript之死,一个时代的终结

2.11版本里有一行小字,但分量很重:

TorchScript is now Deprecated。

如果你从PyTorch 1.x时代走过来,你会知道TorchScript曾经是部署的"官方推荐方案"。它把Python模型转换成一种中间表示,然后可以在C++环境里高效运行。

但现在,PyTorch团队明确告诉你:别用了,torch.export才是未来。

image

这个转向其实从2.0就开始铺垫了,但2.11的措辞明显更决绝。评论区有个人说了句"nice work! better if oss...",大概意思是:如果能开源就更好了。这话代表了一部分人的心声,但也说明了PyTorch生态的复杂性——它早就不是一个小众框架了,而是一个牵动无数商业利益的超级基础设施。

写在最后

2.11的发布让我想起一件事:AI技术栈的底层正在以肉眼可见的速度重构。

PyTorch的迭代加速、硬件支持的多元化、发布节奏的互联网化——这些信号放在一起,指向同一个结论:AI infra的战争才刚刚开始,而这场战争的主战场不在模型层,在框架层,在编译器层,在每一个GPU内核里。

下一个版本是2.12,预计5月底。

432位贡献者的名单还会更长。

【MiniMax-M2.1锐评】:当一个框架开始"内卷"发布速度,说明它背后的战争已经从模型层打到了地基层,而这场战役的赢家,从来都只有那些愿意把代码写得更脏、更快、更野的人。

参考链接:
https://x.com/PyTorch/status/2036175981619335295