文档:https://qwen.readthedocs.io/en/latest/
论文:https://arxiv.org/abs/2407.10671
博客:https://qwenlm.github.io/blog/qwen2/
模型:https://huggingface.co/collections/Qwen/qwen2-6659360b33528ced941e557f
Github:https://github.com/QwenLM/Qwen2
整体目录结构
QWEN2 技术报告
- 摘要
- 1 引言
- 2 Tokenizer & Model
- 2.1 Tokenizer
- 2.2 模型架构
- 2.2.1 Qwen2 稠密模型
- 2.2.2 Qwen2 专家混合模型(MoE)
- 2.2.3 模型配置
- 3 预训练
- 3.1 预训练数据
- 3.2 长上下文训练
- 4 后训练
- 4.1 后训练数据
- 4.1.1 协作数据注释
- 4.1.2 自动数据合成
- 4.2 有监督微调(SFT)
- 4.3 人类反馈的强化学习(RLHF)
- 5 评估
- 5.1 基础语言模型
- 5.1.1 核心能力
- 5.2 指令微调模型
- 5.2.1 开放基准评估
- 5.2.2 内部自动评估
- 5.2.3 长上下文能力
- 5.2.4 多语言评估
- 5.2.5 安全 & 责任
- 6 结论
- 参考文献
摘要
这篇技术报告介绍了Qwen2系列,这是我们大型语言模型和大型多模态模型系列中的最新成员。我们发布了一套全面的基础和指令调整语言模型,参数范围从 0.5b 到 72b,包括稠密模型和专家混合模型。Qwen2在包括语言理解、生成、多语言能力、编码、数学和推理在内的多个基准测试中,超越了大多数以前的开放权重模型,包括其前身Qwen1.5,并且与专有模型表现出竞争力。
旗舰模型Qwen2-72B表现出优异性能:在MMLU上得分84.2,在GPQA上得分37.9,在HumanEval上得分64.6,在GSM8K上得分89.5,在BBH上得分82.4,作为基础语言模型。指令调整变体Qwen2-72B-Instruct在MT-Bench上获得9.1分,在Arena-Hard上获得48.1分,在LiveCodeBench上获得35.7分。此外,Qwen2展示了强大的多语言能力,精通约30种语言,包括英语、中文、西班牙语、法语、德语、阿拉伯语、俄语、韩语、日语、泰语、越南语等,凸显了其多功能性和全球覆盖范围。
为了促进社区创新和可访问性,我们已经在Hugging Face和ModelScope上公开提供了Qwen2模型权重,并且在GitHub上提供了包括示例代码在内的补充材料。这些平台还包括量化、微调和部署的资源,促进了广泛的应用和研究工作。
1 引言
随着OpenAI在2022年推出ChatGPT之后,全球对大型语言模型(LLMs)的热情不断高涨。2023年,Llama系列的发布进一步点燃了开源社区对GPT级本地LLM的兴趣。最近,Anthropic在2024年发布的Claude-3 Opus和OpenAI在2024年更新的ChatGPT模型GPT-4o迅速攀升至聊天机器人竞技场(Chatbot Arena)的顶峰。这个平台因其对LLMs的人类评估而备受推崇。此外,AI@Meta在2024年推出的Llama3已成为最先进的开放权重模型系列,缩小了与领先专有模型的性能差距,并被广泛认为是GPT-4级别的模型。越来越多的竞争性LLMs正在追求与OpenAI的GPT系列相似的进步。包括Qwen(Bai等人,2023a)、Mistral(Jiang等人,2023a)、Gemma(Mesnard等人,2024)等在内的许多模型都以开放权重的方式发布。
近几个月来,我们陆续推出了Qwen系列(Bai等人,2023a),并发展到Qwen1.5(Qwen团队,2024a)。与此同时,我们公开了视觉-语言模型Qwen-VL(Bai等人,2023b),并推出了音频-语言模型Qwen-Audio(Chu等人,2023)。在这项工作中,我们介绍了Qwen家族大型语言模型和大型多模态模型的最新成员:Qwen2。Qwen2是基于Transformer架构(Vaswani等人,2017)的一系列LLMs,使用下一个词预测进行训练。该模型系列包括基础的,即预训练但未与人类偏好对齐的基础语言模型,以及针对聊天和代理目的使用单轮和多轮指令遵循数据集进行微调的指令微调模型。我们的发布包括四个稠密模型,参数计数分别为0.5b、1.5b、7b和72b,以及一个具有57b参数的专家混合(MoE)模型,每个标记激活14亿参数。特别是Qwen2-0.5B和Qwen2-1.5B小型模型,旨在轻松部署在智能手机、耳机和智能眼镜等便携设备上。相反,较大的模型适用于不同规模的GPU部署。
所有模型都是在超过7 trillion token(7万亿)的高质量、大规模数据集上预训练的,涵盖了广泛的领域和语言。与以前的Qwen版本相比,Qwen2包含了更广泛的语言数据,增强了代码和数学内容的数量和质量。这种丰富被假设为提高LLMs的推理能力。关于后训练,所有模型都经过了有监督的微调和直接偏好优化(DPO,Rafailov等人,2023),通过学习人类反馈使它们与人类偏好对齐。这个过程赋予了模型有效遵循指令的能力。
我们对Qwen2进行了全面的评估,并与一些基线模型进行了比较,包括通过API可访问的开放权重和专有模型。Qwen2在基础语言能力和指令调整功能评估中的性能超越了竞争模型。具体来说,我们的指令调整变体Qwen2-72B-Instruct在MT-Bench(Zheng等人,2023)、Arena-Hard(Chiang等人,2024)和LiveCodeBench(Jain等人,2024)上的得分分别为9.1、48.1和35.7。同时,基础语言模型Qwen2-72B在MMLU(Hendrycks等人,2021a)、GPQA(Rein等人,2023)、HumanEval(Chen等人,2021)、GSM8K(Cobbe等人,2021)和BBH(Suzgun等人,2023)上的得分分别为84.2、37.9、64.6、89.5和82.4。
2 Tokenizer & Model
本节介绍Qwen2的分词器和模型设计。我们详细说明了不同模型大小的模型架构和配置。
2.1 Tokenizer
沿用Qwen(Bai等人,2023a)的做法,我们采用了基于字节级字节对编码的相同Tokenizer。值得注意的是,该分词器展现出高编码效率,这得益于其相对于替代方案更好的压缩率,这有助于Qwen2的多语言能力。
所有大小的模型都采用一个共有词汇表,包含151,643个常规词元和3个控制词元。有关更多信息,请参考Bai等人(2023a)。需要注意的是,由于分布式训练的考虑,嵌入的有效大小会更大。
2.2 模型架构
Qwen2系列基本上是基于Transformer架构的大型语言模型,具有自注意力和因果掩码(Vaswani等人,2017)。具体来说,该系列包括4个规模的稠密语言模型和一个专家混合(MoE)模型。我们在深入MoE模型的独特属性之前,先介绍稠密模型的细节。
2.2.1 Qwen2 稠密模型
Qwen2密集模型的架构包括多个Transformer层,每层都配备了因果注意力机制和前馈神经网络(FFN)。与Qwen的主要区别如下:
-
分组查询注意力:我们采用了分组查询注意力(Grouped Query Attention,GQA,Ainslie等人,2023)而不是传统的多头注意力(multi-head attention,MHA)。GQA在推理期间优化了KV缓存的使用,显著提高了吞吐量。不同模型大小的详细KV头配置在第2.2.3节报告。
-
双块注意力与YARN:为了扩大Qwen2的上下文窗口,我们实现了双块注意力(Dual Chunk Attention,DCA,An等人,2024),它将长序列分割成可管理的长度块。如果输入可以在一个块中处理,DCA产生与原始注意力相同的结果。否则,DCA有助于在块内和跨块之间有效地捕获相对位置信息,从而提高长上下文性能。此外,我们还采用了YARN(Peng等人,2023)来重新调整注意力权重,以实现更好的长度外推。
我们还沿用了Qwen的使用,包括SwiGLU(Dauphin等人,2017)作为激活函数,旋转位置嵌入(RoPE,Su等人,2024)作为位置嵌入,QKV偏置(Su,2023)用于注意力,RMSNorm(Jiang等人,2023b)和预归一化用于训练稳定性。
2.2.2 Qwen2 专家混合模型(MoE)
Qwen2 MoE模型的架构与Qwen1.5-MoE-A2.7B(Qwen团队,2024c)非常相似。作为原始FFN的替代,MoE FFN由n个单独的FFN组成,每个FFN作为一个专家。每个标记根据由门控网络 G G G 分配的概率被引导到特定的专家 E i E_i Ei 进行计算:
p = softmax ( G ( x ) ) p = \text{softmax} (G (x)) p=softmax(G(x))
y = ∑ i ∈ top k ( p ) E i ( x ) y = \sum_{i \in \text{top}_k(p)} E_i(x) y=i∈topk</