上下文是软件,权重是硬件
摘要
Aravind Jayendran 认为,尽管更长的上下文窗口能提升 LLM 表现,却无法完全取代权重更新;他将上下文比作瞬态软件,而权重则是能根本改变模型能力的硬件。
暂无内容
查看缓存全文
缓存时间: 2026/04/22 10:31
# 上下文是软件,权重是硬件 —— Aravind Jayendran
来源:https://www.aravindjayendran.com/writing/context-is-not-learning
“如何让大模型持续学习?”(非从头训练)的默认答案是:把上下文窗口拉得更长。Opus 4.7 已经给到 1M token,KV 缓存压缩日新月异,线性注意力变体让长上下文计算成本骤降。背后的隐含假设是:只要上下文足够长、足够便宜,就不用再让模型更新自身权重。
这个假设漏掉了一个关键维度。要看清问题,得先搞清楚上下文和权重在 Transformer 内部到底在做什么。它们比你想象的更像,也比“一个临时、一个永久”这种二分法更根本。
## 上下文和权重到底在干嘛
Transformer 的每一层都会产生激活值:内部表示,既流向下一层,也最终决定输出。上下文(通过 KV 缓存)和权重都在塑造这些激活值——只是机制不同,干的却是同一份工作。
微调时,你改的是权重。于是任何输入在每一层的变换方式都变了,激活值整体滑向新分布。给模型看足够多的法律合同,它的内部表示就会重组,更擅长处理法律语言,且**永久生效**。
做上下文学习时,KV 缓存里塞满来自提示的键值对。这些缓存通过注意力影响后续 token 的加工,激活值同样会大幅偏移——少样本提示之所以有效,就是靠这些缓存把内部计算“掰”成示范的模式。但把上下文一清,激活值立刻回到默认状态。
同一份工作,不同机制。一个永久,一个临时。
这不是纯概念。Von Oswald 等人(2023)证明,对线性自注意力,上下文学习带来的激活偏移在数学上等价于一步梯度下降——正是微调用的那步操作。KV 缓存某种意义上就是一次**瞬态权重更新**。Mahankali 等人进一步证明,对单层线性 Transformer 这是最优的。
既然干的事一样,用谁还重要吗?
## 软件 vs 硬件
把冻结的权重想成硬件:它决定了模型能跑什么运算、识别什么模式、构建什么表示。上下文则是跑在这块硬件上的软件。
一颗设计良好的通用 CPU 能跑各种程序:x86 既能码字,也能渲染,还能做 ML 推理——指令集足够丰富。同理,一个预训练充分的 LLM 靠上下文学习就能翻译、推理、写代码、做风格迁移。
但软件有硬件无法绕开的天花板:芯片没浮点单元,你软件能模拟,却慢且精度受限;没有 SIMD,矩阵乘法也能跑,却比专用电路慢几个量级。程序可以无限长,指令集却是固定的。
改权重等于给架构加新指令。不是写更长的程序,而是**重新设计芯片**。
## 把上下文做长的最强理由
在抬杠“权重更重要”之前,得先承认“更长上下文”为什么诱人。
现代 LLM 可不是随机芯片。它们天生为上下文学习而生:预训练时,权重与 KV 缓存协同进化,模型被优化成元学习机器——权重就是为了把“靠上下文偏移激活”这件事做到极致。这套“指令集”本就为这种用法量身定制。
这意味着,在预训练数据覆盖的任务空间里,上下文学习可以极其表达,多数任务确实可能**不需要**改权重。
你还可以说“持久性”只是工程问题:前缀缓存、KV 序列化、甚至存文本重新计算,都能让上下文“记住”而不碰权重;而且上下文可解释——人能看到模型读了什么,权重变化却是一片黑盒。
这些论点都成立。“把上下文做长就够用”的立场,比多数“权重派”愿意承认的更强。Letta 的《Continual Learning in Token Space》把话挑明了,即使不认同也值得一读。
## 天花板
但冻结的权重本质是一套**固定的元学习算法**,只在预训练分布里被优化。分布之内威力巨大,一到边界就撞天花板。
当目标行为需要预训练里没出现过的内部表示时,再长的上下文也**生造**不出那些表示。程序可以无限长,指令集缺 primitives,就永远算不出目标函数。
想想哪些东西落在预训练分布之外?不是玄学,而是日常细节:你司代码库的架构约定、你行业的监管细则、你个人的思考习惯、你们十人小队的内部黑话。通用预训练覆盖的是通用知识,人类长尾细节天然不在其列。
这时候改权重才关键。它不只是换程序,而是**加新电路**——以前不存在的内部表示、预训练元学习器从未长出的计算通路。模型不仅行为不同,还**获得以前算不出的能力**。
在分布偏移任务上,微调模型始终碾压提示模型,哪怕提示再长——这就是天花板存在的实证签名。
## 就算没撞天花板,权重仍赢
退一步,假设上下文真能表达权重能做到的一切,**成本结构**也完全不同。
**推理成本**:知识进权重,每步前向 O(1);靠上下文,每生成一个 token 都要扫一遍完整 KV 缓存,O(n),n 为上下文长度。百万 token 上下文,每吐一个词都要 attend 一百万条缓存。
**压缩率**:一个 LoRA 适配器几 KB 就能搞定领域迁移;等价效果的上下文示例可能要几百万 token。同功能,存储差几个量级。
**可组合性**:权重更新可叠加——第一步改计算,第二步在**新**计算上继续改。每一步都往函数空间更远处走。这是 Von Oswald 结果的实践含义:上下文学习≈一步梯度下降;**真·学习**需要多步累积。
这些不是工程边角料。当一件事从软件升到硬件、从解释执行到原生指令,速度差就是**质变**。没人会说“GPU 只是 CPU 矩阵乘的优化”——速度差直接开启全新应用。
## 诚实承认
我们还没有干净定理证明“权重可到达的函数类严格包含上下文能到的类”。形式化分离仍是开放问题。
现有的是:Von Oswald 结果(ICL≈一步梯度下降,而单步移动有界)、大量实证(分布偏移任务上微调全面碾压提示)、以及一条架构事实——上下文改的是**输入**,权重改的是**计算本身**。真实 Transformer 比线性注意力证明凌乱得多,但差距在实践中可观测。
能形式化证明或证伪这一分离,将是对上下文学习理论的重要贡献。理论没跟上,实际差距却已摆在那儿。
## 答案是“都要”
这不是上下文**或**权重,而是上下文**加**权重。
进化也碰到同样约束:快而短暂的记忆(海马)便宜却容量有限,慢而持久的记忆(皮层)昂贵却海量。解法不是把海马无限做大,而是发展出**转移策略**(睡眠巩固),把合适的东西从快存储搬到慢存储。大脑两套记忆系统互补,而非互斥。
上下文窗口会继续变长——很好,它解决的是**工作记忆**问题:把当前任务需要的信息摆在手边。权重空间学习解决的是另一件事:**积累**那些需要持久、可泛化、并融入模型本能的知识。两者都必要,单独谁都不够。
如果你想知道“权重空间学习”到底怎么落地,我在《Language Models Are Few-Shot Learners — They Just Can't Remember》里写了三条已有研究路线,组合起来就能指向一个具体机制。真正的少样本学习者已在路上——他们只是需要两套记忆系统。
相似文章
从历史到状态:面向 LLM 智能体的恒定上下文技能学习
本文介绍了“恒定上下文技能学习”,这是一种将程序性知识从提示词迁移到模型权重中的框架,旨在降低 LLM 智能体的 Token 使用量并提升隐私性。该方法在 ALFWorld 和 WebShop 等基准测试中表现出色,同时显著降低了推理成本。
LongAct:利用内在激活模式进行长上下文强化学习
LongAct 提出了一种显著性引导的稀疏更新策略,通过选择性更新与查询和键向量中高幅值激活相关的权重来改进 LLMs 的长上下文推理能力,在 LongBench v2 上实现了约 8% 的提升。
@simplifyinAI:微软刚刚解决了上下文窗口难题
微软刚刚解决了上下文窗口难题。目前,所有 AI 都存在致命短板:上下文窗口问题。当 AI 推理复杂问题时,会生成极长的思维链,但问题是它必须把每一个 token 都保留下来。
衡量开源权重 LLM 中的评估上下文发散:一种配对提示协议及对对齐管线特定异质性的初步证据
本文介绍了一种配对提示协议,用于衡量开源权重大型语言模型(LLM)中的“评估上下文发散”,研究发现模型的行为会根据提示是被框定为评估还是实际部署而有所不同。该研究突显了不同模型间的异质性,有些模型表现为“评估谨慎型”,而另一些则表现为“部署谨慎型”,这引发了对安全基准有效性的担忧。
开源权重模型正在悄然封闭——这是一个问题
文章认为,开源权重AI模型变得愈发受限的趋势对市场竞争构成了威胁,因为这些模型目前为对抗前沿闭源模型提供商提供了必不可少的价格约束和隐私选项。