为什么上下文塞得越满,大模型越容易“忘掉“开头?——从注意力机制的本质拆解
一、先纠正一个直觉模型根本没有记所以谈不上忘大语言模型的本质是一台条件概率机每生成一个 token它做的事情只有一件——在前文context的条件下计算下一个词的概率分布然后采样。P(x_{t1} | x_1, x_2, ..., x_t)模型对上下文的全部记忆不在任何数据库里而是一次前向计算中对各 token 注意力权重的临时分配。所谓遗忘本质是这个临时分配出了问题——不是信息被删除了而是它在竞争中被压下去了。二、注意力稀释数学上的预算守恒Transformer 的注意力核心是 softmax 归一化Attention(Q, K, V) softmax(QKᵀ / √d) · V关键在于softmax 的每一行每个查询位置权重总和恒等于 1。这意味着注意力是一份固定大小的预算上下文只有 10 个 token 时重要的开头 token 可以轻松分到 0.3、0.5 的权重上下文塞到 10 万个 token 时即便开头 token 绝对重要它能分到的份额也被海量后续 token 摊薄。而且 QKᵀ 的点积没有上界约束当 key 数量爆炸时softmax 会让权重分布熵增——变得越来越平均、越来越谁都有点关系。稀释不是比喻是归一化的必然结果相关 token 的权重占比随上下文长度近似反比下降信噪比持续恶化。三、训练出来的位置先验远的天然打不过近的注意力权重不是随机分出来的是训练出来的偏好。三重因素叠加1. RoPE 位置编码的远距离衰减主流模型用旋转位置编码RoPE两个 token 的点积随相对距离增大而振荡衰减。模型天生看不太清十万字之前的东西——这不是 bug是编码方案的物理特性。2. 训练数据的分布烙印预训练语料中强相关的信息主语和谓语、问题和答案、指代和先行词绝大多数出现在彼此附近。模型学到一条统计捷径距离近 ≈ 相关度高于是上下文越长开头 token 被这条先验判为低相关的概率越大。3. 因果掩码的传话损耗自回归模型里第 1 个 token 的信息要影响第 100,000 个位置必须经由中间所有层、所有位置的逐级传递——像一个万人传话游戏。每一层的残差和注意力都在重新压缩信息到达末端时已面目全非。四、实验证据U 型曲线与Lost in the Middle经典研究Liu et al., 2023,Lost in the Middle: How Language Models Use Long Contexts发现把关键信息放在长上下文的不同位置让模型找答案准确率呈U 型——开头尚可、结尾最好、中间最差。结尾好指令遵循训练和近期性偏置recency bias开头能幸存靠的是注意力汇聚点attention sink等局部机制中间位置的指令几乎必然被稀释注意力的预算被首尾效应两头挤占。五、稀释的最终后果模型脑补回先验当开头指令的注意力权重被稀释到不足以压制输出分布时模型会退而求其次——回退到参数记忆里训练分布最强的模式最常见的话术、最套路的结构。这就是长上下文幻觉的来源模型不是记错了开头而是开头的话语权已经低于它的肌肉记忆。六、由此推出的应对策略每条都对应上面的机制底层机制对策注意力预算守恒控制上下文长度无关内容别塞位置先验偏弱关键指令放在开头或结尾锚定首尾效应传话损耗长任务中途做结构化摘要、显式重述约束稀释不可逆超长文档用 RAG 检索而非全文硬塞或选用支持超长上下文、带注意力稀疏化/压缩设计的模型七、一句话总结上下文越满开头 token 在 softmax 归一化的固定注意力预算里分到的份额越少叠加位置编码的远距离衰减和训练数据的近者优先先验开头信息的信噪比持续恶化——模型并非遗忘了它而是在概率竞争中输给了先验。

相关新闻

Git分支相关

Git分支相关

Git分支相关分支操作名称命令说明①git branch F2单纯创建分支②git checkout -b F2创建并且移动过去③git checkout F1切换分支到F1并且覆盖工作区常见操作命令查看本地分支git branch查看远程分支git branch -r查看所有分支git branch -a修改本地分支名git branch -m "原…

2026/10/11 4:04:58 阅读更多 →
Webpack模块打包器全解析:核心概念与构建优化实战

Webpack模块打包器全解析:核心概念与构建优化实战

如果你写过几个前端项目,大概率撞上过这样的场景:脚本文件多了之后,引入顺序稍有不对,页面就报出某个变量未定义;想用ES Module,又害怕浏览器兼容;改完样式要手动刷新,缓存还经常作对…

2026/10/11 4:04:58 阅读更多 →
生产白屏与not a function:Source Map和循环依赖排查实战

生产白屏与not a function:Source Map和循环依赖排查实战

凌晨十二点,负责上线的同事在群里发了一张截图:线上页面白屏,控制台里躺着一行Uncaught TypeError: l.a.browse is not a function。我第一反应是浏览器缓存,让他强刷、清缓存、换设备,全都没用。第二天拉下发布包本地…

2026/10/11 4:04:58 阅读更多 →

最新新闻

你不知道的 Claude Code:架构、治理与工程实践

你不知道的 Claude Code:架构、治理与工程实践

写在前面:本文基于我近半年持续落地 Claude Code 的真实踩坑经验,前后两个账号每月投入 40 刀,算是交了不少学费。最开始我也只是把 Claude Code 当成普通聊天机器人来使用,但是很快就发现各种问题:会话上下文越来越杂…

2026/10/11 4:56:27 阅读更多 →
Seaborn入门:从matplotlib到统计图形可视化实战

Seaborn入门:从matplotlib到统计图形可视化实战

1. Seaborn到底解决了什么问题1.1 从matplotlib的"能画"到Seaborn的"能看"我最早做数据分析可视化是从matplotlib起步的。坦白说,matplotlib功能非常强大,几乎没有它画不出来的图,但默认样式总带着一股"科研报告感&…

2026/10/11 4:56:27 阅读更多 →
MCP协议握手与LangGraph多服务调用实战解析

MCP协议握手与LangGraph多服务调用实战解析

1. 这不是又一个“AI架构科普”,而是一次真实项目里抠出来的协议细节“MCP 技术分享:从协议握手到 LangGraph 多 Server 调用”——看到这个标题,我第一反应不是点开看,而是下意识翻出自己上个月压在项目根目录下的mcp-server-go日…

2026/10/11 4:56:27 阅读更多 →
Ledger被盗超9300万美元:攻击者提前数周布局,间谍模块与经销商易主引发猜测

Ledger被盗超9300万美元:攻击者提前数周布局,间谍模块与经销商易主引发猜测

助记词没有外泄,也未与外部设备交互,硬件钱包里的资产却在一夜之间被转走。10月9日,一场涉及超9300万美元的资产被盗事件,将老牌硬件钱包Ledger推上风口浪尖。随着事件持续发酵,从第三方经销商被曝悄然易主&#xff0c…

2026/10/11 4:56:27 阅读更多 →
Cron+System+MCP:打造AI Agent定时巡检与智能运维的完整实践

Cron+System+MCP:打造AI Agent定时巡检与智能运维的完整实践

把Cron、System、MCP这三个词拼在一起,最早是我在给一个内部工具做定时巡检时冒出来的念头。Cron大家熟,Linux/Unix下最经典的定时任务调度器;System指的是系统层面的状态采集、进程管理、资源监控这些基础设施能力;至于MCP&#…

2026/10/11 4:56:27 阅读更多 →
企业微信API开发:消息模板怎么设计才方便维护?

企业微信API开发:消息模板怎么设计才方便维护?

在企业微信消息推送项目中,订单通知、售后提醒和客户跟进消息往往有不同的格式。 如果每个业务模块都通过字符串拼接生成内容,后期修改文案时容易出现格式不统一、字段遗漏等问题。 可以考虑将消息内容与业务逻辑分开管理。 一、把固定内容和动态字段…

2026/10/11 4:55:26 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →