微信扫码
与创始人交个朋友
我要投稿
大型语言模型(LLMs)已经彻底改变了人工智能领域,使得以前被认为是人类专属的自然语言处理任务成为实现可能。在这项工作中,我们介绍了QWEN,我们大型语言模型系列的第一个版本。QWEN是一个全面的语言模型系列,包括参数数量不同的不同模型。它包括QWEN,基础预训练语言模型,以及QWEN-CHAT,使用人类对齐技术微调的聊天模型。基础语言模型在多种下游任务中始终表现出优异的性能,而聊天模型,特别是那些使用人类反馈强化学习(RLHF)训练的模型,具有很高的竞争力。聊天模型具有先进的工具使用和规划能力,可用于创建代理应用程序,在处理复杂任务如使用代码解释器时,即使与更大的模型相比也展现出令人印象深刻的性能。此外,我们还开发了专门用于编码的模型,CODE-QWEN和CODE-QWEN-CHAT,以及专注于数学的模型,MATH-QWEN-CHAT,这些模型是基于基础语言模型构建的。这些模型在与开源模型相比表现出显着提高的性能,并略逊于专有模型。
大型语言模型(LLMs)已经通过为复杂的推理和问题解决任务提供强大基础而彻底改变了人工智能(AI)领域(Radford等,2018年;Devlin等,2018年;Raffel等,2020年;Brown等,2020年;OpenAI,2023年;Chowdhery等,2022年;Anil等,2023年;Thoppilan等,2022年;Touvron等,2023年a;b)。这些模型能够将广泛的知识压缩到神经网络中,使它们成为非常多才多艺的Agent。通过聊天界面,LLMs可以执行以前被认为是人类专属领域的任务,特别是涉及创造力和专业知识的任务(OpenAI,2022年;Ouyang等,2022年;Anil等,2023年;Google,2023年;Anthropic,2023年a;b)。它们可以与人类进行自然语言对话,回答问题,提供信息,甚至生成创造性的内容,如故事、诗歌和音乐。这导致了各种各样应用的发展,从聊天机器人和虚拟助手到语言翻译和摘要工具。
LLMs不仅仅局限于语言任务。它们还可以充当通用Agent(Reed等,2022年;Bai等,2022年a;Wang等,2023年a;AutoGPT,2023年;Hong等,2023年),与外部系统、工具和模型合作,实现人类设定的目标。例如,LLMs可以理解多模态指令(OpenAI,2023年;Bai等,2023年;Liu等,2023年a;Ye等,2023年;Dai等,2023年;Peng等,2023年b),执行代码(Chen等,2021年;Zheng等,2023年;Li等,2023年d),使用工具(Schick等,2023年;LangChain,Inc.,2023年;AutoGPT,2023年)等。这为AI应用开辟了全新的可能性,从自动驾驶车辆和机器人到医疗保健和金融领域。随着这些模型的不断演进和改进,我们可以预期未来将会看到更多创新和令人兴奋的应用。无论是帮助我们解决复杂问题,创造新形式的娱乐,还是改变我们的生活和工作方式,LLMs都将在塑造AI未来方面发挥核心作用。
注:最开始蓝色的 Qwen 应该是 Base 模型,其他的模型普遍应该都是在此基础上使用 sft+RLHF 微调出来的
尽管LLMs具有令人印象深刻的能力,但它们经常因缺乏可重现性、可操纵性和对服务提供者的可访问性而受到批评。在这项工作中,我们很高兴地介绍并发布了我们LLM系列的初始版本,QWEN。QWEN是一个名称,源自中国短语“千问”,意为“千百个问题”,传达了包容广泛查询的概念。QWEN是一个全面的语言模型系列,包括参数数量不同的不同模型。该模型系列包括基础预训练语言模型,使用人类对齐技术微调的聊天模型,即有监督微调(SFT)、使用人类反馈强化学习(RLHF)等,以及专门的编码和数学模型。具体细节如下:
基础语言模型,即QWEN,经过广泛的训练,使用了多达3万亿个各种文本和代码的标记,涵盖了广泛的领域。这些模型在多种下游任务中始终表现出优异的性能,即使与它们更大的同类模型相比也是如此。
QWEN-CHAT模型经过精心微调,使用了与任务执行、聊天、工具使用、代理、安全等相关的精心策划的数据集。基准评估表明,有监督微调模型可以实现更优异的性能。此外,我们训练了奖励模型来模仿人类偏好,并将其应用于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都优于相同规模的开源模型,并且正在接近与GPT-3.5在数学相关基准数据集(如GSM8K(Cobbe等,2021年)和MATH(Hendrycks等,2021年))上的性能。
此外,我们开源了QWEN-VL和QWEN-VL-CHAT,它们具有理解视觉和语言指令的多功能能力。这些模型在各种评估基准上优于当前的开源视觉-语言模型,并支持中文和英文的文本识别和视觉定位。此外,这些模型还支持多图像对话和叙述。更多细节可参见Bai等(2023年)。
现在,我们正式开源14B参数和7B参数的基础预训练模型QWEN以及对齐的聊天模型QWEN-CHAT。此次发布旨在提供更全面、更强大的LLMs,以便开发者或应用程序可以更友好地使用。
本报告的结构如下:第2节描述了我们的预训练方法和QWEN的结果。第3节涵盖了我们的对齐方法,并报告了自动评估和人工评估的结果。此外,该部分还描述了我们在构建具有工具使用、代码解释器和代理功能的聊天模型方面的努力的细节。在第4节和第5节中,我们深入探讨了编码和数学的专门模型及其性能。第6节提供了相关的相关工作概述,第7节总结了本文并指出了我们未来的工作方向。
预训练阶段涉及学习大量数据,以获得对世界及其各种复杂性的全面理解。这不仅包括基本的语言能力,还包括高级技能,如算术、编码和逻辑推理。在本节中,我们介绍数据、模型设计和扩展,以及在基准数据集上的全面评估结果。
数据规模在开发稳健的大型语言模型中被证明是一个关键因素,正如之前的研究所强调的(Hoffmann等,2022年;Touvron等,2023b年)。为了创建一个有效的预训练数据集,确保数据的多样性并涵盖各种类型、领域和任务是至关重要的。我们的数据集旨在满足这些要求,并包括公共网络文档、百科全书、书籍、代码等。此外,我们的数据集是多语言的,其中相当一部分数据是英文和中文。
为了确保我们预训练数据的质量,我们制定了全面的数据预处理程序。对于公共网络数据,我们从HTML中提取文本,并使用语言识别工具确定语言。为了增加我们数据的多样性,我们采用去重技术,包括规范化后的精确匹配去重和使用MinHash和LSH算法进行模糊去重。为了过滤掉低质量的数据,我们采用了基于规则和基于机器学习的方法相结合的方法。具体来说,我们使用多个模型对内容进行评分,包括语言模型、文本质量评分模型和用于识别潜在冒犯或不适当内容的模型。我们还从各种来源手动抽样文本并对其进行审核,以确保其质量。为了进一步提高我们数据的质量,我们有选择地从某些来源对数据进行上采样,以确保我们的模型是在多样化的高质量内容上进行训练的。在最近的研究中(Zeng等,2022年;Aribandi等,2021年;Raffel等,2020年),已经证明使用多任务指令对预训练语言模型进行预训练可以提高其Zero-shot和Few-shot性能。为了进一步提高我们模型的性能,我们已将高质量指令数据纳入我们的预训练过程中。为了确保我们基准评估的完整性,我们采用了与Brown等人(2020年)类似的方法,并严格消除了任何指导性样本与我们评估中使用的测试集中的任何数据存在13个词组的重叠。鉴于大量的下游任务,不可能对所有任务重复此过滤过程。相反,我们确保了所报告任务的指导数据已经经过我们的过滤过程,以确保其准确性和可靠性。最后,我们建立了一个包含多达3万亿个标记的数据集。
下图为指令数据样例
词汇表的设计显著影响训练效率和下游任务的性能。在本研究中,我们采用字节对编码( byte pair encoding,BPE)作为我们的tokenization方法,遵循GPT-3.5和GPT-4。我们从开源的快速BPE tokenizer tiktoken(Jain,2022年)开始,并选择词汇表cl100k base作为我们的起点。为了增强我们模型在多语言下游任务中的性能,特别是在中文方面,我们增加了常用的中文字符和词汇,以及其他语言中的词汇。此外,按照Touvron等人(2023a;b)的做法,我们将数字拆分为单个数字。最终的词汇表大小约为152K。
Tokenzation 在任何位置都不进行翻译,用任何的中文都无法很好表述其含义,请自行理解。
图3展示了QWEN标记器在压缩方面的性能。在这项比较中,我们评估了QWEN与其他几种标记器,包括XLM-R(Conneau等,2019年)、LLaMA(Touvron等,2023a)、Baichuan(Inc.,2023a)和InternLM(InternLM团队,2023年)。我们的发现表明,在大多数语言中,QWEN的压缩效率高于其竞争对手。这意味着服务成本可以显著降低,因为相比于竞争对手,QWEN的较少token可以传达更多信息。此外,我们进行了初步实验,以确保扩大QWEN词汇表大小不会对预训练模型的下游性能产生负面影响。尽管词汇表大小增加了,但我们的实验表明,QWEN在下游评估中保持了其性能水平。
QWEN采用了一种修改过的Transformer架构。具体来说,我们采用了最近的开源方法,即训练大型语言模型LLaMA(Touvron等人,2023a年),这被广泛认为是顶级的开源LLM。我们对架构的修改包括:
嵌入和输出投影 基于初步的实验结果,我们选择了非绑定的嵌入方法,而不是将输入嵌入和输出投影的权重捆绑在一起。这个决定是为了在内存成本的代价下实现更好的性能。
位置编码 我们选择RoPE(Rotary Positional Embedding)(Su等,2021年)作为将位置信息融入模型的首选方法。RoPE已被广泛采用,并在当代大型语言模型中取得了成功,特别是PaLM(Chowdhery等,2022年;Anil等,2023年)和LLaMA(Touvron等,2023a;b)。特别是,我们选择使用FP32精度来表示逆频率矩阵,而不是BF16或FP16,以优先考虑模型性能并实现更高的精度。
偏置对于大多数层,我们移除了偏置,遵循Chowdhery等人(2022年)的方法,但我们在注意力的QKV层中添加了偏置,以增强模型的外推能力(Su,2023b)。
预-范式和RMSNorm 在现代Transformer模型中,pre-normalization 是最常用的方法,已经证明与post-normalization 相比可以提高训练稳定性。最近的研究提出了更好的训练稳定性的替代方法,我们计划在模型的未来版本中探索这些方法。此外,我们将传统的层标准化技术(Ba等人,2016年)替换为RMSNorm(Jiang等人,2023年)。这一改变在提高效率的同时也实现了等效的性能。
激活函数我们选择SwiGLU(Shazeer,2020年)作为我们的激活函数,它是Swish(Ramachandran等人,2017年)和门控线性单元(Dauphin等人,2017年)的组合。我们的初步实验表明,基于GLU的激活函数通常优于其他基线选项,如GeLU(Hendrycks&Gimpel,2016年)。与以前的研究中的常见做法一样,我们将前馈网络(feed-forward network,FFN)的维度从隐藏大小的4倍减少到隐藏大小的三分之八。
为了训练QWEN,我们遵循Radford等人(2018年)描述的自回归语言建模的标准方法。这涉及训练模型根据前面的标记提供的上下文来预测下一个标记。我们训练具有2048个上下文长度的模型。为了创建数据批次,我们对文档进行了随机排列和合并,然后将它们截断到指定的上下文长度。为了提高计算效率和减少内存使用,我们在注意力模块中采用了Flash Attention(Dao等人,2022年)。我们采用标准的优化器AdamW(Kingma&Ba,2014年;Loshchilov&Hutter,2017年)进行预训练优化。我们设置了超参数,和。我们使用余弦学习率调度,每个模型大小都有指定的峰值学习率。学习率衰减到峰值学习率的10%的最小学习率。所有模型都使用BFloat16混合精度进行训练稳定性。
Transformer 模型在注意力机制的上下文长度方面存在显著限制。随着上下文长度的增加,二次复杂度计算导致计算和内存成本急剧增加。在这项工作中,我们实现了一些简单的无训练技术,仅在推断过程中应用,以扩展模型的上下文长度。我们使用的关键技术之一是 NTK-aware 插值(bloc97,2023年)。与位置插值(position interpolation,PI)(Chen等人,2023年)不同,后者平等地缩放 RoPE 的每个维度,NTK-aware 插值调整 RoPE 的基础,以防止在无训练的情况下丢失高频信息。为了进一步提高性能,我们还实现了一个称为动态 NTK-aware 插值的简单扩展,这在(Peng等人,2023年)中有正式讨论。它通过块动态更改比例,避免了严重的性能下降。这些技术使我们能够有效地扩展 Transformer 模型的上下文长度,而不影响其计算效率或准确性。 QWEN 还包括两种注意力机制:LogN-Scaling(Chiang&Cholak,2022年;Su,2023a年)和窗口注意力(Beltagy等人,2020年)。LogN-Scaling 通过将查询和值的点积按照上下文长度与训练长度之比进行因子调整,确保了注意力值的熵在上下文长度增长时保持稳定。窗口注意力将注意力限制在有限的上下文窗口内,防止模型注意到过远的标记。 我们还观察到,我们模型的长上下文建模能力在各层之间存在差异,低层对上下文长度扩展的敏感性比高层更高。为了利用这一观察结果,我们为每一层分配不同的窗口大小,对于低层使用较短的窗口,而对于高层使用较长的窗口。
为了评估我们模型的零样本学习和少样本学习能力,我们进行了一项全面的基准评估,使用了一系列数据集。我们将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个流行基准测试,分别为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,并且在某些任务中取得了可比的结果。值得注意的是,尽管参数数量相对较少,但QWEN-1.8B在某些任务上也能够达到竞争性的性能,并在某些情况下甚至超过较大的模型。这些发现突显了QWEN模型的卓越能力,特别是QWEN-14B,并暗示较小的模型,如QWEN-1.8B,在某些应用中仍然可以取得强大的性能。
为了评估上下文长度扩展的有效性,表3展示了在arXiv上的测试结果,以困惑度(PPL)为指标。这些结果表明,通过结合NTK-aware插值、LogN-Scaling和分层窗口分配,我们可以在超过8192个标记的情况下有效地维持我们模型的性能。
预训练的大型语言模型被发现与人类行为不一致,这使它们在大多数情况下不适合作为人工智能助手。最近的研究表明,使用对齐技术,如监督微调(SFT)和从人类反馈中进行强化学习(RLHF),可以显著提高语言模型参与自然对话的能力。在本节中,我们将深入探讨QWEN模型如何使用SFT和RLHF进行训练的细节,并评估它们在基于聊天的辅助环境中的性能。
为了了解人类行为,首要步骤是进行SFT,这对预训练的LLM在聊天式数据上进行微调,包括查询和响应。在接下来的章节中,我们将深入探讨数据构建和训练方法的细节。
为了增强我们监督微调数据集的能力,我们已经以多种风格对对话进行了标注。传统数据集(Wei等,2022a)包含大量以自然语言提出问题、指令和答案的数据,而我们的方法更进一步通过标注人类风格的对话。这一做法受到Ouyang等人(2022)的启发,旨在通过专注于多样任务的自然语言生成来提高模型的帮助性。为了确保模型能够推广到各种场景,我们特意排除了可能限制其能力的提示模板格式的数据。此外,我们通过标注与安全问题相关的数据,如暴力、偏见和色情内容,来优先考虑语言模型的安全性。
除了数据质量外,我们观察到训练方法对模型的最终性能有显著影响。为了实现这一点,我们采用了ChatML-style格式(OpenAI,2022),这是一种灵活的元语言,能够描述回合的元数据(例如角色)和内容。该格式使模型能够有效区分各种类型的信息,包括系统设置、用户输入和助手输出等。通过利用这种方法,我们可以增强模型准确处理和分析复杂对话数据的能力。
与预训练一致,我们还将下一个标记预测应用为SFT的训练任务。我们为系统和用户输入应用了损失掩码。更多细节见A.1.1节。
模型的训练过程采用AdamW优化器,具体超参数如下,设置为0.9,设置为0.95,。序列长度限制为2048,批量大小为128。模型总共进行4000步训练,学习率在前1430步逐渐增加,达到2 × 10^(-6)的峰值。为防止过拟合,采用了权重衰减,值为0.1,丢失率设置为0.1,梯度裁剪限制为1.0。
尽管SFT已被证明是有效的,但我们承认它的泛化和创造力能力可能受到限制,并且容易出现过拟合问题。为解决这个问题,我们实施了从人类反馈中进行强化学习(RLHF),以进一步使SFT模型与人类偏好保持一致,采用了Ouyang等人(2022)和Christiano等人(2017)的方法。这个过程涉及训练一个奖励模型,并使用近端策略优化(PPO)(Schulman等人,2017)进行策略训练。
要创建一个成功的奖励模型,就像构建一个大型语言模型(LLM)一样,首先进行预训练,然后进行微调至关重要。这个预训练过程,也被称为偏好模型预训练(preference model pretraining,PMP)(Bai等,2022b),需要大量的比较数据集。该数据集包含样本对,每个样本对包含单个查询的两个不同响应及其相应的偏好。类似地,微调也是在这种类型的比较数据上进行的,但由于高质量标注的存在,其质量更高。
在微调阶段,我们收集了各种提示,并根据QWEN模型的响应的人类反馈调整奖励模型。为了确保适当考虑用户提示的多样性和复杂性,我们创建了一个包含约6600个详细标签的分类系统,并实施了一个平衡抽样算法,该算法在选择用于奖励模型注释的提示时考虑了多样性和复杂性(Lu等,2023)。为了生成各种响应,我们利用了不同大小和抽样策略的QWEN模型,因为多样的响应可以帮助减少注释难度并提高奖励模型的性能。这些响应然后由注释者按照标准注释指南进行评估,并根据它们的分数形成比较对。
在创建奖励模型时,我们利用了相同大小的预训练语言模型QWEN来启动该过程。重要的是要提到,我们在原始的QWEN模型中引入了一个池化层,以根据特定的结束标记提取句子的奖励。该过程的学习率被设置为恒定值3 × 10^(-6),批次大小为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奖励数据集上表现出显著改善。
我们的近端策略优化(PPO)过程涉及四个模型:策略模型、价值模型、参考模型和奖励模型。在开始PPO过程之前,我们暂停策略模型的更新,专注于仅更新价值模型50个步骤。这种方法确保了价值模型能够有效适应不同的奖励模型。 在PPO操作期间,我们采用一种同时为每个查询抽样两个响应的策略。根据我们的内部基准评估,这种策略已被证明更有效。我们将KL散度系数设置为0.04,并根据运行均值对奖励进行归一化。 策略和价值模型的学习率分别为1 × 10^(-6)和5 × 10^(-6)。为了增强训练稳定性,我们利用了价值损失剪切,剪切值为0.15。对于推理,策略的top-p设置为0.9。我们的研究结果表明,尽管熵略低于当top-p设置为1.0时,但奖励的增长速度更快,最终在类似条件下产生了一致更高的评估奖励。 此外,我们实施了一个预训练梯度来减轻对齐税。经验发现表明,对于这个特定的奖励模型,KL惩罚足够强大,可以抵消不严格是代码或数学性质的基准测试中的对齐税,比如那些测试常识知识和阅读理解的测试。为确保预训练梯度的有效性,与PPO数据相比,必须利用大量更多的预训练数据。此外,我们的实证研究表明,过大的系数值会严重阻碍对奖励模型的对齐,最终损害最终的对齐效果,而过小的值只会对减少对齐税产生边缘效应。
为展示我们对齐模型的有效性,我们在包括MMLU(Hendrycks等,2020)、C-Eval(Huang等,2023)、GSM8K(Cobbe等,2021)、HumanEval(Chen等,2021)和BBH(Suzgun等,2022)等知名基准测试上与其他对齐模型进行了比较。除了广泛使用的少样本设置外,我们还在零样本设置中测试了我们的对齐模型,以展示模型如何按照指示进行操作。在零样本设置中,提示由一条指示和一个问题组成,没有上下文中的任何先前示例。基线的结果是从它们的官方报告和OpenCompass(OpenCompass团队,2023)中收集的。 表5中的结果展示了我们对齐模型在理解人类指示并生成适当响应方面的有效性。QWEN-14B-Chat在所有数据集中(包括MMLU、C-Eval、GSM8K、HumanEval和BBH)的表现都优于除ChatGPT(OpenAI,2022)和LLAMA 2-CHAT-70B(Touvron等,2023b)之外的所有其他模型。特别是,在衡量生成代码质量的HumanEval中,QWEN的表现明显优于其他开源模型。
此外,QWEN的性能始终优于类似大小的开源模型,如LLaMA2(Touvron等,2023b)、ChatGLM2(ChatGLM2团队,2023)、InternLM(InternLM团队,2023)和Baichuan2(Yang等,2023)。这表明我们的对齐方法,即在大量人类对话数据集上对模型进行微调,已经有效地提高了模型理解和生成人类语言的能力。 尽管如此,我们对传统基准评估能够准确衡量今天采用对齐技术训练的聊天模型的性能和潜力的能力持有保留意见。前面提到的结果提供了我们竞争地位的一些证据,但我们认为开发针对对齐模型的新评估方法至关重要。 我们认为人工评估至关重要,这就是为什么我们为此创建了一个精心策划的数据集。我们的过程涉及收集300条涵盖广泛主题的中文指示,包括知识、语言理解、创意写作、编码和数学。为了评估不同模型的性能,我们选择了QWEN-CHAT-7B的SFT版本和QWEN-CHAT-14B的SFT和RLHF版本,并添加了两个强大的基线模型,GPT-3.5和GPT-4,进行比较。对于每个指示,我们要求三名注释者根据帮助性、信息量、有效性和其他相关因素的综合评分对模型响应进行排名。我们的数据集和评估方法提供了对不同语言模型在各个领域能力的全面和严格的评估。 图4展示了各种模型的胜率。对于每个模型,我们报告了与GPT-3.5的胜率、平局率和败率的百分比,每个条的段从下到上表示这些统计数据。实验结果清楚地表明,RLHF模型比SFT模型表现出显著的优势,这表明RLHF可以促使模型生成更受人类喜欢的响应。就整体性能而言,我们发现RLHF模型明显优于SFT模型,略逊于GPT-4。这表明了RLHF对齐人类偏好的有效性。为了更全面地了解模型的性能,我们在附录A.2.2中提供了来自不同模型的示例案例研究。尽管如此,准确捕捉我们的模型与专有模型之间的差距仍然很困难。因此,对聊天模型需要进行更广泛和严格的评估。
此处使用了OpenAI的GPT-3.5-turbo-0613和GPT-4-0613的API
QWEN模型旨在具有多功能性,具有卓越的能力,通过利用其工具使用和规划技能来协助(半)自动化日常任务。因此,它们可以作为agents或copilots,帮助简化各种任务。我们探讨QWEN在以下领域的熟练程度:
为增强QWEN作为agents或copilots的能力,我们采用了自我指导(self-instruct)策略进行SFT(Wang等,2023c)。具体来说,我们利用QWEN的上下文学习能力进行自我指导。通过提供一些示例,我们可以促使QWEN生成更相关的查询并生成符合特定格式(例如ReAct)的输出。然后,我们应用规则并涉及人类注释者来过滤出任何嘈杂的样本。之后,这些样本被纳入QWEN的训练数据,得到更新版本的QWEN,更适合自我指导。我们多次迭代这个过程,直到收集到大量具有出色质量和广泛多样性的样本。因此,我们的最终收集约有2000个高质量样本。 在微调过程中,我们将这些高质量样本与所有其他通用SFT样本混合在一起,而不是引入额外的训练阶段。通过这样做,我们能够保留同样适用于构建代理应用程序的基本通用功能。
利用ReAct提示使用工具 我们已经创建并公开了一个基准,用于评估QWEN使用ReAct提示调用插件、工具、函数或API的能力(请参阅阿里巴巴集团Qwen团队,2023b)。为确保公平评估,我们从评估集中排除了QWEN训练集中包含的任何插件。该基准评估了模型从最多五个候选项中选择正确插件的准确性,以及传递给插件的参数的合理性和误报的频率。在这个评估中,当模型在不需要的情况下错误地调用插件时,就会出现误报。
表6中的结果表明,随着模型大小的增加,QWEN在确定查询与可用工具的相关性方面始终实现更高的准确性。然而,表格还突显出,在某个特定点之后,当涉及选择适当的工具和提供相关参数时,性能的提升有限。这表明当前的初步基准测试可能相对简单,并可能需要在未来的迭代中进一步改进。值得注意的是,GPT-3.5是一个例外,它在这个特定基准测试中表现出亚优化性能。这可能归因于基准测试主要集中在中文上,这可能与GPT-3.5的能力不太符合。此外,我们观察到,即使查询不能有效地通过提供的工具解决,GPT-3.5也倾向于尝试使用至少一种工具。
使用代码解释器进行数学推理和数据分析 Python代码解释器被广泛认为是增强LLM代理能力的强大工具。值得探究的是,QWEN是否能够充分利用这个解释器的潜力,以提升其在数学推理和数据分析等各个领域的性能。为了促进这一探索,我们开发并公开了一个专门针对此目的的基准测试(参见阿里巴巴集团Qwen团队,2023a)。
该基准测试涵盖了三个主要类别的任务:数学问题解决、数据可视化以及文件后处理和网络爬虫等其他通用任务。在可视化任务中,我们区分了两个难度级别。较简单的级别可以通过编写并执行单个代码片段来实现,无需复杂的规划技能。然而,更具挑战性的级别需要策略性规划,并以顺序方式执行多个代码片段。这是因为后续的代码必须基于前一个代码的输出编写。例如,代理可能需要使用一个代码片段检查CSV文件的结构,然后继续编写和执行额外的代码来创建绘图。
在评估指标方面,我们考虑生成的代码的可执行性和正确性。关于正确性指标,对于数学问题,我们通过验证地面真实数值答案是否同时出现在代码执行结果和最终响应中来衡量准确性。至于数据可视化,我们使用了QWEN-VL(Bai等,2023),这是一个强大的多模态语言模型。QWEN-VL能够回答与图像配对的文本问题,我们依靠它来确认代码生成的图像是否满足用户的要求。
关于可执行性和正确性的结果分别在表7和表8中呈现。很明显,CODE LLAMA通常优于其通用对应模型LLAMA 2,这并不奇怪,因为这个基准测试特别需要编码技能。然而,值得注意的是,专业化的专门用于代码合成的模型并不一定比通用模型表现更好。这是因为这个基准测试涵盖了除编码以外的各种技能,例如将数学问题抽象成方程式、理解语言规定的约束条件以及以ReAct等指定格式作出响应。值得注意的是,尽管是通用模型,但QWEN-7B-CHAT和QWEN-14B-CHAT明显优于所有其他类似规模的开源替代品。
作为Hugging Face代理 Hugging Face提供了一个名为Hugging Face Agent或Transformers Agent的框架(Hugging Face,2023),它为LLM代理提供了一套精心策划的多模态工具,包括语音识别和图像合成。该框架使LLM代理能够与人类交互、解释自然语言命令,并根据需要使用提供的工具。
为评估QWEN作为Hugging Face代理的有效性,我们利用了Hugging Face提供的评估基准。结果见表9。评估结果显示,与其他开源替代品相比,QWEN的表现相当不错,仅稍逊于专有的GPT-4,展示了QWEN具有竞争力的能力。
通过对特定领域数据进行训练已被证明是非常有效的,特别是在代码预训练和微调的情况下。经过代码数据训练加强的语言模型可以成为编码、调试、解释等任务的有价值工具。在这项工作中,我们利用预训练和对齐技术开发了一系列通用模型。在此基础上,我们利用QWEN的基础语言模型创建了用于编码的领域特定模型,包括持续预训练模型CODE-QWEN和受监督微调模型CODE-QWEN-CHAT。这两个模型分别有140亿和70亿参数版本。
我们认为仅依赖代码数据进行预训练可能会导致作为多功能助手的能力显著下降。与之前专注于仅在代码数据上进行预训练的方法不同,我们采用了一种不同的方法(Roziere等,2023),首先使用在文本和代码数据的组合上训练的基础模型QWEN,然后继续在代码数据上进行预训练。我们继续对模型进行总共约900亿令牌的预训练。在预训练阶段,我们使用基础语言模型QWEN初始化模型。许多依赖于专门模型进行编码的应用可能会遇到较长的上下文情景,例如工具使用和代码解释,如第3.4节所述。为了解决这个问题,我们将我们的模型训练的上下文长度增加到8192。与第2.4节中基础模型训练类似,我们在注意力模块中采用了Flash Attention(Dao等,2022),并采用了标准的AdamW优化器(Kingma & Ba,2014;Loshchilov & Hutter,2017),设置β1 = 0.9,β2 = 0.95,ε = 10−8。我们将CODE-QWEN-14B的学习率设置为6.0 × 10−5,CODE-QWEN-7B设置为3.0 × 10−5,使用了3%的热身迭代,没有学习率衰减。
经过一系列实证实验,我们确定多阶段SFT策略相对于其他方法表现最佳。在受监督的微调阶段,由代码基础模型CODE-QWEN初始化的模型CODE-QWEN-CHAT通过AdamW优化器(Kingma & Ba, 2014; Loshchilov & Hutter, 2017)进行优化(β1 = 0.9, β2 = 0.95, ε = 10−8),学习率分别为14B模型为2.0 × 10−6,7B模型为1.0 × 10−5。学习率按照余弦学习率调度增加到峰值(3%热身步骤),然后保持不变。
我们的CODE-QWEN模型已与专有和开源语言模型进行了比较,如表10和表11所示。这些表格展示了我们在Humaneval(Chen等,2021)、MBPP(Austin等,2021)和多语言代码生成基准测试HUMANEVALPACK(Muennighoff等,2023)的测试集上的评估结果。比较基于这些基准数据集上模型的pass@1性能。这些比较的结果清楚地显示在表10和表11中。
我们的分析显示,专门的模型,特别是CODE-QWEN和CODE-QWEN-CHAT,在参数数量相似的情况下明显优于先前的基线模型,如OCTOGEEX(Muennighoff等,2023)、InstructCodeT5+(Wang等,2023d)和CodeGeeX2(Zheng等,2023)。事实上,这些模型甚至与较大的模型如Starcoder(Li等,2023d)的性能相媲美。
与一些极大规模的闭源模型相比,CODE-QWEN和CODE-QWEN-CHAT在pass@1方面表现出明显优势。然而,重要的是要注意,这些模型在一般情况下落后于GPT-4等最先进的方法。尽管如此,随着模型规模和数据规模的持续扩大,我们相信这个差距在不久的将来可以缩小。
需要强调的是,前面提到的评估对于全面了解模型的优势和劣势是不足够的。在我们看来,有必要开发更严格的测试来准确评估我们相对于GPT-4的性能。
我们创建了一个名为MATH-QWEN-CHAT的数学专用模型系列,该系列建立在QWEN预训练语言模型的基础之上。具体来说,我们开发了专门设计用于算术和数学方面表现优异并与人类行为保持一致的助手模型。我们发布了该模型系列的两个版本,分别是MATH-QWEN-14B-CHAT和MATH-QWEN-7B-CHAT,它们的参数分别为140亿和70亿。
我们对我们增强的数学指导数据集进行数学SFT,因此我们直接获得了聊天模型MATH-QWEN-CHAT。由于数学SFT数据的平均长度较短,我们使用了长度为1024的序列以加快训练速度。数学SFT数据集中的大多数用户输入都是考试题,模型很容易预测输入格式,而预测输入条件和数字对模型来说是无意义的,因为它们可能是随机的。因此,我们对系统和用户的输入进行了屏蔽,以避免在它们上进行损失计算,并发现在我们的初步实验中屏蔽它们可以加速收敛。在优化方面,我们使用AdamW优化器,其超参数与SFT相同,除了我们使用了峰值学习率为2 × 10^(-5),训练步数为50000。
我们在GSM8K(小学数学)(Cobbe等,2021)、MATH(具有挑战性的竞赛数学问题)(Hendrycks等,2021)、Math401(算术能力)(Yuan等,2023b)和Math23K(中国小学数学)(Wang等,2017)的测试集上评估模型。我们将MATH-QWEN-CHAT与专有模型ChatGPT和Minerva(Lewkowycz等,2022)以及开源数学专用模型RFT(Yuan等,2023a)、WizardMath(Luo等,2023a)和GAIRMath-Abel(Chern等,2023a)进行了比较,具体见表12。与开源模型和相似规模的QWEN-CHAT模型相比,MATH-QWEN-CHAT模型显示出更好的数学推理和算术能力。与专有模型相比,MATH-QWEN-7B-CHAT在MATH方面胜过了Minerva-8B。MATH-QWEN-14B-CHAT在GSM8K和MATH方面与Minerva-62B和GPT-3.5展开竞争,并且在算术能力和中国数学问题上表现更佳。
LLM的兴奋始于Transformer架构的引入(Vaswani等人,2017),随后被诸如Radford等人(2018);Devlin等人(2018);Liu等人(2019)的研究者应用于大规模数据的预训练。这些努力导致了在迁移学习方面取得了显著成功,模型大小从1亿增长到超过100亿个参数(Raffel等人,2020;Shoeybi等人,2019)。
2020年,GPT-3的发布,这是一个比T5大10倍的大型语言模型,通过提示工程和上下文学习以及后来的思维链提示,展示了少样本学习和零样本学习的惊人潜力(Wei等人,2022c)。这一成功引发了许多研究,探索进一步扩展这些模型的可能性(Scao等人,2022;Zhang等人,2022;Du等人,2021;Zeng等人,2022;Lepikhin等人,2020;Fedus等人,2022;Du等人,2022;Black等人,2022;Rae等人,2021;Hoffmann等人,2022;Chowdhery等人,2022;Thoppilan等人,2022)。因此,社区开始将这些大型语言模型视为下游模型的基本基础(Bommasani等人,2021)。
ChatGPT(OpenAI,2022)的诞生以及随后的GPT-4(OpenAI,2023)的推出标志着人工智能领域的两个历史时刻,表明大型语言模型(LLMs)可以作为有效的人工智能助手,能够与人类进行交流。这些事件引发了研究人员和开发人员对构建与人类价值观一致,甚至可能实现人工通用智能(AGI)的语言模型的兴趣(Anil等人,2023;Anthropic,2023a;b)。
在这一领域的一个显着发展是开源LLMs的出现,特别是LLaMA(Touvron等人,2023a)和LLAMA 2(Touvron等人,2023b),被认为是迄今为止最强大的开源语言模型。这引发了开源社区的活动激增(Wolf等人,2019),一系列大型语言模型正在协作开发,以建立在这一进展基础上(Mosaic ML,2023;Almazrouei等人,2023;ChatGLM2团队,2023;Yang等人,2023;InternLM团队,2023)。
社区对LLMs上的对齐效果感到惊讶。以前,没有对齐的LLMs经常遇到重复生成、幻觉和偏离人类偏好等问题。自2021年以来,研究人员一直在努力开发方法,以提高LLMs在下游任务中的性能(Wei等人,2022a;Sanh等人,2021;Longpre等人,2023;Chung等人,2022;Muennighoff等人,2022)。此外,研究人员还积极探索将LLMs与人类指令对齐的方法(Ouyang等人,2022;Asklell等人,2021;Bai等人,2022b;c)。对齐研究中的一个主要挑战是数据收集的困难。虽然OpenAI利用其平台收集了人类提示或指令,但其他人收集这样的数据并不可行。
然而,在这一领域已经取得了一些进展,例如王等人(2023c)提出的自我指导方法。这项创新工作为对齐研究中的数据收集问题提供了潜在解决方案。因此,开源聊天数据激增,包括Alpaca(Taori等人,2023),MOSS(Sun等人,2023a),Dolly(Conover等人,2023),Evol-Instruct(Xu等人,2023b)等(Sun等人,2023b;Xu等人,2023a;c;Chen等人,2023c;Ding等人,2023;Ji等人,2023;Yang,2023)。同样,开源聊天模型也在增加,例如Alpaca(Taori等人,2023),Vicuna(Chiang等人,2023),Guanaco(Dettmers等人,2023),MOSS(Sun等人,2023a),WizardLM(Xu等人,2023b)等(Xu等人,2023c;Chen等人,2023c;Ding等人,2023;王等人,2023b)。
为了训练一个有效的聊天模型,目前可用的解决方案主要基于SFT和RLHF(Ouyang等人,2022)。虽然SFT类似于预训练,但它专注于使用前述数据进行指令跟随。然而,对于许多开发者来说,有限的内存容量是进一步研究SFT的主要障碍。因此,在社区中,参数高效调整方法,如LoRA(Hu等人,2021)和Q-LoRA(Dettmers等人,2023),变得越来越受欢迎。LoRA仅调整低秩适配器,而Q-LoRA建立在LoRA之上,利用4位量化的LLMs和分页注意力(Dettmers等人,2022;Frantar等人,2022;Kwon等人,2023)。就RLHF而言,最近的方法如PPO(Schulman等人,2017;Touvron等人,2023b)已经被采用,但也有针对优化复杂性的替代技术,如RRHF(Yuan等人,2023c),DPO(Rafailov等人,2023)和PRO(Song等人,2023)。尽管就RLHF的有效性存在持续的争论,但需要更多证据来理解它如何增强LLMs的智能以及可能存在的潜在缺陷。
LLM的规划功能允许通过上下文学习调用工具,例如API或代理功能,正如Schick等人(2023)所示。Yao等人(2022)介绍了ReAct,这是一种生成格式,使模型能够生成关于使用哪种工具的想法,接受来自API观察的输入,并生成响应。当以少量样本提示时,GPT-3.5和GPT-4表现出一致而令人印象深刻的性能。除了工具使用外,LLMs还可以利用外部记忆源,如知识库(Hu等人,2023;Zhong等人,2023b)或搜索引擎(Nakano等人,2021;Liu等人,2023b)来生成更准确和丰富的答案。这导致了像LangChain(LangChain,Inc.,2023)这样的框架的流行。关于LLMs的工具使用的研究也引发了构建具有LLM功能的代理的兴趣,例如可以调用不同AI模型的代理(Shen等人,2023;Li等人,2023a),具有体现式终身学习或多模态代理(Wang等人,2023a;Driess等人,2023)以及多个代理彼此交互甚至建立微型社会的代理(Chen等人,2023b;Li等人,2023b;Xu等人,2023d;Hong等人,2023)。
先前的研究表明,LLMs在代码理解和生成方面具有显著的能力,特别是那些具有大量参数的模型(Chowdhery等人,2022;Anil等人,2023;Rae等人,2021;Hoffmann等人,2022)。此外,几种LLMs已经在与编码相关的数据上进行了预训练、持续预训练或微调,与通用LLMs相比,性能显著提高。这些模型包括Codex(Chen等人,2021),AlphaCode(Li等人,2022),SantaCoder(Allal等人,2023),StarCoder-Base(Li等人,2023d),InCoder(Fried等人,2022),CodeT5(Wang等人,2021),CodeGeeX(Zheng等人,2023)和CODE LLAMA(Roziere等人,2023)。除了这些模型外,最近的研究还专注于开发针对编码的专门对齐技术,如Code Llama-Instruct(Roziere等人,2023)和StarCoder(Li等人,2023d)。这些模型可以协助开发人员完成各种与代码相关的任务,包括代码生成(Chen等人,2021;Austin等人,2021),代码完成(Zhang等人,2023a),代码翻译(Szafraniec等人,2023),漏洞修复(Muennighoff等人,2023),代码改进(Liu等人,2023c)和代码问答(Liu和Wan,2021)。总之,LLMs有潜力通过为开发人员提供强大的代码理解、生成和相关任务工具,从而改变编码领域。
具有一定模型规模的LLMs被发现具有进行数学推理的能力(Wei等人,2022b;Suzgun等人,2022)。为了鼓励LLMs在与数学相关的任务上取得更好的表现,研究人员采用了诸如思维链提示(Wei等人,2022c)和草稿板(Nye等人,2021)等技术,取得了有希望的结果。此外,自洽性(Wang等人,2022)和从少到多提示(Zhou等人,2022)进一步提高了这些模型在这些任务上的性能。然而,提示工程是一个耗时的过程,需要大量的试错,LLMs仍然难以始终表现良好或在解决数学问题时取得令人满意的结果。此外,简单地扩展数据和模型规模并不是提高模型数学推理能力的有效方式。相反,已经显示通过数学相关语料库的预训练可以持续增强这些能力(Hendrycks等人,2021;Lewkowycz等人,2022;Taylor等人,2022;Lightman等人,2023)。此外,对数学相关的指令跟随数据集进行微调(Si等人,2023;Yuan等人,2023a;Luo等人,2023a;Yue等人,2023;Chern等人,2023a;Yu等人,2023)也是有效的,并且比数学特定的预训练更具成本效益。尽管在准确性方面存在局限性,但LLMs仍然具有显著的潜力来帮助用户解决实际的数学问题。在这一领域还有很大的发展空间。
在本报告中,我们介绍了QWEN系列大型语言模型,展示了自然语言处理领域的最新进展。这些模型具有140亿、70亿和18亿参数,已经在海量数据上进行了预训练,包括数万亿个标记,并使用SFT和RLHF等先进技术进行了精细调整。此外,QWEN系列还包括专门用于编码和数学的模型,如CODE-QWEN、CODE-QWEN-CHAT和MATH-QWEN-CHAT,这些模型已经在领域特定数据上进行了训练,以在各自的领域取得卓越表现。我们的结果表明,QWEN系列在综合基准测试和人类评估中与现有的开源模型竞争力相当,甚至与一些专有模型的性能相匹配。
我们相信,QWEN的开放访问将促进社区内的合作和创新,使研究人员和开发人员能够在我们的工作基础上进行扩展,并推动语言模型的可能性。通过向公众提供这些模型,我们希望激发新的研究和应用,进一步推动该领域的发展,并有助于我们理解在现实环境中引入的变量和技术。简而言之,QWEN系列代表了我们在大型语言模型开发中的一个重要里程碑,我们很高兴看到它将如何在未来推动进步和创新。
与基于自回归下一个标记预测的传统预训练不同,尽管使用了类似的训练任务,但SFT和RLHF应该为构建对话式AI助手模型设计了特殊的数据格式。常见的格式包括“人类助手”和ChatML格式。据我们所知,人类助手格式的最早示例之一来自Anthropic(Bai等人,2022b),它在用户输入前添加了一个特殊短语“\n\nhuman: ”,在助手响应前添加了一个“\n\nassistant: ”。基本语言模型很容易转移到对话式AI的模式。然而,由于特定短语是常见词,模型可能难以在其他上下文中消除这些词的歧义。
相反,我们转向了OpenAI提出的ChatML格式。该格式允许使用特殊标记,即“<im_start>”和“<im_end>”,这些标记在预训练中不会出现,因此解决了上述问题。下面我们演示了该格式的一个示例。
为了全面了解我们的模型系列QWEN的性能,在本节中,我们将详细介绍我们模型以及基准模型在OpenCompass团队(2023)提出的综合基准评估中的性能。我们将根据官方提供的类别,包括考试、语言、知识、理解和推理,将结果报告在多个表格中。关于基准模型的性能,我们报告了报告的结果和排行榜上的结果中的较高值。 考试在这里,我们评估了模型在一系列与考试相关的数据集上的性能。这些数据集包括:
在MMLU方面,我们在表13中报告了详细结果。在C-Eval方面,我们在表14中报告了结果。对于其他数据集,我们在表15中报告了结果。请注意,AGIEval包含中文和英文部分,而LLAMA 2只报告了英文部分的结果,因此我们使用了OpenCompass上的结果。此外,虽然CMMLU、AGIEval和高考基准与中文有关,而MPT、Falcon和LLaMA系列并未针对中文进行优化,但这些模型在数据集上的表现较差。
知识和理解 在这里,我们评估了与知识和自然语言理解相关的一系列数据集上的模型。这些数据集包括:
推理 我们报告与推理相关的数据集的评估结果,重点放在自然语言推理上。对于数学和编码等其他方面,由于我们已经详细说明了结果,因此我们不会重复报告这些结果。评估数据集包括:
在本节中,我们展示人类分析的案例。在我们自行构建的评估数据集中,指令要么是手工编写的数据,要么是从公共数据集(如CLiB6、C-Eval(Huang等人,2023)、FacTool(Chern等人,2023b)、LeetCode等)手工修订而来。 针对每种情况,我们展示所有模型的响应和Elo评分,以便比较。具体来说,由于我们人类评估的数据是中文的,我们还提供了它们的英文翻译。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-03-30
2024-04-26
2024-05-10
2024-04-12
2024-05-28
2024-05-14
2024-04-25
2024-07-18
2024-04-26
2024-08-13
2024-12-22
2024-12-21
2024-12-21
2024-12-21
2024-12-21
2024-12-20
2024-12-20
2024-12-19