前言
在大语言模型(LLM)中,“上下文长度”一直是一个让人头疼的问题。
比如 Llama2 70B 的原生上下文只有 4k tokens,超过这个量,模型就会“记不住前面说过什么”。
但在 2024 年,香港大学团队提出的 DCA(Dual Chunk Attention,双块注意力机制) 让事情发生了变化:
它让模型在不做任何训练的情况下,就能把上下文扩展到 100k+ tokens!
更重要的是:
性能几乎不下降,推理速度还更快,内存占用更小。
DCA 是怎么做到的?
——诀窍就在于:把原本 L×L 的大注意力矩阵拆成多个“小块注意力”,并让这些小块之间正确“交流”。
为了理解这个思路,我们从这张图开始:

🧩 图里的三种注意力类型
- (a) Intra-Chunk Attention(块内注意力)
- (b) Inter-Chunk Attention(块间注意力)
- © Successive-Chunk Attention(连续块注意力)
这三个模块共同构成了 DCA 的“长程依赖”能力。
下面逐一解释。
1️⃣ 块内注意力(Intra-Chunk Attention)
对应图 (a),想象你把一个长文本切成多个 “Chunk”(段/块),每块大小约等于模型原来的上下文窗口,比如 4k。
块内注意力 = 每块自己内部的注意力。
在图里,这对应左上角和右上角那两个蓝色三角区域:
Chunk1 内部:蓝色数字 0~5
Chunk2 内部:蓝色数字 0~5
这些数字代表
模型认为 token 之间的相对位置。
👉 关键点:在每个块内部,位置编码完全照搬预训练时的方式。
因此模型在块内的表现跟原来一样好,这是 DCA 不需要训练的核心原因之一。
简化理解:
块内注意力 = 模型本来就会做的事情。
2️⃣ 块间注意力(Inter-Chunk Attention)
对应图 (b)
当 Query(q)在 Chunk 2,而 Key(k)在 Chunk 1 时,就属于块间注意力。
图 (b) 中的红色方块:
数字 9, 8, 7, ... 表示重映射后的“虚拟相对位置”
为什么这些数字这么大?
因为 q 和 k 位于很远的两段文本,真实相对距离已经超过模型的预训练范围(比如 >4k)。
但模型不能理解这样的超长距离,于是 DCA 做了一个巧妙的事情:
把太大的相对距离重新映射到模型能接受的范围内(例如 0~4096)—但仍保持远近关系不变。
比如真实距离可能是 9000,但 DCA 让模型看到的不是 9000,而是“模型熟悉的一个位置”,类似:
真实距离 9000 → 映射成 4000 内的某个安全位置
这保证了:
- 不超出模型原生位置编码的知识范围
- 还能让模型感受到“这是很远的 token”
这是 DCA 能扩展上下文长度的另一个关键。
3️⃣ 连续块注意力(Successive-Chunk Attention)
对应图 ©。这是最关键的一步,也是 DCA 独有的设计。
即:让相邻块之间的边界尽可能平滑。
图 © 结合了蓝色(块内)和红色(块间)两种注意力:
- 蓝色:当前块内部
- 红色:前一个块的后部
- 再加上一些连续区域的平滑过渡(W=4)
直觉上:
模型看 Chunk2 的开头时,必须知道 Chunk1 的结尾发生了什么。
如果这个过渡不顺畅,模型可能会“失忆”或“断裂”。
Successive-Chunk Attention 就是用来保证自然衔接的。
🧠 DCA 背后的数学思想(简化版)
整个序列长度为:
L
用块大小 w 划分成:

对每个块,我们做三种注意力:
块内注意力(正常)

块间注意力(重映射位置)

其中 Mij是“位置映射矩阵”,用于把超长距离映射到安全范围。
最终注意力 = 三者合并
确保:
- 局部信息(块内)不丢
- 跨块信息可访问
- 块与块之间连续
⚡ 为什么 DCA 如此强大?
1. 不需要训练
所有数学操作都只是在构造新的相对位置索引(模型能理解),
不动模型的任何权重。
2. 计算复杂度降低
原始注意力:

DCA:

如果 L=100k,w=4k
加速与节省内存都非常显著。
3. 保持性能
测试发现:
- 困惑度(PPL)基本不变
- 长文问答表现接近甚至优于训练过的长上下文模型
- 与 Flash Attention 2 完全兼容 → 速度更快
4. 对现有技术完全正交
可与以下技术叠加:
- NTK scaling
- PI (Position Interpolation)
- 多头位置编码增强
- RAG 系统
叠加后效果更强。
🔍 DCA 的应用场景
📄 长文档分析
如法律合同、论文、书籍、几十万字的 PDF。
🤖 对话系统的长记忆
几乎可以让 ChatGPT 式对话做到“长久记忆”。
🧑💻 大型代码库理解
跨文件依赖、长函数追踪、项目级代码分析。
📝 文档总结
在不丢失细节的前提下总结超长内容。
🔎 信息检索
直接把大量文档放进上下文,而不是靠外部向量数据库。
⚠ DCA 的局限
1. 对硬件仍然有要求
上下文越长,占用显存还是会线性增长。
2. 块大小很重要
不能太大也不能太小,否则性能下降。
3. 某些需要频繁跨块通信的任务效果一般
如 token 频繁依赖远处内容的任务(代码生成某些场景)。
🧭 总结:DCA 是“无需训练就扩展上下文”的革命性方法
一句话总结:
DCA 把 transformer 的注意力矩阵按块切开,用三种注意力方式重新组织,使模型在不训练的前提下也能理解十万字长文。
它带来的意义非常重大:
- 让任何 4k 模型变成 100k 模型
- 不训练、不微调
- 保持原本性能
- 推理更快、显存更省
随着长上下文需求爆炸增长(RAG、搜索、Agent),
DCA 将成为未来 LLM 应用的关键技术之一。
最后
为什么要学AI大模型
当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!
DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。

与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。

最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。
这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
AI大模型系统学习路线
在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。
AI大模型入门到实战的视频教程+项目包
看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

海量AI大模型必读的经典书籍(PDF)
阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。

600+AI大模型报告(实时更新)
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

AI大模型面试真题+答案解析
我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下


这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
DCA技术突破大模型上下文限制
3248

被折叠的 条评论
为什么被折叠?



