2026年了,大家还在为LLM推理速度发愁吗?

内存带宽这堵墙,撞得人头疼。

但最近有个叫 SkyLight 的框架,干了一件很“赛博朋克”的事:

它让 AI 自己去写代码,优化稀疏注意力算法。

结果呢?从一个“智障”的滑动窗口基线,一路进化到了媲美人类顶尖水平(SOTA)的 vAttention 性能。

说实话,这有点像让猴子写莎士比亚,只不过这次猴子真的写出来了。

这里的瓶颈是“内存”

AI配图

先说背景。

现代大模型推理分两步:Prefill(预填充)和 Decode(解码)。

Prefill 阶段算得飞快,GPU 吃得很饱。

到了 Decode 阶段,也就是生成文字的时候,情况变了。

模型每生成一个 token,都要去翻一遍以前的 KV Cache。

这时候,GPU 核心其实是在摸鱼,它在等数据从内存里搬过来。

Figure 1: Decoding is bounded by memory

这就是著名的“内存墙”。

为了翻过这堵墙,稀疏注意力(Sparse Attention)成了香饽饽。

简单说,就是别让每个 token 都盯着之前所有的 token 看,只挑重点看。

这能大幅减少内存搬运,速度自然就上去了。

Figure 2: Sparse attention in LLMs

让 AI 当“产品经理”

UC Berkeley 的 ADRS 团队搞了个 SkyLight 框架。

他们的想法很野:既然算法优化这么难,为什么不交给 AI 自己去试?

他们找来了 Cursor 的 Agent,给它一个最简陋的代码——一个简单的滑动窗口注意力。

目标只有一个:在只选 10% token 的前提下,把近似误差降到最低。

有意思的是,这个 AI 并没有瞎蒙。

第一轮迭代,它就自己“悟”出了 Top-K 选择策略——也就是只看分数最高的那几个 token。

这显然是它训练数据里学来的知识,直接复用到了新任务里。

接着,它开始玩花活。

它尝试调整 Top-K、滑动窗口和 Sink Token 的比例。

甚至,它还自己发明了“位置偏差”,觉得离得近的 token 更重要。

到了第 25 到 30 次迭代,性能曲线直接拉起,看起来相当猛。

Figure 6: Evolution progress over time with Cursor

关键的两行代码

但故事到这里并没有结束。

AI 在第 28 次迭代达到了巅峰,然后就卡住了。

不管怎么试,分数就是上不去。

研究人员有点急,直接提示它:“去试试采样(Sampling),利用概率掩码。”

AI 试了,结果反而更烂。

它自己都得出结论:还是第 28 次的版本最好。

AI配图

这时候,人类专家出手了。

他们去检查 AI 写的那堆采样代码,发现问题其实很简单:

采样过程有个小 bug,掩码值也没设对,导致数学估计有偏差。

人类只改了两行代码。

仅仅两行。

性能瞬间起飞,直接追平了目前业界的 SOTA 方案——vAttention。

![Figure 8: Cursor generated code vs manual fixes](https://adrs-ucb.notion.site/image/https%3A%2F%2Fhackmd.io%2F_uploads%

参考链接:
https://x.com/istoica05/status/2017030501857710365