IBM扩展Granite代码模型到128K上下文

随着代码库级别任务(Liu et al., 2024; 2023b)和软件开发代理(OpenDevin Team, 2024)的发展,长上下文长度成为代码语言模型的重要特性。虽然许多专有的大型语言模型,如GPT-4、Gemini和Claude,支持非常长的上下文窗口,但大多数开源代码语言模型只能提供相对较短的上下文窗口(CodeGemma Team et al., 2024; Rozière et al., 2023)。这种短上下文长度限制了开源代码语言模型在实际软件开发中的实用性。

本文介绍了支持有效上下文长度达128K的Granite代码3B和8B系列代码语言模型。为了实现扩展的上下文长度,我们首先通过存储库级代码语料库和上采样长上下文存储库对Granite代码3B/8B基础模型进行持续预训练。然后,我们在短上下文和长上下文指令数据的组合上对持续预训练的模型进行指令微调。由于缺乏长上下文指令数据,我们通过我们的原始Granite-8B-Code-Instruct模型从存储库级文件打包文档生成多轮指令数据,以避免对现有长上下文模型的依赖。

长上下文建模

我们的扩展Granite代码模型上下文长度的方法包括持续预训练和指令微调阶段。类似于之前的工作(Fu et al., 2024),我们假设在大型预训练过程中,模型已经获得了使用任意输入位置信息的能力,这种能力可以通过对适当数据混合进行轻量级训练,扩展到远超原始预训练期间所见的上下文长度(例如,从4K扩展到128K)。

持续预训练

我们使用序列并行化(Li et al., 2021)通过逐渐增加RoPE基频来持续预训练全注意力Granite代码基础模型,而不使用任何稀疏或

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

步子哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值