论文

OctoLong:跨仓库代码上下文的中期训练改善长上下文建模

OctoLong: Mid-Training On Cross-Repository Code Contexts Enhances Long-Context Modeling

模型训练合成数据

摘要

受上下文学习、自我改进和长时程Agentic工作流需求推动,语言模型的上下文长度显著增加。但现有长上下文语料以书籍、论文和代码仓库为主,这些资源有限,且往往缺少远距离依赖。作者提出上下文工程管线OctoLong,结合AST解析器、语言服务器后端和包管理器,递归检索代码引用,整理长度达数百万Token、包含丰富依赖关系的代码上下文。以600M至14B参数的基础模型为起点,先在约500亿Token混合语料上进行上下文扩展中期训练,其中约62亿Token来自OctoLong代码上下文;随后进行约100亿Token的指令微调,得到长上下文开放模型系列OctoLong-Instruct。训练消融和与18种先进开放权重长上下文模型的比较显示,只将传统上下文扩展语料的12%替换为OctoLong数据,就能显著改善长距离检索、长期状态跟踪、仓库级代码理解与下游Agentic任务,同时提升短上下文编程场景中的API使用能力。

OctoLong:跨仓库代码上下文的中期训练改善长上下文建模:论文配图
图 1:开放权重 LM 的上下文长度。这一趋势呈指数级增长,平均每 5 个月翻一番。