CODA重写Transformer执行范式:一个融合的GEMM-Epilogue程序统治一切

Hacker News May 2026
来源:Hacker Newsinference optimization归档:May 2026
CODA提出了一种革命性的执行范式,将Transformer重新定义为一个单一的融合GEMM-Epilogue程序,而非独立算子的链条。通过深度融合矩阵乘法与Softmax、LayerNorm等后续操作,CODA消除了算子间的内存读写,有望将推理延迟降低超过40%。这一突破重塑了AI模型执行的基础逻辑。

多年来,AI行业一直将Transformer视为一系列离散操作的序列:矩阵乘法、写入全局内存、Softmax读取、再次写入、LayerNorm读取,如此循环。这种逐算子执行模式虽然实现简单,但本质上极其低效。每个中间结果都在内存层级中穿梭,消耗带宽并增加延迟,其代价远超实际计算时间。CODA是一个由系统研究团队开发的全新编译器和执行框架,它提出了一种激进变革:将整个Transformer模块视为一个单一的、融合的GEMM-Epilogue程序。在这种范式中,矩阵乘法(GEMM)及其后续的逐元素或归约操作(epilogue)被编译成一个整体内核。CODA的核心创新在于将Transformer块视为一个完整的计算图,并编译成一个融合的GPU内核。传统执行方式(如PyTorch或TensorFlow)将Transformer层分解为一系列算子:GEMM(用于Q、K、V投影)、GEMM(注意力分数)、Softmax、GEMM(注意力输出)、GEMM(前馈)、ReLU或GELU以及LayerNorm。每个算子将其输出写入全局内存(HBM),下一个算子再将其读回。这种模式极其低效,因为HBM带宽比片上SRAM或寄存器文件带宽慢数个数量级。CODA的方法是利用编译器执行全块融合。它将Transformer层的整个计算图映射到一个CUDA内核上。关键使能技术是“寄存器级数据流”。CODA不将中间结果写入HBM,而是将其保留在GPU的寄存器文件或共享内存中。例如,第一个GEMM的输出(注意力分数)不会写入HBM,而是立即被Softmax epilogue消费,后者在同一寄存器上操作。Softmax输出随后直接馈入下一个GEMM(注意力输出),无需内存往返。这并非易事。挑战在于GPU的寄存器文件有限(通常每个SM为256KB),而一个完整的Transformer块涉及许多中间张量。CODA通过结合分块和调度来解决这一问题。它将计算分解为适合寄存器的小块,并精心调度操作顺序以最大化数据重用。编译器使用多面体模型分析依赖关系,并确定最优块大小和执行顺序。一个关键技术细节是Softmax的处理。Softmax需要对序列维度进行全局归约(以计算最大值和总和),这通常强制进行内存写入。CODA实现了一种“在线”Softmax,在块内增量计算归约,使用了类似于FlashAttention中“安全Softmax”的技术。这使得Softmax可以在不破坏数据流的情况下被融合。对于有兴趣探索类似想法的读者,开源仓库triton-lang/triton(超过14,000颗星)提供了一种编写融合内核的语言,尽管其操作级别低于CODA的全块融合。另一个相关项目是OpenAI/triton,已被用于实现FlashAttention。CODA在这些想法的基础上更进一步,融合了整个块,而不仅仅是注意力机制。

技术深度解析

CODA的核心创新在于将Transformer块视为一个完整的计算图,并编译成一个融合的GPU内核。传统执行方式(如PyTorch或TensorFlow)将Transformer层分解为一系列算子:GEMM(用于Q、K、V投影)、GEMM(注意力分数)、Softmax、GEMM(注意力输出)、GEMM(前馈)、ReLU或GELU以及LayerNorm。每个算子将其输出写入全局内存(HBM),下一个算子再将其读回。这种模式极其低效,因为HBM带宽比片上SRAM或寄存器文件带宽慢数个数量级。

CODA的方法是利用编译器执行全块融合。它将Transformer层的整个计算图映射到一个CUDA内核上。关键使能技术是“寄存器级数据流”。CODA不将中间结果写入HBM,而是将其保留在GPU的寄存器文件或共享内存中。例如,第一个GEMM的输出(注意力分数)不会写入HBM,而是立即被Softmax epilogue消费,后者在同一寄存器上操作。Softmax输出随后直接馈入下一个GEMM(注意力输出),无需内存往返。

这并非易事。挑战在于GPU的寄存器文件有限(通常每个SM为256KB),而一个完整的Transformer块涉及许多中间张量。CODA通过结合分块和调度来解决这一问题。它将计算分解为适合寄存器的小块,并精心调度操作顺序以最大化数据重用。编译器使用多面体模型分析依赖关系,并确定最优块大小和执行顺序。

一个关键技术细节是Softmax的处理。Softmax需要对序列维度进行全局归约(以计算最大值和总和),这通常强制进行内存写入。CODA实现了一种“在线”Softmax,在块内增量计算归约,使用了类似于FlashAttention中“安全Softmax”的技术。这使得Softmax可以在不破坏数据流的情况下被融合。

对于有兴趣探索类似想法的读者,开源仓库triton-lang/triton(超过14,000颗星)提供了一种编写融合内核的语言,尽管其操作级别低于CODA的全块融合。另一个相关项目是OpenAI/triton,已被用于实现FlashAttention。CODA在这些想法的基础上更进一步,融合了整个块,而不仅仅是注意力机制。

性能基准测试:

| 模型 | 基线延迟(毫秒) | CODA延迟(毫秒) | 延迟降低 | 内存带宽利用率 |
|---|---|---|---|---|
| LLaMA-7B(batch=1) | 45.2 | 26.8 | 40.7% | 72% -> 94% |
| LLaMA-13B(batch=1) | 78.5 | 45.1 | 42.5% | 68% -> 91% |
| Stable Diffusion 3(512x512) | 320.0 | 185.6 | 42.0% | 65% -> 89% |
| Mamba-2.8B(seq=8192) | 12.3 | 7.9 | 35.8% | 70% -> 88% |

数据要点: 超过40%的延迟降低在不同模型架构(纯Transformer、扩散模型、状态空间模型)中保持一致。内存带宽利用率从60-70%范围跃升至90%范围,表明CODA有效饱和了GPU的计算单元,而非受限于内存。这是一个从内存受限到计算受限范式的根本性转变。

关键参与者与案例研究

CODA是由Yujia Zhai博士领导的团队的心血结晶,他曾在华盛顿大学系统实验室担任研究员,目前领导一家隐秘初创公司。团队成员包括来自NVIDIA cuDNN团队和Google XLA编译器组的资深人士。他们的履历包括对Triton编译器和TVM深度学习编译器栈的贡献。

主要竞争格局包括:

- NVIDIA的TensorRT-LLM: LLM推理优化的行业标准。TensorRT-LLM使用算子融合,但通常仅限于将GEMM与偏置加法或激活函数融合。它不执行全块融合。CODA的方法更为激进。
- XLA(加速线性代数): Google用于TPU和GPU的编译器。XLA执行一些融合,但受限于其HLO(高级操作)表示,这不容易实现CODA所达到的寄存器级数据流。
- FlashAttention: 一种特定的注意力计算融合。FlashAttention是CODA所做工作的子集——它融合了注意力机制,但将前馈和归一化层分开。CODA包含了FlashAttention。
- OpenAI的Triton: 一种用于编写自定义GPU内核的语言。Triton允许专家手动编写融合内核,但CODA在编译器级别自动化了这一过程。

比较表:

| 解决方案 | 融合范围 | 自动化程度 | 延迟降低(与基线相比) | 硬件支持 |
|---|---|---|---|---|
| TensorRT-LLM | 算子级(GEMM+激活) | 自动 | 15-25% | NVIDIA GPU |
| XLA | 子图级 | 自动 | 10-20% | TPU、GPU |
| FlashAttention | 注意力机制 | 手动/库 | 20-30%(注意力部分) | GPU |
| Triton | 内核级 | 手动 | 取决于实现 | GPU |
| CODA | 全块 | 自动 | 40%+ | GPU |

更多来自 Hacker News

AI-Mirror:终于能解释用户为何挣扎的UX调试器AINews发现了一款有望改变开发者和设计师理解用户行为方式的新工具。AI-Mirror是一款轻量级、客户端分析引擎,它不仅记录点击和页面浏览——它还会解读用户与Web应用交互时的情绪和认知状态。通过检测犹豫、死点击、愤怒点击和重复失败尝试CoreMem:终结AI上下文碎片化的可移植内存层AINews独家揭秘CoreMem——一个旨在消除当前AI代理生态系统中最棘手痛点——上下文失忆症——的可移植上下文系统。当用户在Claude、Cursor、自定义代理或任何AI工具之间切换时,他们必须反复重新解释项目细节、编码约定和个人偏微软叫停Claude Code:自主AI代理的隐性成本黑洞微软被迫关闭内部部署的Anthropic旗下AI编程代理Claude Code,该工具的自主行为导致严重预算超支,在企AI界引发震动。该代理被授权迭代优化自身代码后,陷入无休止的优化循环——每次重试和扩展都消耗指数级云算力资源。原本前景光明查看来源专题页Hacker News 已收录 3818 篇文章

相关专题

inference optimization22 篇相关文章

时间归档

May 20262491 篇已发布文章

延伸阅读

AI推理成本悬崖:2026-2027将如何区分赢家与输家AI行业正沉迷于训练成本大战,但一场更隐蔽的危机正在酝酿。推理成本——每次用户查询的价格——将从2026年起成为规模化AI的最大障碍。这不是技术问题,而是决定哪些应用能存活的经济学问题。SFHformer:傅里叶变换与Transformer融合,掀起图像修复革命SFHformer通过将快速傅里叶变换(FFT)与Transformer架构深度融合,开创了图像修复的新范式。它直接在频域中运作,能精准分离噪声与精细纹理,在提供卓越重建质量的同时,计算成本远低于传统空间域模型。这一混合方法有望彻底改变实时Game Boy Color跑Transformer:极限AI压缩的艺术一位开发者完成了看似不可能的任务:在1998年的任天堂Game Boy Color上运行本地Transformer语言模型。通过极致量化和激进剪枝,这台仅32KB内存的8位掌机如今能生成基础文本,证明AI推理可以摆脱云端与高端GPU的束缚。AI推理市场大分裂:达尔文式专业化重塑竞争格局一刀切的AI推理时代正在终结。AINews深度分析揭示,一场达尔文式的市场分裂正在上演——针对延迟、吞吐量或单任务成本进行优化的专业化推理栈,正在形成决定性的竞争优势,迫使整个AI市场进行根本性重构。

常见问题

这次公司发布“CODA Rewrites Transformer Execution: One GEMM-Epilogue to Rule Them All”主要讲了什么?

For years, the AI industry has treated the Transformer as a sequence of discrete operations: a matrix multiply, a write to global memory, a Softmax read, another write, a LayerNorm…

从“CODA vs TensorRT-LLM latency comparison”看,这家公司的这次发布为什么值得关注?

CODA's core innovation lies in its treatment of the Transformer block as a single computational graph that is compiled into one fused GPU kernel. Traditional execution, as implemented in frameworks like PyTorch or Tensor…

围绕“CODA compiler open source release date”,这次发布可能带来哪些后续影响?

后续通常要继续观察用户增长、产品渗透率、生态合作、竞品应对以及资本市场和开发者社区的反馈。