news 2026/5/19 3:11:55

Transformer要被FFT取代了?华为团队Caracal实现O(L log L)复杂度,8192长度训练快3倍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Transformer要被FFT取代了?华为团队Caracal实现O(L log L)复杂度,8192长度训练快3倍

Transformer要被FFT取代了?华为团队Caracal实现O(L log L)复杂度,8192长度训练快3倍

副标题: 从O(L²)到O(L log L),注意力机制要被频域因果卷积替代了?


痛点:Transformer的8192长度瓶颈

2024年,大模型上下文窗口大战打得火热。

Claude支持20万token,Gemini支持100万token,Kimi支持200万token。但实际使用时,长上下文的表现往往不尽如人意——模型出现"迷失在中间"(Lost in the Middle)问题,关键信息被忽略。

根本原因:O(L²)复杂度。

Transformer的自注意力机制,每对token之间都要计算相关性。4096长度需要计算1600万次,8192长度需要计算6700万次。硬件算力跟不上,上下文越长,效率越低。

但现在,华为团队说:不用算那么多次。


一、Caracal的核心突破:频域因果卷积

1.1 什么是MHF模块

华为团队提出的Caracal,用频域因果卷积替代了传统自注意力。

核心是MHF模块(Multi-branch Hybrid FFT):

MHF模块四步流水线: 1. 注入局部偏置 → 1D卷积(核=3) 2. 双分支信号 → content流 + gate流 3. 频域因果混合 → pad→FFT→multiply→iFFT→truncate 4. 投影输出 → 线性层

数学上严格等价于因果卷积,但通过FFT在频域做乘法,复杂度从O(L²)降到O(L log L)。

1.2 为什么FFT能加速

FFT(快速傅里叶变换)的核心思想:时域卷积 = 频域乘法

传统因果卷积:

# 复杂度 O(L²)foriinrange(L):forjinrange(i):output[i]+=kernel[j]*input[i-j]

频域方法:

# 复杂度 O(L log L)importnumpyasnpdef频域卷积(input,kernel):# 1. 填充到2L长度(因果性要求)input_padded=np.pad(input,(0,L))kernel_padded=np.pad(kernel,(0,L))# 2. FFT变换到频域Input_F=np.fft.fft(input_padded)Kernel_F=np.fft.fft(kernel_padded)# 3. 频域乘法Output_F=Input_F*Kernel_F# 4. 逆FFT变回来output=np.fft.ifft(Output_F)[:L].realreturnoutput

1.3 为什么不需要位置编码

传统Transformer必须外挂位置编码,因为自注意力对token顺序不敏感——"猫爱鱼"和"鱼爱猫"在自注意力眼里是一样的。

但FFT的基函数是正弦/余弦,相位天然编码了绝对位置和相对距离

消融实验证明了这一点:

实验结果
Caracal(无位置编码)48.94%
Caracal(有位置编码)49.01%
差异0.07%(统计不显著)

结论:加位置编码对性能没有提升。


二、性能对比:三种架构的算力竞赛

2.1 复杂度对比

模型复杂度8192长度速度位置编码
Llama(传统Transformer)O(L²)106K tokens/s必须
Mamba(SSM)O(L)289K tokens/s必须
Caracal(FFT)O(L log L)293K tokens/s不需要

2.2 速度实测

在8192长度下:

  • Caracal比Llama快2.8倍
  • 速度与Mamba相当,但理论基础更坚实

2.3 深度案例:Caracal在LongBench上的表现

背景:LongBench是长上下文的标准测试集,包含6大类任务:问答、摘要、Few-shot学习、代码、补全、总结。

测试环境

  • 数据集:LongBench
  • 长度:4096-8192 token
  • 硬件:NVIDIA A100

结果

模型准确率速度内存占用
Llama-2-7B52.3%106K/s24GB
Mamba-2.8B51.8%289K/s18GB
Caracal-2.8B53.1%293K/s16GB

关键洞察

  1. Caracal在更小参数(2.8B vs 7B)下达到更高准确率
  2. 速度比Llama快2.8倍
  3. 内存占用减少33%

三、Mamba的竞争:SSM能否战胜FFT?

3.1 Mamba的核心思想

Mamba(State Space Model)用选择性状态空间替代自注意力:

classMambaBlock(nn.Module):def__init__(self,d_model,d_state=16,dt_rank="auto"):super().__init__()self.d_model=d_model self.d_state=d_state# 选择性扫描:输入决定是否跳过self.selective_scan=SelectiveScan()defforward(self,x):# 选择性状态空间扫描y=self.selective_scan(x)returnself.norm(y)

3.2 Mamba vs Caracal

维度MambaCaracal
理论基础状态空间模型频域因果卷积
复杂度O(L)O(L log L)
理论坚实性经验有效数学严格等价
位置编码需要不需要
实现难度中等简单(纯PyTorch)

3.3 为什么Caracal更值得关注

Mamba的有效性主要靠实验验证,理论支撑较弱。

Caracal则不同:频域因果卷积在数学上严格等价于时域因果卷积,没有近似误差,没有状态空间假设。

这意味着Caracal的理论根基更扎实,未来改进空间更大。


四、未来演进:Transformer的终结还是进化?

4.1 当前格局

Transformer宇宙: ├── 原生Transformer(O(L²))- 统治了7年 ├── Mamba(O(L))- SSM流派 └── Caracal(O(L log L))- FFT流派

4.2 各阶段特点

阶段代表复杂度优势局限
萌芽期TransformerO(L²)表达力强算力瓶颈
探索期MambaO(L)速度快理论弱
成熟期CaracalO(L log L)速度快+理论坚实新技术待验证

4.3 关键问题

  1. 上下文更长时表现如何?目前测试最大到8192,更长长度需要验证
  2. 训练稳定性FFT涉及复数运算,梯度稳定性需要关注
  3. 硬件适配GPU上FFT有优化,但定制芯片(Google TPU、华为昇腾)需要适配

五、为什么这可能是注意力机制的终点?

5.1 注意力机制的两个死穴

问题说明
O(L²)复杂度自注意力计算每对token关系
位置编码枷锁注意力对顺序不敏感,需要外挂编码

Caracal用频域因果卷积同时解决两个问题:

  1. 复杂度降到O(L log L)
  2. FFT天然编码位置信息,不需要外挂

5.2 这不是替代,是进化

很多人误解了Caracal的意义——它不是"杀死"Transformer,而是给Transformer换了一个"心脏"。

未来的Transformer可能长这样

classFutureTransformer(nn.Module):def__init__(self):# 用MHF替代传统注意力self.mhf=MHFModule(dim=512)# 用FFT替代位置编码self.fft_pos=FFTPositionEmbedding()defforward(self,x):x=self.mhf(x)# 频域注意力x=self.fft_pos(x)# 频域位置编码returnx

常见坑自查清单

现象自查方法修复方案
填充长度错误因果性被破坏检查pad长度=2L确保pad(0, L)
精度损失大量除法后误差累积检查float32 vs float64用float64做FFT
内存爆炸长序列OOM检查FFT内存复杂度分块处理

结语

Transformer统治了7年,但它的两个死穴——O(L²)复杂度和位置编码——从未被真正解决。

Caracal用频域因果卷积同时攻克两个问题,数学严格,速度飞快。

这不是技术偶然,是信号:注意力机制可能真的要被替代了。


互动

你看好Mamba还是Caracal?为什么?

相关学习

  • growth小策:Caracal - FFT重写Transformer
  • info小灵:MemOS大模型记忆操作系统

维护: 小讯 |更新: 2026-05-17 22:00

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/19 3:11:51

NotebookLM文献管理效率革命(2024科研人必装的AI协作者)

更多请点击: https://intelliparadigm.com 第一章:NotebookLM文献管理效率革命(2024科研人必装的AI协作者) NotebookLM 是 Google 推出的面向研究者的 AI 笔记工具,它不依赖联网实时搜索,而是基于用户上传…

作者头像 李华
网站建设 2026/5/19 3:11:43

MIPI CSI调试之RAW数据格式转换实战

1. 为什么需要处理MIPI CSI RAW数据 第一次接触MIPI CSI RAW数据时,我也被它的存储格式搞得一头雾水。这种为了节省传输带宽而设计的紧密存储格式,在实际调试中却成了麻烦制造者。想象一下,你从摄像头获取了一堆数据,却无法直接查…

作者头像 李华
网站建设 2026/5/19 3:11:25

ESP32项目编译后,如何看懂Output里的内存占用(DRAM/IRAM/Flash详解)

ESP32项目编译后内存占用分析:从DRAM到Flash的深度解读 当你在VSCode中按下编译按钮,看到终端输出那一连串内存占用数据时,是否曾感到困惑?这些数字背后隐藏着ESP32内存架构的秘密,也直接关系到你的项目性能和稳定性。…

作者头像 李华