Qwen团队周二以MIT协议开源FlashQLA,一个针对Qwen3.5和Qwen3.6模型家族所采用的Gated Delta Network(GDN)线性注意力机制做高性能优化的内核库。头条基准:在Nvidia H200上,相对现有Triton实现的Flash Linear Attention(FLA)库,前向传播加速2到3倍、反向传播加速2倍,横跨与Qwen张量并行配置匹配的头维度(TP1到TP8、hv从64到8)。仓库地址github.com/QwenLM/FlashQLA。真正有意思的是FlashQLA选择了什么作为构建基础:不是Triton,而是TileLang——一个相对较新的编译器框架,它暴露了Triton无法完全表达的Hopper专属调度原语。
架构语境很重要。线性注意力把标准softmax注意力的O(n²)复杂度替换为O(n),当序列长度突破10万token时,这变成承重的。GDN是一种"门控"变体,它对历史上下文应用一个指数衰减门——这种形式允许内核级高效实现,但要真正兑现理论效率,就必须仔细调度内存搬运、Tensor Core运算和CUDA Core计算。Qwen3.5/3.6使用混合设计:GDN层与标准全注意力层交替,在最需要的地方获得全注意力的表达能力,在其他地方获得线性注意力的高效。FlashQLA专门优化这一栈的线性注意力一半——意味着收益与混合架构相乘,不只是纯线性注意力模型。
Triton-vs-TileLang这一维度是更宏观的信号。Triton(OpenAI推出的基于Python的GPU编程语言)让内核编写大众化——大多数生产级ML内核,包括FlashAttention的参考实现,都依赖它。但Triton的抽象瞄准的是通用CUDA编程模型,无法完全暴露Hopper的专属特性:warpgroup级Tensor Core运算、异步数据流水线,以及让你把内核拆到128线程warpgroup分配专门角色(一个搬数据、一个跑Tensor Core、一个跑CUDA core,全部并行重叠)的warp专门化。FlashQLA用TileLang的warp专门化内核原语手工编排这种重叠。结果是一个更脆弱(专属Hopper、需要SM90+、CUDA 12.8+、PyTorch 2.8+)但实质上更快的内核——比Triton能产出的更快。我们回到了一个状态:严肃的内核性能需要手工调优、面向特定硬件的实现——Triton是个漂亮的抽象,但在最新硅片上丢了吞吐。
对builder来说,有三点收获。第一,如果你在H100/H200上规模化跑Qwen3.5/3.6推理,把FLA换成FlashQLA可能是免费的2倍解码吞吐——但请在你自己具体的部署上验证,因为这些基准是单内核延迟,不是端到端serving。第二,Triton-vs-TileLang的分叉预示着一种会持续扩大的可移植性税:可移植内核哪儿都能跑但更慢,硬件专属内核要求按代际(SM89 Ada、SM90 Hopper、SM100 Blackwell)维护独立代码路径。TileLang、CUTLASS这类框架将越来越占据高性能天花板,而Triton守住开发者友好的下限。第三,这是关于Qwen基础设施团队的一个信号——把一份手工调优的内核库与模型权重一起发布,是西方开源团队较慢才做的那种垂直整合优化。DeepSeek-V3发布时带着定制CUDA实现;Qwen3.x现在带着定制内核库。"开放权重"的标准正在悄悄演变成"开放权重外加你真正高效服务它们所需的内核"。这是开源AI交付样貌的一次实质性升级。
