DeepSeek 的长上下文扩展机制
DeepSeek 在基础预训练完成后,引入 YaRN(Yet another RoPE extensioN method)技术,通过额外的训练阶段将模型的上下文窗口从默认的 4K 逐步扩展至 128K。整个过程分为两个阶段:第一阶段将上下文窗口从 4K 扩展到 32K;第二阶段则进一步从 32K 扩展到 128K。每个阶段均采用相同的 YaRN 配置,并在解耦的共享 key(decoupled shared key)上应用 Rotary Position Embeddings,以保证扩展过程中的位置编码精度与计算效率。
YaRN 方法概述
YaRN(Yet another RoPE extensioN method)是一种基于 Rotary Position Embeddings (RoPE) 的高效上下文扩展技术。它通过在自注意力模块中对位置编码进行调整,使模型能够在处理更长序列时保持原有的位置信息精度,同时显著减少计算和内存开销 。
在具体实现上,YaRN 只作用于解耦的共享 key(decoupled shared key),避免了对整个注意力结构的全面修改,从而最大程度地保持模型原有性能与稳定性。
在 DeepSeek 中的应用流程
-
基础预训练
DeepSeek