Index SLM 技术报告

arXiv cs.CL 论文

摘要

Bilibili 发布了 Index-1.9B 系列开源小语言模型,该系列在 2.8 万亿 token 上进行了预训练,在基准测试中取得有竞争力的性能。四个模型包括基础版、纯净版(无指令数据)、聊天版以及带有检索增强生成用于角色扮演的角色版。

arXiv:2607.09885v1 公告类型: 新 摘要: 我们介绍了 Index-1.9B,这是 Bilibili 开发的一系列开源小语言模型。该系列包含四个模型:Index-1.9B-Base,一个具有 19 亿非嵌入参数的基础模型,在 2.8 万亿个以中文和英文为主的 token 上进行了预训练;Index-1.9B-Pure,一个使用相同配方训练的对照变体,但所有类似指令的数据都从语料库中严格过滤;Index-1.9B-Chat,通过监督微调和直接偏好优化从基础模型对齐得到;以及 Index-1.9B-Character,该模型通过检索增强生成增强了聊天模型,用于少样本角色扮演定制。预训练采用了预热-稳定-衰减学习率调度,在衰减阶段大幅提高了精选数据的浓度,同时结合了归一化头部输出层,该层在大学习率下稳定训练。在一套涵盖考试、推理、数学和代码的标准基准测试中,Index-1.9B-Base 的平均得分为 64.92,与几倍于其规模的开源模型相比具有竞争力或更优。我们进一步报告了关于模型深度、学习率大小和调度、学习率衰减与数据质量之间的相互作用,以及在预训练中包含指令数据的影响的对照研究,并记录了在恒定学习率阶段中期基准性能出现的一次无法解释的激增。所有模型以及评估代码均已发布在 https://github.com/bilibili/Index-1.9B。
查看原文
查看缓存全文

缓存时间: 2026/07/14 04:20

# Index SLM 技术报告
来源:https://arxiv.org/html/2607.09885

###### 摘要

我们推出了 Index-1.9B 系列,这是哔哩哔哩开发的一系列开放小型语言模型。该系列包含四个模型:Index-1.9B-Base,一个拥有19亿非嵌入参数的基础模型,在2.8万亿个主要为中文和英文的token上进行了预训练;Index-1.9B-Pure,一个控制变体,使用相同的训练方法,但所有类似指令的数据都从语料库中严格过滤;Index-1.9B-Chat,通过监督微调和直接偏好优化从基础模型对齐得到;以及Index-1.9B-Character,通过检索增强生成增强聊天模型,实现少样本角色扮演定制。预训练采用了 Warmup-Stable-Decay 学习率调度,在衰减阶段大幅提高了精选数据的集中度,并结合了 Norm-Head 输出层,在大学习率下稳定训练。在一套涵盖考试、推理、数学和代码的标准基准测试中,Index-1.9B-Base 的平均得分为64.92,与比其大数倍的开源模型相比具有竞争力甚至更优。我们进一步报告了关于模型深度、学习率大小和调度、学习率衰减与数据质量之间的相互作用,以及在预训练中包含指令数据效果的受控研究,并记录了在恒定学习率阶段中途出现的一次无法解释的基准性能激增。所有模型及评估代码均已开源发布于 https://github.com/bilibili/Index-1.9B。

###### 目录

1. 1 引言 (https://arxiv.org/html/2607.09885#S1)
2. 2 预训练 (https://arxiv.org/html/2607.09885#S2)1. 2.1 数据 (https://arxiv.org/html/2607.09885#S2.SS1) 2. 2.2 分词器 (https://arxiv.org/html/2607.09885#S2.SS2) 3. 2.3 模型架构 (https://arxiv.org/html/2607.09885#S2.SS3) 4. 2.4 训练方案 (https://arxiv.org/html/2607.09885#S2.SS4) 5. 2.5 基础设施 (https://arxiv.org/html/2607.09885#S2.SS5)
3. 3 对齐 (https://arxiv.org/html/2607.09885#S3)1. 3.1 监督微调 (https://arxiv.org/html/2607.09885#S3.SS1) 2. 3.2 直接偏好优化 (https://arxiv.org/html/2607.09885#S3.SS2)
4. 4 少样本角色扮演 (https://arxiv.org/html/2607.09885#S4)
5. 5 评估 (https://arxiv.org/html/2607.09885#S5)1. 5.1 设置 (https://arxiv.org/html/2607.09885#S5.SS1) 2. 5.2 基础模型结果 (https://arxiv.org/html/2607.09885#S5.SS2) 3. 5.3 聊天模型结果 (https://arxiv.org/html/2607.09885#S5.SS3) 4. 5.4 角色扮演结果 (https://arxiv.org/html/2607.09885#S5.SS4)
6. 6 讨论 (https://arxiv.org/html/2607.09885#S6)1. 6.1 稳定 LM 头:Norm-Head (https://arxiv.org/html/2607.09885#S6.SS1) 2. 6.2 深度与宽度 (https://arxiv.org/html/2607.09885#S6.SS2) 3. 6.3 学习率大小 (https://arxiv.org/html/2607.09885#S6.SS3) 4. 6.4 学习率调度 (https://arxiv.org/html/2607.09885#S6.SS4) 5. 6.5 结合学习率衰减与数据质量 (https://arxiv.org/html/2607.09885#S6.SS5) 6. 6.6 预训练中的指令数据 (https://arxiv.org/html/2607.09885#S6.SS6) 7. 6.7 稳定阶段的一次性能激增 (https://arxiv.org/html/2607.09885#S6.SS7)
7. 7 局限性 (https://arxiv.org/html/2607.09885#S7)
8. 8 结论 (https://arxiv.org/html/2607.09885#S8)
9. 参考文献 (https://arxiv.org/html/2607.09885#bib)
10. A 定性示例 (https://arxiv.org/html/2607.09885#A1)
11. B 安全偏好对构建 (https://arxiv.org/html/2607.09885#A2)

## 1 引言

近期,拥有十亿到三十亿参数的小型语言模型(SLM)已获得以前需要更大模型才能实现的能力,这得益于更高质量的数据以及远超计算最优 token 预算的训练 (Hoffmann 等人, 2022 (https://arxiv.org/html/2607.09885#bib.bib13); Javaheripi 等人, 2023 (https://arxiv.org/html/2607.09885#bib.bib17); Gemma Team 等人, 2024 (https://arxiv.org/html/2607.09885#bib.bib9); Hu 等人, 2024 (https://arxiv.org/html/2607.09885#bib.bib14); Bai 等人, 2023 (https://arxiv.org/html/2607.09885#bib.bib2))。它们适中的推理成本使其在大规模部署和设备端使用中颇具吸引力。本报告描述了哔哩哔哩开发的 Index 模型系列中轻量级层级 Index-1.9B 的设计、训练、对齐和评估。

此次发布包含以下模型:

- •Index-1.9B-Base。拥有19亿非嵌入参数的基础模型,在2.8T token(主要为中文和英文文本)上预训练。在多个基准测试中领先于同尺寸模型(第5.2节 (https://arxiv.org/html/2607.09885#S5.SS2))。
- •Index-1.9B-Pure。基础模型的控制副本,使用相同的参数和调度训练,但所有与指令相关的数据都从语料库中严格过滤。它隔离了指令数据对基准分数的影响(第6.6节 (https://arxiv.org/html/2607.09885#S6.SS6))。
- •Index-1.9B-Chat。通过监督微调(SFT)和直接偏好优化 (DPO) (Rafailov 等人, 2023 (https://arxiv.org/html/2607.09885#bib.bib30)) 从基础模型对齐得到的对话模型。由于在预训练中引入了大量精选的社区论坛语料库,该模型表现出显著吸引人的对话行为以及在东亚语言之间强大的翻译能力。
- •Index-1.9B-Character。构建在对齐模型之上,结合了角色条件微调和检索增强生成 (RAG) (Lewis 等人, 2020 (https://arxiv.org/html/2607.09885#bib.bib22)),以支持少样本角色扮演定制(第4节 (https://arxiv.org/html/2607.09885#S4))。

为支持关于训练动态的开放研究,我们还额外发布了一个在学习率衰减阶段之前取得的中间检查点(Index-1.9B-Constant-LR),并且项目仓库中提供了一个支持32K token 的长上下文扩展(Index-1.9B-32K)。所有权重均可从 Hugging Face 和 ModelScope 获取,对学术研究和免费商业用途开放。

除了模型本身,本报告还贡献了一系列为我们的设计选择提供信息的受控实验:稳定输出投影机制的比较(第6.1节 (https://arxiv.org/html/2607.09885#S6.SS1));固定参数数量下的深度与宽度研究(第6.2节 (https://arxiv.org/html/2607.09885#S6.SS2));学习率大小、调度及其与数据质量相互作用的分析(第6.3节 (https://arxiv.org/html/2607.09885#S6.SS3)–6.5 (https://arxiv.org/html/2607.09885#S6.SS5));以及一个透明的消融实验,量化了预训练中指令数据如何提升基准分数(第6.6节 (https://arxiv.org/html/2607.09885#S6.SS6))。

## 2 预训练

### 2.1 数据

Index-1.9B 在2.8T token 上进行了预训练,中文与英文的比例为4:5;代码占语料库的6%。我们还精选了公开可用的书籍、百科全书、学术论文和 STEM 相关材料,这些材料合计约占总混合数据的10%,并且在预训练后期提高了这一精选子集的集中度(第2.4节 (https://arxiv.org/html/2607.09885#S2.SS4))。图1 (https://arxiv.org/html/2607.09885#S2.F1) 显示了整体组成。

参见图注图1:Index-1.9B 预训练语料库的组成。
在数据清洗方面投入了大量精力,主要围绕三个部分。

#### 规避偏见的过滤。

为了避免引入可避免的模型诱导偏差,绝大部分语料库使用启发式规则进行清洗。只有在启发式规则无法可靠处理的样本上,才使用分类器,其标签由我们更大的 Index-Large 模型通过标注引导生成,并保守地应用。

#### 数十亿规模下的文档级去重。

去重对于语料库质量至关重要 (Lee 等人, 2022 (https://arxiv.org/html/2607.09885#bib.bib21))。我们构建了一个基于 Spark 的流水线,可在单次扫描中对数十亿文档执行全局 MinHash (Broder, 1997 (https://arxiv.org/html/2607.09885#bib.bib4)) 比较和去重。

#### 精确子串去重。

与对预先分段的段落或句子进行去重不同,我们支持在文档内对任意位置任意长度的字符串进行重复检测,这可以发现其他方式难以发现的有问题的文本。我们的实现扩展了 Lee 等人 (2022 (https://arxiv.org/html/2607.09885#bib.bib21)) 的开源后缀数组工具包,具有无内存限制的全局去重、可视化诊断以及保留单个实例的选项。为了说明其重要性,一个列举月份名称的下拉菜单字符串在 Common Crawl 中重复出现了156,000次,只有通过精确子串匹配才能识别。

### 2.2 分词器

我们使用 SentencePiece (Kudo and Richardson, 2018 (https://arxiv.org/html/2607.09885#bib.bib20)) 训练了一个字节对编码(BPE)分词器 (Sennrich 等人, 2016 (https://arxiv.org/html/2607.09885#bib.bib31)),有三个与常见做法有意不同的地方。

首先,词汇表中的中文部分单独训练。SentencePiece 在增长 BPE 合并时,将中文字符和拉丁字母视为相同粒度的单元,我们认为这不太适合中文;因此,我们将中文子词汇表的最大片段长度从默认的16减少到5。

其次,词汇表保持较小。模型越小,嵌入矩阵占用的内存份额就越大:一个15万个条目的词汇表本身就可能占1B参数模型内存占用量的30%以上。我们的最终词汇表包含65,029个 token。

第三,不在输入前添加空格。Llama 系列的分词器 (Touvron 等人, 2023a (https://arxiv.org/html/2607.09885#bib.bib37)) 会自动在文本前添加一个空格,这对中文不友好,并且违反了文档的第一个 token 从不被预测的惯例;我们移除了这种行为。

表1 (https://arxiv.org/html/2607.09885#S2.T1) 比较了与几个双语分词器的压缩率。在紧凑的词汇量下,Index 分词器在中文和英文上实现了有竞争力的压缩,在所比较的分词器中,对日文和韩文的压缩效果最强。

表1:分词器压缩率,在保留的内部语料库上计算为 len(token ids)/len(text);越低越好。“混合”表示混合所有领域的内部语料库。
### 2.3 模型架构

Index-1.9B 遵循主流的仅解码器 Transformer 设计 (Vaswani 等人, 2017 (https://arxiv.org/html/2607.09885#bib.bib40)),并采用了 Llama (Touvron 等人, 2023a (https://arxiv.org/html/2607.09885#bib.bib37), b (https://arxiv.org/html/2607.09885#bib.bib38)) 的架构惯例,包括旋转位置嵌入 (Su 等人, 2024 (https://arxiv.org/html/2607.09885#bib.bib34))、SwiGLU 激活函数 (Shazeer, 2020 (https://arxiv.org/html/2607.09885#bib.bib32)) 和 RMSNorm (Zhang and Sennrich, 2019 (https://arxiv.org/html/2607.09885#bib.bib47)),并附带两项修改。

#### 更大深度。

根据第6.2节 (https://arxiv.org/html/2607.09885#S6.SS2) 的实验指导,我们发现,在固定参数数量的情况下,适度增加深度可提高下游性能;我们将层数设置为36。

#### Norm-Head。

在训练期间,输出投影(LM 头)的梯度比其他任何层的梯度大一个数量级,并且词汇表的稀疏性导致稀有 token 上的梯度振荡,这两者都不利于训练稳定性。在已发布的解决方案中——GLM-130B 的输出层梯度缩放 (Zeng 等人, 2023 (https://arxiv.org/html/2607.09885#bib.bib46))、μP 的 logits 缩放 (Yang 等人, 2022 (https://arxiv.org/html/2607.09885#bib.bib44)) 以及 Baichuan 2 的 Norm-Head (Yang 等人, 2023 (https://arxiv.org/html/2607.09885#bib.bib42))——我们认为 Norm-Head 最为合理,它通过归一化头部权重并动态地重新缩放它们。在我们的实验中,它带来了一致的收益,并能容忍更高的学习率(第6.1节 (https://arxiv.org/html/2607.09885#S6.SS1)),因此我们采用了它。

表2 (https://arxiv.org/html/2607.09885#S2.T2) 总结了配置。

表2:Index-1.9B 的模型配置。

### 2.4 训练方案

我们使用 AdamW (Loshchilov and Hutter, 2019 (https://arxiv.org/html/2607.09885#bib.bib25))(β1=0.9, β2=0.95, ε=10⁻⁸)进行优化,梯度裁剪为1.0,权重衰减为0.1。训练遵循为 MiniCPM (Hu 等人, 2024 (https://arxiv.org/html/2607.09885#bib.bib14)) 提出的 Warmup-Stable-Decay(WSD)学习率调度下的两阶段策略;第6.4节 (https://arxiv.org/html/2607.09885#S6.SS4) 展示了我们对该调度及其与数据相互作用的分析。

1. 1.稳定阶段。经过100步预热后,学习率保持恒定,模型在全局数据混合上训练。
2. 2.衰减阶段。在训练的最后阶段,学习率衰减,模型进入快速学习状态,并且我们大幅提高精选数据的集中度。

我们的衰减阶段有两个方面与常见做法不同。首先,由于 Norm-Head 能容忍较大的学习率,我们将恒定阶段的学习率设置为 5×10⁻⁴,并将其衰减至峰值的1%(5×10⁻⁶),这是一个比典型范围更宽的衰减范围。其次,宽裕的衰减范围允许较长的衰减阶段:衰减阶段消耗了4000亿个 token,在此期间我们观察到基准性能持续改善。

#### 衰减期间的指令数据。

预训练期间是否包含指令数据,在公开报告中很少明确说明。我们训练了两个版本,区别恰恰在于此:Index-1.9B-Pure 从稳定阶段到衰减阶段都使用自然文本,而 Index-1.9B(也称为 *Boost*)在衰减期间额外包含了一部分指令数据。两者都已发布,并附带其评估结果,以便读者直接判断其效果;第6.6节 (https://arxiv.org/html/2607.09885#S6.SS6) 提供了受控分析。

### 2.5 基础设施

训练使用我们的内部框架在128块华为昇腾910B加速器上进行,使用 bfloat16 格式,上下文长度为4K,处理2.8T token 大约需要28天。样本被打包成全序列,并在文档边界重置注意力掩码和位置标识符。选择性激活检查点减少了内存压力;通信、计算和数据加载重叠执行;作业在几分钟内即可从故障中恢复。

## 3 对齐

为了将模型与人类偏好对齐,我们应用了 SFT 后接 DPO (Rafailov 等人, 2023 (https://arxiv.org/html/2607.09885#bib.bib30)),遵循指令遵循领域的文献精神 (Ouyang 等人, 2022 (https://arxiv.org/html/2607.09885#bib.bib29))。

### 3.1 监督微调

#### 数据。

我们收集了超过一千万个中英文指令-响应对。该池经过清洗和过滤,采用基于聚类的多样性选择和奖励模型评分,遵循常见做法,以获得高质量且多样化的紧凑子集;对于微调模型表现不佳的指令类型,我们构建补充数据。

相似文章

LiquidAI/LFM2.5-ColBERT-350M

Hugging Face Models Trending

LiquidAI 发布 LFM2.5-ColBERT-350M,这是一种后期交互多语言检索模型,同时还有一个密集双编码器变体,两者均基于 LFM2.5-350M-Base,支持 11 种语言,并设计为 RAG 管道的即插即用替代品。