论文

作为记录写入,作为地址读取:前向传递在操作的 KV 缓存中留下什么

Written as a Record, Read as an Address: What a Forward Pass Leaves in an Operation's KV Cache

模型评测模型行为与机制分析

摘要

当语言模型读取诸如“交换框 F 和框 B 的内容”之类的操作时,其前向传递会将这些标记的键和值写入 KV 缓存。先前有关实体跟踪的工作确定了模型使用的内容:绑定在查询时解析,而不是存储为显式潜在状态。我们询问他们在操作范围内写了什么以及如何访问它。我们将前向传递分为冻结写入器和读取器:写入器的缓存在没有梯度的情况下重新计算,而读取器仅看到指令和操作词元,隐藏所有状态描述,并进行隔离训练。因此,读取器恢复的任何内容都已经存在于未修改的缓存中。在合成框任务中,基础读取器在训练后针对 $0.75$--$1.00$ 恢复 $\leq 0.06$ 的查询绑定,并且可恢复性跟踪操作的读/写足迹。我们发现有两种访问方式。在 Llama-3.1-8B 和 Mistral-7B 中,操作跨度移植会因果地重定向读取的可见状态,即使两个世界拥有相同的值,从而揭示路由记录。隔离训练保留路由并添加对有效负载的直接访问,即操作从狭窄的中深度带中的单个操作数名称标记(Llama-3.1-8B 中的 32 层中的第 12--15 层,Mistral-7B 中的 14--17 层)中的单个操作数名称标记中读取的值——与保存路由记录的站点相同。同样的方法可以扩展到其他操作、ToMi 和 GSM8K,但受到训练覆盖范围和开卷准确性成本的限制。因此,操作词元留下本地化的、因果可恢复的记录,支持路由和直接有效负载访问,尽管写入它们的模型主要读取它们携带的地址而不是值。