QWEN 技术报告
Jinze Bai, Shuai Bai, Yunfei Chu, Zeyu Cui, Kai Dang, Xiaodong Deng, Yang Fan, Wenbin Ge, Yu Han, Fei Huang, Binyuan Hui, Luo Ji, Mei Li, Junyang Lin, Runji Lin, Dayiheng Liu, Gao Liu, Chengqiang Lu, Keming Lu, Jianxin Ma, Rui Men, Xingzhang Ren, Xuancheng Ren, Chuanqi Tan, Sinan Tan, Jianhong Tu, Peng Wang, Shijie Wang, Wei Wang, Shengguang Wu, Benfeng Xu, Jin Xu, An Yang, Hao Yang, Jian Yang, Shusheng Yang, Yang Yao, Bowen Yu, Hongyi Yuan, Zheng Yuan, Jianwei Zhang, Xingxuan Zhang, Yichang Zhang, Zhenru Zhang, Chang Zhou, Jingren Zhou, Xiaohuan Zhou, Tianhang Zhu.
Qwen 团队,阿里巴巴集团*
摘要
大型语言模型(LLMs)彻底改变了人工智能领域,使得自然语言处理任务能够实现以前被认为仅人类独有的能力。在这项工作中,我们介绍了 QWEN,这是我们大型语言模型系列的首次发布。QWEN 是一个全面的语言模型系列,包含具有不同参数规模的独立模型。它包括 QWEN(基础预训练语言模型)和 QWEN-CHAT(通过人类对齐技术微调的聊天模型)。基础语言模型在众多下游任务中始终表现出卓越的性能,而聊天模型,特别是那些使用人类反馈强化学习(RLHF)训练的模型,具有极强的竞争力。聊天模型具备先进的工具使用和规划能力,可用于创建智能体应用,在利用代码解释器等复杂任务上,即使与更大的模型相比,也展现出了令人印象深刻的性能。此外,我们还开发了专门针对编码的模型 CODE-QWEN 和 CODE-QWEN-CHAT,以及专注于数学的模型 MATH-QWEN-CHAT,它们均基于基础语言模型构建。与开源模型相比,这些模型表现出了显著提升的性能,并略微落后于专有模型。
*作者按姓氏字母顺序排列。通讯作者:ericzhou.zc@alibaba-inc.com。 QWEN 是 Qianwen 的昵称,在中文里意为“千问”。“QWEN”的发音可能因语境和说话者而异。这里提供一种可能的发音方式:/kwEn/。
目录
- 引言 (3)
- 预训练 (4)
- 2.1 数据 (4)
- 2.2 分词 (6)
- 2.3 架构 (6)
- 2.4 训练 (7)
- 2.5 上下文长度扩展 (7)
- 2.6 实验结果 (8)
- 对齐 (9)
- 3.1 监督微调 (9)
- 3.1.1 数据 (10)
- 3.1.2 训练 (10)
- 3.2 基于人类反馈的强化学习 (10)
- 3.2.1 奖励模型 (10)
- 3.2.2 强化学习 (11)
- 3.3 对齐模型的自动与人工评估 (11)
- 3.4 工具使用、代码解释器与智能体 (13)
- 3.1 监督微调 (9)
- CODE-QWEN:专门的编码模型 (16)
- 4.1 代码预训练 (16)
- 4.2 代码监督微调 (17)
- 4.3 评估 (17)
- MATH-QWEN:专门的数学推理模型 (17)
- 5.1 训练 (17)
- 5.2 评估 (20)
- 相关工作 (20)
- 6.1 大型语言模型 (20)
- 6.2 对齐 (20)
- 6.3 工具使用与智能体 (21)
- 6.4 用于编码的 LLM (21)
- 6.5 用于数学的 LLM (22)
- 结论 (22)
A. 附录 (36)
- A.1 更多训练细节 (36)
- A.1.1 QWEN-CHAT 的数据格式 (36)
- A.2 评估 (36)
- A.2.1 自动评估 (36)
- A.2.2 人工评估 (40)
- A.3 代码解释器分析 (58)
- A.1 更多训练细节 (36)
1 引言
大型语言模型(LLMs)(Radford 等人,2018;Devlin 等人,2018;Raffel 等人,2020;Brown 等人,2020;OpenAI,2023;Chowdhery 等人,2022;Anil 等人,2023;Thoppilan 等人,2022;Touvron 等人,2023a;b)通过为复杂的推理和问题解决任务提供强大的基础,彻底改变了人工智能(AI)领域。这些模型有能力将海量知识压缩到神经网络中,使其成为极其通用的智能体。通过聊天界面,LLMs 可以执行以前被认为仅属于人类领域的任务,特别是那些涉及创造力和专业知识的任务(OpenAI,2022;Ouyang 等人,2022;Anil 等人,2023;Google,2023;Anthropic,2023a;b)。它们可以与人类进行自然语言对话,回答问题、提供信息,甚至生成故事、诗歌和音乐等创造性内容。这促成了从聊天机器人和虚拟助手到语言翻译和摘要工具等广泛应用的发展。
LLMs 不仅限于语言任务。它们还可以作为通用智能体(Reed 等人,2022;Bai 等人,2022a;Wang 等人,2023a;AutoGPT,2023;Hong 等人,2023),与外部系统、工具和模型协作,以实现人类设定的目标。例如,LLMs 可以理解多模态指令(OpenAI,2023;Bai 等人,2023;Liu 等人,2023a;Ye 等人,2023;Dai 等人,2023;Peng 等人,2023b)、执行代码(Chen 等人,2021;Zheng 等人,2023;Li 等人,2023d)、使用工具(Schick 等人,2023;LangChain, Inc.,2023;AutoGPT,2023)等等。这为 AI 应用开启了一个全新的可能性世界,从自动驾驶汽车和机器人技术到医疗保健和金融。随着这些模型的不断演进和改进,我们预计在未来几年将看到更多创新和令人兴奋的应用。无论是帮助我们解决复杂问题、创造新的娱乐形式,还是改变我们的生活和工作方式,LLMs 都将在塑造 AI 的未来中发挥核心作用。
图 1:Qwen 系列模型谱系。 我们在包含数万亿 token 的海量数据集上预训练了语言模型,即 QWEN。然后,我们使用 SFT 和 RLHF 将 QWEN 与人类偏好对齐,从而得到了 QWEN-CHAT,特别是其改进版本 QWEN-CHAT-RLHF。此外,我们还基于 QWEN,利用类似技术开发了专门用于编码和数学的模型,如 CODE-QWEN、CODE-QWEN-CHAT 和 MATH-QWEN-CHAT。请注意,我们之前发布的基于 QWEN 基础模型的多模态 LLM,QWEN-VL 和 QWEN-VL-CHAT(Bai 等人,2023),也基于我们的 QWEN 基础模型。
尽管 LLMs 具有令人印象深刻的能力,但它们经常因缺乏可重复性、可控性和对服务提供商的可访问性而受到批评。在这项工作中,我们很高兴展示并发布我们 LLM 系列的初始版本 QWEN。QWEN 是一个源自中文短语“千问”的昵称,意为“数千个提示”,传达了拥抱广泛查询的概念。QWEN 是一个全面的语言模型系列,包含具有不同参数规模的独立模型。该模型系列包括基础预训练语言模型、通过人类对齐技术(即监督微调(SFT)、基于人类反馈的强化学习(RLHF)等)微调的聊天模型,以及专门用于编码和数学的模型。详细信息概述如下:
- 基础语言模型,即 QWEN,已经使用了多达 3 万亿 token 的多样化文本和代码进行了广泛的训练,涵盖了广泛的领域。这些模型在众多下游任务中始终表现出卓越的性能,即使与规模显著更大的对应模型相比也是如此。
- QWEN-CHAT 模型已经在与任务执行、聊天、工具使用、智能体、安全等相关的精选数据集上进行了仔细的微调。基准评估表明,SFT 模型可以实现卓越的性能。此外,我们训练了奖励模型来模拟人类偏好,并将其应用于聊天模型的 RLHF 中,从而能够产生人类偏好的响应。通过对具有挑战性的测试进行人工评估,我们发现使用 RLHF 训练的 QWEN-CHAT 模型具有极强的竞争力,但在我们的基准测试中仍落后于 GPT-4。
- 此外,我们展示了名为 CODE-QWEN 的专门模型,其中包括 CODE-QWEN-7B 和 CODE-QWEN-14B,以及它们的聊天模型 CODE-QWEN-14B-CHAT 和 CODE-QWEN-7B-CHAT。具体而言,CODE-QWEN 已在广泛的代码数据集上进行了预训练,并进一步微调以处理与代码生成、调试和解释相关的对话。在 HumanEval(Chen 等人,2021)、MBPP(Austin 等人,2021)和 HumanEvalPack(Muennighoff 等人,2023)等基准数据集上进行的实验结果,证明了 CODE-QWEN 在代码理解和生成方面的高水平熟练度。
- 本研究还引入了专门为解决数学问题而设计的 MATH-QWEN-CHAT。我们的结果表明,MATH-QWEN-7B-CHAT 和 MATH-QWEN-14B-CHAT 在相同规模下均以较大优势超越了开源模型,并在 GSM8K(Cobbe 等人,2021)和 MATH(Hendrycks 等人,2021)等数学相关基准数据集上接近 GPT-3.5 的水平。
- 此外,我们开源了 QWEN-VL 和 QWEN-VL-CHAT,它们具有理解视觉和语言指令的多功能能力。这些模型在各种评估基准上优于当前的开源视觉语言模型,并支持中文和英文的文本识别和视觉定位。此外,这些模型支持多图像对话和故事讲述。更多详细信息可在 Bai 等人(2023)中找到。
现在,我们正式开源 14B 参数和 7B 参数的基础预训练模型 QWEN 以及对齐的聊天模型 QWEN-CHAT。此次发布旨在提供更全面、更强大的开发者或应用友好规模的 LLMs。
本报告的结构如下:第 2 节描述了我们的预训练方法和 QWEN 的结果。第 3 节涵盖了我们的对齐方法,并报告了自动评估和人工评估的结果。此外,本节还描述了我们在构建具备工具使用、代码解释器和智能体能力的聊天模型方面的努力。在第 4 节和第 5 节中,我们深入探讨了编码和数学的专门模型及其性能。第 6 节概述了相关的相关工作,第 7 节总结了本文并指出了我们未来的工作。
2 预训练
预训练阶段涉及学习海量数据,以获得对世界及其各种复杂性的全面理解。这不仅包括基础语言能力,还包括算术、编码和逻辑推理等高级技能。在本节中,我们将介绍数据、模型设计和扩展,以及在基准数据集上的全面评估结果。
2.1 数据
数据规模已被证明是开发稳健大型语言模型的关键因素,正如先前研究(Hoffmann 等人,2022;Touvron 等人,2023b)所强调的那样。为了创建有效的预训练数据集,确保数据多样化并覆盖广泛的类型、领域和任务至关重要。我们的数据集旨在满足这些要求,包括公共网络文档、百科全书、书籍、代码等。此外,我们的数据集是多语言的,其中很大一部分数据是英文和中文。
为了确保预训练数据的质量,我们开发了一套全面的数据预处理程序。对于公共网络数据,我们从 HTML 中提取文本,并使用语言识别工具来确定语言。为了增加数据的多样性,我们采用了去重技术,包括归一化后的精确匹配去重,以及使用 MinHash 和 LSH 算法的模糊去重。为了过滤掉低质量数据,我们采用了基于规则和基于机器学习的方法的组合。具体而言,我们使用多个模型对内容进行评分,包括语言模型、文本质量评分模型以及用于识别潜在冒犯性或不当内容的模型。我们还手动从各种来源抽取文本并进行审查,以确保其质量。为了进一步提高数据质量,我们有选择地对来自特定来源的数据进行上采样,以确保我们的模型在多样化的高质量内容上进行训练。在最近的研究(Zeng 等人,2022;Aribandi 等人,2021;Raffel 等人,2020)中,已经证明使用多任务指令预训练语言模型可以增强其零样本和少样本性能。为了进一步增强我们模型的性能,我们将高质量的指令数据纳入了我们的预训练过程中。为了维护我们基准评估的完整性,我们采用了与 Brown 等人(2020)类似的方法,并仔细剔除了在我们的评估中使用的测试集中存在 13-gram 重叠的任何指令样本。鉴于下游任务数量众多,对所有任务重复此过滤过程是不可行的。相反,我们确保了所报告任务的指令数据已经过我们的过滤过程,以确保其准确性和可靠性。最终,我们构建了一个多达 3 万亿 token 的数据集。
GitHub: https://github.com/QwenLM/Qwen.
图 2:GPT-4、GPT-3.5、之前的 13B SOTA 以及 QWEN-14B 的性能。 我们展示了在涵盖语言理解、知识、推理等多个领域的 12 个数据集上的结果。QWEN 在相似模型规模下显著优于之前的 SOTA,但仍落后于 GPT-3.5 和 GPT-4。
2.2 分词
词汇表的设计显著影响训练效率和下游任务性能。在本研究中,我们遵循 GPT-3.5 和 GPT-4,采用字节对编码(BPE)作为我们的分词方法。我们从开源的快速 BPE 分词器 tiktoken(Jain,2022)开始,并选择 cl100k_base 作为我们的起点。为了增强我们模型在多语言下游任务(特别是中文)上的性能,我们使用常用的中文字符和词汇以及其他语言的词汇扩充了词汇表。此外,遵循 Touvron 等人(2023a;b),我们将数字拆分为单个数字。最终词汇表大小约为 152K。
QWEN 分词器在压缩方面的性能如图 3 所示。在此比较中,我们评估了 QWEN 与其他几种分词器,包括 XLM-R(Conneau 等人,2019)、LLaMA(Touvron 等人,2023a)、Baichuan(Inc.,2023a)和 InternLM(InternLM Team,2023)。我们的研究结果表明,QWEN 在大多数语言中实现了比竞争对手更高的压缩效率。这意味着服务成本可以显著降低,因为来自 QWEN 的较少 token 可以传达比竞争对手更多的信息。此外,我们进行了初步实验,以确保扩展 QWEN 的词汇表大小不会对预训练模型的下游性能产生负面影响。尽管词汇表大小有所增加,但我们的实验表明,QWEN 在下游评估中保持了其性能水平。
图 3:不同模型的编码压缩率。 我们随机选择了每种语言的 100 万文档语料库来测试和比较不同模型的编码压缩率(以支持 100 种语言的 XLM-R(Conneau 等人,2019)作为基准值 1,图中未显示)。可以看出,在确保中文、英文和代码高效解码的同时,QWEN 在许多其他语言(如 th, he, ar, ko, vi, ja, tr, id, pl, ru, nl, pt, it, de, es, fr 等)上也实现了高压缩率,使模型在这些语言中具备了强大的可扩展性以及高训练和推理效率。
2.3 架构
QWEN 是使用 Transformer 架构的修改版本设计的。具体而言,我们采用了最近训练大型语言模型的开源方法 LLaMA(Touvron 等人,2023a),它被广泛认为是顶级的开源 LLM。我们对架构的修改包括:
表 1:模型规模、架构和优化超参数。
| 参数量 | 隐藏层维度 | 注意力头数 | 层数 | 学习率 | Batch Size | 训练 Token 数 |
|---|---|---|---|---|---|---|
| 1.8B | 2048 | 16 | 24 | 4M | 2.2T | |
| 7B | 4096 | 32 | 32 | 4M | 2.4T | |
| 14B | 5120 | 40 | 40 | 4M | 3.0T |
- 嵌入和输出投影。 基于初步实验结果,我们选择了非绑定(untied)嵌入方法,而不是绑定输入嵌入和输出投影的权重。做出这一决定是为了以内存成本为代价实现更好的性能。
- 位置嵌入。 我们选择了 RoPE(旋转位置嵌入)(Su 等人,2021)作为将位置信息纳入我们模型的首选方案。RoPE 已被广泛采用,并在当代大型语言模型中取得了成功,特别是 PaLM(Chowdhery 等人,2022;Anil 等人,2023)和 LLaMA(Touvron 等人,2023a;b)。特别是,我们选择对逆频率矩阵使用 FP32 精度,而不是 BF16 或 FP16,以优先考虑模型性能并实现更高的准确性。
- 偏置(Bias)。 对于大多数层,我们遵循 Chowdhery 等人(2022)移除了偏置,但我们在注意力的 QKV 层中添加了偏置,以增强模型的推断能力(Su,2023b)。
- Pre-Norm & RMSNorm。 在现代 Transformer 模型中,预归一化(pre-normalization)是最广泛使用的方法,与后归一化相比,它已被证明可以提高训练稳定性。最近的研究提出了其他更好的训练稳定性方法,我们计划在未来的模型版本中进行探索。此外,我们用 RMSNorm(Jiang 等人,2023)取代了(Ba 等人,2016)中描述的传统层归一化技术。这一改变在保持等效性能的同时提高了效率。
- 激活函数。 我们选择了 SwiGLU(Shazeer,2020)作为我们的激活函数,它是 Swish(Ramachandran 等人,2017)和门控线性单元(Gated Linear Unit,Dauphin 等人,2017)的组合。我们的初步实验表明,基于 GLU 的激活函数通常优于其他基线选项,如 GeLU(Hendrycks & Gimpel,2016)。正如先前研究中的常见做法,我们将前馈网络(FFN)的维度从隐藏层维度的 4 倍减少到隐藏层维度的 。
2.4 训练
为了训练 QWEN,我们遵循 Radford 等人(2018)描述的自回归语言建模的标准方法。这涉及训练模型根据先前 token 提供的上下文来预测下一个 token。我们使用 2048 的上下文长度训练模型。为了创建数据批次,我们对文档进行洗牌和合并,然后将它们截断为指定的上下文长度。为了提高计算效率并减少内存使用,我们在注意力模块中采用了 Flash Attention(Dao 等人,2022)。我们采用标准的 AdamW 优化器(Kingma & Ba,2014;Loshchilov & Hutter,2017)进行预训练优化。我们设置超参数 、 和 。我们使用具有指定峰值学习率的余弦学习率调度,该学习率针对每个模型规模进行设置。学习率衰减至峰值学习率的 10% 作为最小学习率。所有模型均使用 BFloat16 混合精度进行训练,以保证训练稳定性。
2.5 上下文长度扩展
Transformer 模型在其注意力机制的上下文长度方面存在显著限制。随着上下文长度的增加,二次复杂度的计算导致计算和内存成本急剧增加。在这项工作中,我们实施了简单的、无需训练的技术,这些技术仅在推理期间应用,以扩展模型的上下文长度。我们使用的关键技术之一是 NTK-aware 插值(bloc97,2023)。
表 2:与开源基础模型相比在广泛使用的基准测试上的总体性能。 我们最大的 140 亿参数 QWEN 模型在所有数据集上均优于之前的 13B SoTA 模型。
| 模型 | 参数量 | MMLU (5-shot) | C-Eval (5-shot) | GSM8K (8-shot) | MATH (4-shot) | HumanEval (0-shot) | MBPP (3-shot) | BBH (3-shot) |
|---|---|---|---|---|---|---|---|---|
| MPT | 7B | 30.8 | 23.5 | 9.1 | 3.0 | 18.3 | 22.8 | 35.6 |
| 30B | 47.9 | - | 15.2 | 3.1 | 25.0 | 32.8 | 38.0 | |
| Falcon | 7B | 27.8 | - | 6.8 | 2.3 | - | 11.2 | 28.0 |
| 40B | 57.0 | - | 19.6 | 5.5 | - | 29.8 | 37.1 | |
| ChatGLM2 | 6B | 47.9 | 51.7 | 32.4 | 6.5 | - | - | 33.7 |
| InternLM | 7B | 51.0 | 53.4 | 31.2 | 6.3 | 10.4 | 14.0 | 37.0 |
| 20B | 62.1 | 58.8 | 52.6 | 7.9 | 25.6 | 35.6 | 52.5 | |
| Baichuan2 | 7B | 54.7 | 56.3 | 24.6 | 5.6 | 18.3 | 24.2 | 41.6 |
| 13B | 59.5 | 59.0 | 52.8 | 10.1 | 17.1 | 30.2 | 49.0 | |
| LLaMA | 7B | 35.6 | 27.3 | 11.0 | 2.9 | 12.8 | 17.7 | 33.5 |
| 13B | 47.7 | 31.8 | 20.3 | 4.2 | 15.8 | 22.0 | 37.9 | |
| 33B | 58.7 | 37.5 | 42.3 | 7.1 | 21.7 | 30.2 | 50.0 | |
| 65B | 63.7 | 40.4 | 54.4 | 10.6 | 23.7 | 37.7 | 58.4 | |
| LLAMA 2 | 7B | 46.8 | 32.5 | 16.7 | 3.3 | 12.8 | 20.8 | 38.2 |
| 13B | 55.0 | 41.4 | 29.6 | 5.0 | 18.9 | 30.3 | 45.6 | |
| 34B | 62.6 | - | 42.2 | 6.2 | 22.6 | 33.0 | 44.1 | |
| 70B | 69.8 | 50.1 | 63.3 | 13.5 | 29.9 | 45.0 | 64.9 | |
| StableBeluga2 | 70B | 68.6 | 51.4 | 69.6 | 14.6 | 28.0 | 11.4 | 69.3 |
| QWEN | 1.8B | 44.6 | 54.7 | 21.2 | 5.6 | 17.1 | 14.8 | 28.2 |
| 7B | 58.2 | 63.5 | 51.7 | 11.6 | 29.9 | 31.6 | 45.0 | |
| 14B | 66.3 | 72.1 | 61.3 | 24.8 | 32.3 | 40.8 | 53.4 |
与以相等方式缩放 RoPE 每个维度的位置插值(PI)(Chen 等人,2023a)不同,NTK-aware 插值调整了 RoPE 的基数,以无需训练的方式防止高频信息的丢失。为了进一步提高性能,我们还实施了一个名为动态 NTK-aware 插值的简单扩展,该扩展在(Peng 等人,2023a)中进行了正式讨论。它通过分块动态改变缩放比例,避免了严重的性能下降。这些技术使我们能够有效地扩展 Transformer 模型的上下文长度,而不会损害其计算效率或准确性。
QWEN 额外结合了两种注意力机制:LogN-Scaling(Chiang & Cholak,2022;Su,2023a)和窗口注意力(window attention)(Beltagy 等人,2020)。LogN-Scaling 根据上下文长度与训练长度的比率,重新缩放查询(query)和值(value)的点积,确保随着上下文长度的增加,注意力值的熵保持稳定。窗口注意力将注意力限制在有限的上下文窗口内,防止模型关注太远的 token。
我们还观察到,我们模型的长上下文建模能力在不同层之间存在差异,较低层对上下文长度扩展比较高层更敏感。为了利用这一观察结果,我们为每一层分配了不同的窗口大小,对较低层使用较短的窗口,对较高层使用较长的窗口。
2.6 实验结果
为了评估我们模型的零样本和少样本学习能力,我们使用一系列数据集进行了彻底的基准评估。我们将 QWEN 与最新的开源基础模型进行了比较,包括 LLaMA(Touvron 等人,2023a)、LLAMA 2(Touvron 等人,2023b)、MPT(Mosaic ML,2023)、Falcon(Almazrouei 等人,2023)、Baichuan2(Yang 等人,2023)、ChatGLM2(ChatGLM2 Team,2023)、InternLM(InternLM Team,2023)、XVERSE(Inc.,2023b)和 StableBeluga2(Stability AI,2023)。我们的评估涵盖了总共 7 个流行的基准测试,
表 3:QWEN 在使用各种技术进行长上下文推理时的结果。 我们的实验结果表明,应用我们的关键技术使模型能够在上下文长度增加时始终保持低困惑度(perplexity)。这表明这些技术在增强模型理解和生成长文本的能力方面发挥了重要作用。
| 模型 | 1024 | 2048 | 4096 | 8192 | 16384 |
|---|---|---|---|---|---|
| QWEN-7B | 4.23 | 3.78 | 39.35 | 469.81 | 2645.09 |
| + dynamic ntk | 4.23 | 3.78 | 3.59 | 3.66 | 5.71 |
| + dynamic ntk + logn | 4.23 | 3.78 | 3.58 | 3.56 | 4.62 |
| + dynamic ntk + logn + window attn | 4.23 | 3.78 | 3.58 | 3.49 | 4.32 |
| QWEN-14B | - | 3.46 | 22.79 | 334.65 | 3168.35 |
| + dynamic ntk + logn + window attn | - | 3.46 | 3.29 | 3.18 | 3.42 |
即 MMLU (5-shot) (Hendrycks 等人,2020)、C-Eval (5-shot) (Huang 等人,2023)、GSM8K (8-shot) (Cobbe 等人,2021)、MATH (4-shot) (Hendrycks 等人,2021)、HumanEval (0-shot) (Chen 等人,2021)、MBPP (0-shot) (Austin 等人,2021) 和 BBH (Big Bench Hard) (3-shot) (Suzgun 等人,2022)。我们旨在提供我们模型在这些基准测试中总体性能的全面总结。
在此评估中,我们专注于没有对齐的基础语言模型,并从其官方结果和 OpenCompass(OpenCompass Team,2023)中收集基线的最佳分数。结果如表 2 所示。
我们的实验结果表明,三个 QWEN 模型在所有下游任务中均表现出卓越的性能。值得注意的是,即使是更大的模型,如 LLaMA2-70B,在 3 个任务中也被 QWEN-14B 超越。QWEN-7B 的表现也令人钦佩,超过了 LLaMA2-13B,并取得了与 Baichuan2-13B 相当的结果。值得注意的是,尽管参数数量相对较小,QWEN-1.8B 能够在某些任务上实现具有竞争力的性能,甚至在某些情况下优于更大的模型。这些发现突显了 QWEN 模型(特别是 QWEN-14B)令人印象深刻的能力,并表明较小的模型(如 QWEN-1.8B)在某些应用中仍然可以实现强大的性能。
为了评估上下文长度扩展的有效性,表 3 展示了在 arXiv 上的测试结果(以困惑度 PPL 衡量)。这些结果表明,通过结合 NTK-aware 插值、LogN-Scaling 和逐层窗口分配,我们可以有效地保持模型在超过 8192 个 token 上下文中的性能。
3 对齐
预训练的大型语言模型被发现与人类行为不对齐,这使得它们在大多数情况下不适合作为 AI 助手。最近的研究表明,使用对齐技术(如监督微调(SFT)和基于人类反馈的强化学习(RLHF))可以显著提高语言模型进行自然对话的能力。在本节中,我们将深入探讨 QWEN 模型如何使用 SFT 和 RLHF 进行训练,并评估它们在基于聊天的辅助环境中的性能。
3.1 监督微调
为了获得对人类行为的理解,第一步是进行 SFT,它在聊天风格的数据(包括查询和响应)上微调预训练的 LLM。在接下来的章节中,我们将深入探讨数据构建和训练方法的细节。
该数据集包含来自 https://arxiv.org 的学术论文。
3.1.1 数据
为了增强我们监督微调数据集的能力,我们以多种风格标注了对话。虽然传统数据集(Wei 等人,2022a)包含大量以自然语言提示的问题、指令和答案,但我们的方法更进一步,标注了人类风格的对话。这种做法受到 Ouyang 等人(2022)的启发,旨在通过专注于多样化任务的自然语言生成来提高模型的有用性。为了确保模型能够泛化到广泛的场景,我们专门排除了以可能限制其能力的提示模板格式化的数据。此外,我们通过标注与暴力、偏见和色情等安全问题相关的数据,优先考虑了语言模型的安全性。
除了数据质量外,我们还观察到训练方法会显著影响模型的最终性能。为了实现这一点,我们使用了 ChatML 风格的格式(OpenAI,2022),这是一种通用的元语言,能够描述对话轮次中的元数据(如角色)和内容。这种格式使模型能够有效地区分各种类型的信息,包括系统设置、用户输入和助手输出等。通过利用这种方法,我们可以增强模型准确处理和分析复杂对话数据的能力。
3.1.2 训练
与预训练一致,我们也将下一个 token 预测作为 SFT 的训练任务。我们对系统和用户输入应用了损失掩码(loss masks)。更多细节在附录 A.1.1 中展示。
模型的训练过程利用 AdamW 优化器,具有以下超参数: 设置为 0.9, 设置为 0.95, 设置为 。序列长度限制为 2048,batch size 为 128。模型总共进行了 4000 步训练,学习率在前 1430 步逐渐增加,达到 的峰值。为了防止过拟合,应用了值为 0.1 的权重衰减,dropout 设置为 0.1,并强制执行限制为 1.0 的梯度裁剪。
3.2 基于人类反馈的强化学习
虽然 SFT 已被证明是有效的,但我们承认其泛化和创造力能力可能有限,并且容易过拟合。为了解决这个问题,我们实施了基于人类反馈的强化学习(RLHF),以进一步使 SFT 模型与人类偏好对齐,遵循 Ouyang 等人(2022);Christiano 等人(2017)的方法。此过程涉及训练奖励模型并使用近端策略优化(PPO)(Schulman 等人,2017)来进行策略训练。
3.2.1 奖励模型
要创建一个成功的奖励模型,就像构建大型语言模型(LLM)一样,至关重要的是首先进行预训练,然后进行微调。这种预训练过程,也称为偏好模型预训练(PMP)(Bai 等人,2022b),需要海量的比较数据集。该数据集由样本对组成,每一对包含针对单个查询的两个不同响应及其相应的偏好。同样,微调也是在这种类型的比较数据上进行的,但由于存在高质量的标注,其质量更高。
在微调阶段,我们收集了各种提示,并根据人类对 QWEN 模型响应的反馈来调整奖励模型。为了确保适当考虑用户提示的多样性和复杂性,我们创建了一个包含约 6600 个详细标签的分类系统,并实施了一种平衡采样算法,在选择用于奖励模型标注的提示时同时考虑多样性和复杂性(Lu 等人,2023)。为了生成广泛的响应,我们利用了不同规模和采样策略的 QWEN 模型,因为多样化的响应有助于减少标注难度并增强奖励模型的性能。然后,标注者按照标准标注指南对这些响应进行评估,并根据其得分形成比较对。
在创建奖励模型时,我们利用相同规模的预训练语言模型 QWEN 来启动该过程。值得一提的是,我们将一个池化层(pooling layer)合并到了原始的 QWEN 模型中,以基于特定的结束 token 提取句子的奖励。此过程的学习率已设置为 的恒定值,batch size 为 64。此外,序列长度设置为 2048,训练过程持续一个 epoch。
我们采用测试数据集上的准确率作为奖励模型的一个重要但非唯一的评估指标。在表 4 中,我们报告了 PMP 和奖励模型在各种人类偏好基准数据集(Bai 等人,2022b;Stiennon 等人,2020;Ethayarajh 等人,2022;Lightman 等人,2023)上的测试成对准确率。具体而言,QWEN Helpful-base 和 QWEN Helpful-online 是我们的专有数据集。QWEN Helpful-base 中的响应是由没有 RLHF 的 QWEN 生成的,而 QWEN Helpful-online 则包括来自带有 RLHF 的 QWEN 的响应。结果表明,PMP 模型在分布外数据上表现出很高的泛化能力,而奖励模型在我们的 QWEN 奖励数据集上表现出显著的改进。
表 4:QWEN 偏好模型预训练(PMP)和奖励模型(RM)在各种人类偏好基准数据集上的测试准确率。
| 数据集 | QWEN Helpful-base | QWEN Helpful-online | Anthropic Helpful-base | Anthropic Helpful-online | OpenAI Summ. | Stanford SHP | OpenAI PRM800K |
|---|---|---|---|---|---|---|---|
| PMP | 62.68 | 61.62 | 76.52 | 65.43 | 69.60 | 60.05 | 70.59 |
| RM | 74.78 | 69.71 | 73.98 | 64.57 | 69.99 | 60.10 | 70.52 |
3.2.2 强化学习
我们的近端策略优化(PPO)过程涉及四个模型:策略模型、价值模型、参考模型和奖励模型。在开始 PPO 程序之前,我们暂停策略模型的更新,并专注于更新价值模型 50 步。这种方法确保价值模型能够有效地适应不同的奖励模型。
在 PPO 操作期间,我们使用同时为每个查询采样两个响应的策略。根据我们的内部基准评估,该策略已被证明更有效。我们将 KL 散度系数设置为 0.04,并根据运行平均值对奖励进行归一化。
策略模型和价值模型的学习率分别为 和 。为了增强训练稳定性,我们利用了值为 0.15 的价值损失裁剪(value loss clipping)。对于推理,策略 top-p 设置为 0.9。我们的研究结果表明,尽管熵略低于 top-p 设置为 1.0 时,但奖励增加得更快,最终在类似条件下导致始终更高的评估奖励。
此外,我们实施了预训练梯度以减轻对齐税(alignment tax)。经验结果表明,使用这种特定的奖励模型,KL 惩罚足够稳健,可以抵消在非严格代码或数学性质的基准测试(例如测试常识知识和阅读理解的基准测试)中的对齐税。必须利用比 PPO 数据大得多的预训练数据量,以确保预训练梯度的有效性。此外,我们的实证研究表明,该系数过大的值可能会严重阻碍与奖励模型的对齐,最终损害最终的对齐效果,而过小的值对减少对齐税的影响微乎其微。
3.3 对齐模型的自动与人工评估
为了展示我们对齐模型的有效性,我们对已建立的基准测试进行了与其他对齐模型的比较,包括 MMLU(Hendrycks 等人,2020)、C-Eval(Huang 等人,2023)、GSM8K(Cobbe 等人,2021)、HumanEval(Chen 等人,2021)和 BBH(Suzgun 等人,2022)。除了广泛使用的少样本设置外,我们还在零样本设置中测试了我们的对齐模型,以展示模型遵循指令的程度。零样本设置中的提示由指令和问题组成,上下文中没有任何先前的示例。基线的结果是从其官方报告和 OpenCompass(OpenCompass Team,2023)中收集的。
表 5 中的结果证明了我们的对齐模型在理解人类指令和生成适当响应方面的有效性。QWEN-14B-Chat 优于所有其他模型,