网易首页 > 网易号 > 正文 申请入驻

还在手写CUDA内核?CODA来了!LLM和新手也能让Transformer跑出光速

0
分享至



机器之心编辑部

5 月 22 日,Tri Dao 在社交媒体上转发了 Han Guo 的一条推文。他还写道:「经过一些数学重写,结果发现 Transformer 的所有内容都是一系列 GEMM + epilogue(矩阵乘法加尾声)。给定一些优化的原语,LLM(以及新手)就可以为所有 Transformer 操作编写光速内核!」



Tri Dao 是 FlashAttention 系列的核心作者之一,而这条推文则指向了他们当天发布的一篇论文:CODA



  • 论文标题:CODA: Rewriting Transformer Blocks as GEMM-Epilogue Programs
  • 论文地址:https://arxiv.org/abs/2605.19269
  • 代码地址:https://github.com/HanGuo97/coda-kernels

这个名字,读起来像「终曲」,念起来像「CUDA」。来自 MIT、普林斯顿、Together AI 和 Meta 的研究者,试图用一套新的编程抽象,把 Transformer 训练里那些鲜少被人关注、却持续消耗时间的「散碎计算」,系统性地消化掉。

背景:训练大模型的「偷懒税」

要理解 CODA 在解决什么问题,先要明白大模型训练的时间都去哪了。

在一块英伟达 H100 上训练一个 LLaMA-3 风格的 1B 参数模型,大部分人会直觉地认为:时间都花在矩阵乘法和注意力计算上,毕竟那才是「真正的计算」。这个直觉大体上没错:矩阵乘法(GEMM)和注意力确实占据了主要算力



但如果你打开性能分析器仔细看,会发现还有一批「小算子」在安静地消耗着时间:归一化(RMSNorm)、激活函数(SwiGLU、RoPE)、残差加法、跨层规约……它们单个计算量不大,却频繁地把大型中间张量从显存里搬进搬出。



这就是所谓的「内存带宽瓶颈」:好比一个厨艺绝顶的厨师,但每做一道菜都要把食材从远处的仓库搬来、用完再送回去,而不是放在手边的台面上。厨师的手速再快,等待搬运的时间也是真实的浪费。

更糟糕的是,随着英伟达的 FP8、FP4 等低精度格式让矩阵计算越来越快,这些「搬运」操作的相对成本反而在上升:矩阵乘法加速了,但张量搬进搬出的成本并没有同比缩短。

论文中有一组数据很直观:在 H100 上用 TorchTitan 训练 1B 参数模型时,非矩阵乘法操作占据了相当一部分的端到端运行时间,且随着 FP8 精度的引入,这一比例还会进一步凸显。

现有的编程框架对此几乎无能为力。PyTorch 把 Transformer 的计算表达成一串算子序列,算子之间有清晰的边界。这种边界对于自动微分(autograd)非常友好,却恰好阻止了跨算子的融合优化:每一个算子边界,往往就是一次不必要的显存写回。

CODA:「尾声」里藏着宝藏

CODA 的出发点是一个朴素的观察。

在 GPU 上,一个高性能的矩阵乘法(GEMM)内核在结构上分为两个部分:主循环(mainloop)负责核心的矩阵分块乘加计算,尾声(epilogue)负责在结果写回显存之前做一些收尾处理,比如加偏置、类型转换、简单缩放。



尾声存在的意义,在于此时矩阵乘法的输出还「活在」片上寄存器里,还没有落地到全局显存。这是一个短暂的黄金窗口:如果能在这个时刻多做一些计算,就可以完全省掉一次显存写入再读出的往返。

CODA 的核心洞察是:Transformer 里那些内存密集型操作,其实很多可以被代数地重新参数化,塞进这个「尾声」窗口里执行。

这需要一点数学技巧。以最常见的 GEMM-RMSNorm-GEMM 模式为例:一个矩阵乘法的结果,经过残差加法、RMS 归一化,然后再做另一个矩阵乘法。传统做法是三个独立算子串行执行,中间结果两次落地显存。



CODA 团队发现,RMS 归一化中的行缩放因子 r,因为是每行共享的标量,它和后面的矩阵乘法满足交换律:可以把 r 的应用从「第二个 GEMM 之前」推迟到「第二个 GEMM 的尾声」。推迟之后,第一个 GEMM 的尾声只需要计算局部的「分块均方根」(partial RMS),由一个极轻量的辅助规约内核合并,而完整的 RMSNorm 计算消失了。

类似的重新参数化,对 SwiGLU、RoPE(旋转位置编码)、交叉熵损失等操作同样适用,甚至对反向传播也成立。论文中有一个定理证明:只要前向尾声是「分块局部」的,反向传播就自动继承相同的结构。具体请访问原论文查看。

五种「积木」和一套「乐高语言」

CODA 不是一个具体的融合内核,而是一套编程抽象。

它固定住经过专家优化的 GEMM 主循环,然后在尾声位置暴露五类可组合的基本原语:

  • 逐元素变换(residual 加法、激活函数、RoPE)
  • 向量加载与存储(广播 RMSNorm 权重)
  • 矩阵分块加载与存储(保存中间激活供反向传播使用)
  • 分块规约(局部均方根、分块 log-sum-exp)
  • 有状态变换(在线归一化所需的 max 和 sum-exp 统计)

用这五类积木,一个标准 Transformer 的前向和反向传播中、除注意力之外的几乎全部操作都可以被覆盖。

更有意思的是这套抽象对「谁来写代码」的宽容度。论文在实验中评估了两种实现模式:一种是人工程序员撰写,另一种是用 Claude Code 来生成 —— 给定 CODA 的原语说明、若干示例和实现日志,由 AI 完成大部分内核代码,人工轻度监督。

两种模式的性能表现均达到了较高水平。Tri Dao 在推文中说「LLM 以及新手就可以编写光速内核」,这正是论文实验结果在现实层面的映射。

实验结果

CODA 的基准测试选择的是较为苛刻的对手:cuBLAS 加上 torch.compile,以及专为 LLM 优化的 Liger Kernel 和 FlashInfer。

论文对每个内核评估了两种实现:CODA (LLM)由 Claude Code 生成,研究者提供原语说明、若干示例和一份持续更新的实现技巧日志,AI 完成主体代码,人工做轻度监督;CODA (Human)由人工程序员独立编写,使用同样的高层重参数化思路,但不依赖 CODA 原语集本身。两组结果都与 cuBLAS + torch.compile、Liger Kernel、FlashInfer 等优化库进行对比。

在单算子层面,以 GEMM-RMSNorm-GEMM 这一典型模式为例,CODA 在对应 1B、7B、70B 三个模型规模的隐藏维度下均实现了对 cuBLAS + PyTorch 基线的超越。SwiGLU、RoPE、交叉熵等尾声组合也有类似表现。

LLM 生成的内核在大多数基准上与人工手写版本不相上下,个别配置下甚至略有超越。这在 GPU 内核优化这个历来门槛极高的领域,是一个颇为罕见的结论。







反向传播的收益尤为突出:GEMM-Residual-PartialRMS-GEMM 的反向内核相比基线加速幅度可达 1.6 至 1.8 倍,SwiGLU 反向也有约 1.4 至 1.6 倍的提升。这个方向上,LLM 与人工实现的差距同样微小。这并不奇怪:反向传播天然涉及更多中间张量的存取,尾声融合的收益就更大;而 CODA 的原语设计足够清晰,使得 AI 模型能够正确地完成组合。



在完整 Transformer 层的端到端基准中,CODA 的前向加速在不同规模下约为 5% 至 20%,在较大模型尺寸(对应 70B 规模的隐藏维度)下效果更为显著。

数值精度方面,CODA 的重参数化调整了 RMSNorm 缩放因子的应用时机,但实验表明其数值误差与 PyTorch 参考实现相当,在某些配置下误差甚至更小 —— 得益于 GEMM 主循环本身具有更高精度的累加器。

CODA 能做什么:一张速查单

在进入更大的视角之前,先把 CODA 的能力边界说清楚。

  • 覆盖范围:标准 Transformer(如 LLaMA 架构)的前向和反向传播中,除注意力和词嵌入之外的几乎全部计算,包括 RMSNorm、残差加法、SwiGLU 激活、RoPE 旋转位置编码、交叉熵损失,以及上述操作的反向梯度计算。
  • 加速效果:在对应 1B 至 70B 规模的隐藏维度下,单算子层面相比 cuBLAS + torch.compile 基线有不同程度的提升,其中反向传播收益最为显著(部分内核可达 1.6 倍以上);完整 Transformer 层的端到端前向加速约为 5% 至 20%,在较大模型尺寸下效果更突出。
  • 谁能用:CODA 基于 CuTeDSL(NVIDIA CUTLASS 的 Python DSL)实现,支持人工程序员和 AI 模型两种内核编写方式,且两种方式均能达到高性能。
  • 当前限制:目前仅支持单 GPU 场景,不涉及分布式训练;重参数化主要针对标准 Transformer 架构,其他架构的适用性有待验证。

结语

CODA 并非孤立的工作。它是一类思想的具体实现:在 GPU 上,真正的优化空间往往不在「算什么」,而在「怎么搬」。

FlashAttention 让注意力计算「住进」了片上内存,CODA 试图让归一化和激活函数也「住进去」。Triton 降低了写自定义内核的门槛,ThunderKittens、TileLang 等进一步在不同层次上探索这一空间。这些工作共同指向同一个方向:把 PyTorch 算子图的表达便利性,与接近手写 CUDA 的执行效率,真正统一在一套可编程的框架里。

Tri Dao 推文的最后一句话值得再回味:「LLM 以及新手就可以为所有 Transformer 操作编写光速内核。」这背后有一个更深的逻辑:当编程抽象设计得足够好,AI 模型本身就可以参与到自身训练基础设施的优化中。这个循环,才是 CODA 最耐人寻味的地方。

从这个角度看,「CODA」这个名字或许另有深意。在古典音乐中,Coda 是乐曲末尾收束全篇的段落。在这里,它是 GEMM 内核的「尾声」—— 而写好这段尾声,或许正是 Transformer 训练系统效率提升的下一个重要章节。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
稻城亚丁景区:违规放行员工已被处理,禁止社会车辆进入景区

稻城亚丁景区:违规放行员工已被处理,禁止社会车辆进入景区

映射生活的身影
2026-05-25 16:55:04
博主曝四川稻城亚丁,划省道为内部路,硬刚后自驾进入,网友炸锅

博主曝四川稻城亚丁,划省道为内部路,硬刚后自驾进入,网友炸锅

另子维爱读史
2026-05-25 19:19:03
最应被铭记的中国矿难事故:死亡数全球第一,震惊国内外

最应被铭记的中国矿难事故:死亡数全球第一,震惊国内外

网易新闻出品
2026-05-25 13:17:51
高超音速导弹只为埋下“昂贵金属”!空袭后的基辅:热咖啡和婚纱

高超音速导弹只为埋下“昂贵金属”!空袭后的基辅:热咖啡和婚纱

鹰眼Defence
2026-05-25 12:32:58
演都不演了,出征前一天香港女航天员遭遇恶心一幕,令人愤怒不已

演都不演了,出征前一天香港女航天员遭遇恶心一幕,令人愤怒不已

秋姐居
2026-05-25 19:47:13
双曲线发力,上汽大众“全能源”布局开拓新境界

双曲线发力,上汽大众“全能源”布局开拓新境界

车市雷达
2025-12-06 15:53:13
奥莱报:梅西遭遇肌肉疲劳,他有三周多的时间能用于恢复

奥莱报:梅西遭遇肌肉疲劳,他有三周多的时间能用于恢复

懂球帝
2026-05-25 22:24:07
雷军称计划月底停用推荐码:使用我的推荐码的车主实在太多,我有点扛不住了;此前多次在微博附上自己的推荐码供车主锁单

雷军称计划月底停用推荐码:使用我的推荐码的车主实在太多,我有点扛不住了;此前多次在微博附上自己的推荐码供车主锁单

鲁中晨报
2026-05-25 21:22:20
多名院士呼吁停止食用,比肥肉还伤血管,转告父母,趁早撤下餐桌

多名院士呼吁停止食用,比肥肉还伤血管,转告父母,趁早撤下餐桌

健康之光
2026-05-25 18:32:03
BBA电动化反击战,上汽奥迪以“中国式创新”破局

BBA电动化反击战,上汽奥迪以“中国式创新”破局

车市雷达
2026-01-09 14:22:03
美国专家坦言:中国在中越战争中得到的东西,瞒过了全世界

美国专家坦言:中国在中越战争中得到的东西,瞒过了全世界

阿晭评论哥
2026-05-25 10:56:54
未经审批,私自赈灾,河南三支救援队造成极其恶劣的社会影响

未经审批,私自赈灾,河南三支救援队造成极其恶劣的社会影响

上观新闻
2026-05-22 16:51:14
完了!全完了!几十万在美华人的绿卡梦,一夜之间碎了!

完了!全完了!几十万在美华人的绿卡梦,一夜之间碎了!

安安说
2026-05-25 11:03:42
官宣:C罗出任追觅全球代言人

官宣:C罗出任追觅全球代言人

快科技
2026-05-25 19:25:12
华为Mate 90提前亮相,超强Mate要来了!

华为Mate 90提前亮相,超强Mate要来了!

科技堡垒
2026-05-25 12:21:21
波波G3后破门大骂!马刺今日逼出雷霆13年最低分

波波G3后破门大骂!马刺今日逼出雷霆13年最低分

体坛周报
2026-05-25 16:36:20
山姆“偷吃”事件大反转,网友:太歹毒了!

山姆“偷吃”事件大反转,网友:太歹毒了!

品牌新
2026-05-25 17:31:13
半导体大利好!13家先进封装集体涨停,高盛提前埋伏5家低至40亿

半导体大利好!13家先进封装集体涨停,高盛提前埋伏5家低至40亿

长风价值掘金
2026-05-25 20:35:03
山西矿难,一场早有预兆的祸事

山西矿难,一场早有预兆的祸事

凤凰WEEKLY
2026-05-25 10:44:39
男子被卖妙瓦底后续!同学被刑拘,网友曝猛料,50万也难换回一命

男子被卖妙瓦底后续!同学被刑拘,网友曝猛料,50万也难换回一命

奇思妙想草叶君
2026-05-25 14:17:03
2026-05-26 00:56:49
机器之心Pro incentive-icons
机器之心Pro
专业的人工智能媒体
13080文章数 142652关注度
往期回顾 全部

科技要闻

华为:没有先进光刻机也能造出高端芯片

头条要闻

特朗普强制要求中东多国与以建交 称美伊谈判进展顺利

头条要闻

特朗普强制要求中东多国与以建交 称美伊谈判进展顺利

体育要闻

如果不好好守门,他可能早就继承家业了

娱乐要闻

李晨郑恺跑男停宣:12年元老被边缘化

财经要闻

起底煤矿“暗面”:假整改、假数据

汽车要闻

启境GT7定档5月29日预售 提供三电机版本

态度原创

游戏
家居
健康
旅游
手机

这款20多年前的GBA神作居然是炒冷饭,而且至今好评难以超越?

家居要闻

生与命相依 旧公寓改造

几百块一瓶的外泌体精华,涂脸上是“智商税”吗?

旅游要闻

美丽中国行|“无废细胞”激活绿色基因——三亚探索旅游城市可持续发展新路

手机要闻

华为nova16系列定档,预订已开启

无障碍浏览 进入关怀版