大模型-模型架构-长上下文模型
一、实现长上下文模型的研究方向
- 拓展位置编码
- 调整上下文窗口
二、拓展位置编码
1、相关概念
- 外推能力:超出原始上下文窗口的文本上,也表现出较好的建模能力,称之为外推能力
- 关键子空间:某些子空间长度超过上下文窗口长度,导致模型在这些子空间上无法对完整的旋转周期进行训练,这些子空间通常被成为关键子空间
2、原理
基于RoPE进行改进
3、方案
- 直接微调
- 原理:直接使用长文本进行微调
- 位置索引修改
- 原理:通过修改位置索引来调整所有子空间的旋转角度,从而保证其不超过原始上下文窗口所允许的最大值
- 方式一:位置内插
- 原理:对于位置索引进行特定比例缩放
- 优点:训练代价小
- 缺点:对处理短文本会造成负面影响
- 方式二:位置截断
- 原理:不同位置采用不同方式,依据语言建模的局部性原理,对模型中近距离敏感的位置索引进行保留,同时截断或插值处理远距离位置的索引,确保其不超过预设的最大旋转角度
- 优点:模型无需训练即可应用于更长上下文,并且依然保持对短文本的建模能力
- 缺点:需要对注意力矩阵进行二次运算,增加了算力消耗
- 基修改
- 原理:对子空间的基进行缩放,从而影响旋转角度,从而保证上下文窗口的正常处理
- 方式一:底数调整
- 原理:按照一定比例增大底数,从而缩小旋转角度
- 方式二:基截断
- 原理:根据某一个阈值调整旋转角度
三、调整上下文窗口
1、原理
采用受限的注意力机制来调整原始的上下文窗口
2、方案
- 并行上下文窗口
- 原理:文本分段、独立编码,共享位置编码,生成阶段,通过调整注意力掩码,使得后续生成的词元能访问先前的所有词元
- 缺点:无法有效区分不同的段落顺序,某些情况下会限制模型能力
- ^形上下文窗口
- 原理:有选择性地查询词元邻近的及序列起始词元,忽略超出这一范围的其他词元
- 优点:能生成无限长的流畅文本
- 缺点:无法有效利用被忽略部分
- 词元选择
- 原理:跳出最重要的一部分词元,以实现对于完整注意力的有效拟合
- 实现方式
- 方式1:查询词元相似度
- 方式2:查询与词元所在分块的相似度
四、长文本数据准备
1、数据量
1B长文本数据量+百部训练=7B或13B的LLaMA,上下文窗口拓展到100K
2、数据混合
- 领域分布多样化
- 长文本类型多样化
- 去除杂乱型(杂乱无章的文本)
- 保留整体型(完整有意义的长文)
- 保留聚合型(多篇相关文本的聚合)