长文本extent
将长文本的pre-train被分成两个阶段:
- initial phase:训练一个4,096-token context length的基础模型
- extension phase:除了Qwen2.5-Turbo,其他模型都是把 context length 从 4,096 扩展到 32,768 tokens实现的long-context
在Qwen2.5-Turbo上,实现了渐进式的extent策略,content length增长分成四个阶段:32,768(32K) → 65,536(64K) → 131,072(128K)→ 262,144(256K)。最后RoPE的基础频率增加到了10,000,000(10M)。
在每个阶段,通过精心调配训练数据,保证数据集中有40%的数据达到当前context的最大长度,60%为短一点的文本。根据报告的描述,这样渐进式的方法可以在正常context length同时保证模型在处理不同长度文本的性能。
选择extent的方法,一方面的考量是算力 长上下文的技术挑战——算力
需要提一下,Qwen2.5-Turbo和其他模型不同,它并没有开源模型参数,而只有API,包括HuggingFace的playground:https://huggingface.co/spaces/Qwen/Qwen2.5-Turbo-1M-Demo
位置编码
- RoPE:一种位置编码技术,已经是目前大模型的标配了
- ABF(Attention with Binned Frequency Encoding):用于将RoPE的基础频率,从10,000增加到1,000,000。通过增加RoPE的基础频率,模型能够更细致地捕捉长序列中的位置信息,这对于长文本来说非常关键。
长文本推理
为增强模型在长文本下的推理性能,应用了两个关键词策略
- YARN:YaRN: Efficient Context Window Extension of Large Language Models
- 一种基于RoPE的扩展方法
- Dual Chunk Attention (DCA): Training-Free Long-Context Scaling of Large Language Models
- 通过分块后,融合块内注意力(Intra-Chunk)和块间注意力(Inter-Chunk)实现无训练的context外推
通过上面两个技术的应用,模型上下文长度增长四倍达到了1M(100w),而其他通过extent训练得到上下文长度为32K的模型,也翻四倍,增长到了128K。
值得注意的是,这些方法不仅通过降低困惑度来改善长序列的建模,而且还保持了模型在较短序列上的强劲性能,确保了在不同输入长度下的一致质量
模型在长上下文下的表现
RULER数据集

LongBench-Chat数据集

Passkey Retrieval数据集

推理性能

Loading Comments...