arXiv 预印本Indraneil Paul论文88
OctoLong:在跨代码仓库上下文上进行中期训练,提升长上下文建模能力
原标题:OctoLong: Mid-Training On Cross-Repository Code Contexts Enhances Long-Context Modeling
语言模型(LM)的上下文长度在对上下文学习、自我改进和长程智能体工作流的需求推动下大幅增加。然而,现有的长上下文语料库主要由书籍、学术文章和代码仓库构成,这些资源数量有限,并且通常缺乏长距离依赖关系。在本工作中,我们提出了 OctoLong,这是一种上下文工程流水线,通过对 AST 解析器、语言服务器后端和包管理器进行集成,促进对代码引用的递归检索,从而能够整理出长度达数百万 token、富含依赖关系的代码上下文。随后,我们训练了 OctoLong-Instruct,这是一套能力出色的长上下文开放式语言模型。该模型基于参数规模从 600M 到 14B 不等的基础模型,通过在包含约 500 亿 token 的混合数据集上进行上下文扩展中期训练而得到,其中约 62 亿 token 来自 OctoLong 代码上下文,之后又进行了约 100 亿 token 的指令微调。我们的训练消融实验以及与 18 个最先进的开放权重长上下文语言模型进行的实验评估表明,仅用 OctoLong 数据替代传统上下文扩展语料库中的 12%,就能显著提升长程检索、长期状态跟踪、仓库级代码理解和下游智能体任务的性能,同时还能增强短上下文编码场景中的 API 使用能力。
为什么值得读
长上下文竞争正从单纯扩大窗口转向构造高依赖密度数据;这项工作给出了代码智能体训练数据与中期训练的具体路径。
标签
长上下文代码模型代码仓库智能体中期训练数据工程开源模型