跳到正文
原文
通义千问 Qwen:Blog·· 2024-06-07精选AI 评分72

通义千问发布并开源 Qwen2 系列模型,覆盖 0.5B 至 72B 五种规模

Hello Qwen2

文章要点
  • 1通义千问开源 Qwen2 系列五个规模模型,从 0.5B 到 72B,含预训练与指令微调版本
  • 2官方称 Qwen2-72B 多项基准超 Llama-3-70B 与 Qwen1.5-110B(官方口径,暂无独立验证)
  • 3训练数据在英文和中文外新增 27 种语言,7B 与 72B 指令模型上下文扩至 128K tokens
  • 4除 Qwen2-72B 沿用 Qianwen License 外,其余四个模型均改为 Apache 2.0 许可
决策要点

Qwen2 以五个规模加更宽松许可开源,小模型私有化部署的商用门槛下降,开源模型竞争点转向长上下文与多语言。

  • 影响:除 72B 外的模型采用 Apache 2.0,私有化部署与二次分发的许可顾虑减少;多个规模可选,端侧与服务器部署可分开选型;官方称性能超 Llama-3-70B,自建部署与采购 API 的成本对比需要重算。
  • 参考:可考虑用 Qwen2-7B-Instruct 在中文或代码场景跑对比测试;值得先确认 Qwen2-72B 的 Qianwen License 商用条款再定部署方案;已有 Qwen1.5 部署的可评估迁移收益。
  • 依据:评测与安全对比均为官方自测口径,暂无独立验证;许可变更、上下文长度与开源地址为官方发布信息。
正文 · AI 翻译

GITHUB HUGGING FACE MODELSCOPE 演示 DISCORD

简介

经过数月的努力,我们很高兴地宣布从 Qwen1.5 到 Qwen2 的演进。这一次,我们为您带来:

  • 5 种规模的预训练和指令微调模型,包括 Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B 以及 Qwen2-72B;
  • 在英语和中文之外的 27 种额外语言的数据上进行了训练;
  • 在大量基准测试评估中取得最先进的性能;
  • 在编程和数学方面的性能显著提升;
  • Qwen2-7B-Instruct 和 Qwen2-72B-Instruct 支持将上下文长度扩展至 128K tokens。

我们已在 Hugging Face 和 ModelScope 上向大家开源了这些模型,期待听到大家的反馈!

模型信息

Qwen2 系列包含 5 种规模的基础和指令微调模型,包括 Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B、Qwen2-72B。我们在下表中展示了这些模型的关键信息:

模型Qwen2-0.5BQwen2-1.5BQwen2-7BQwen2-57B-A14BQwen2-72B
参数量0.49B1.54B7.07B57.41B72.71B
非嵌入参数量0.35B1.31B5.98B56.32B70.21B
GQATrueTrueTrueTrueTrue
绑定词嵌入TrueTrueFalseFalseFalse
上下文长度32K32K128K64K128K

具体而言,在之前的 Qwen1.5 中,只有 Qwen1.5-32B 和 Qwen1.5-110B 采用了分组查询注意力(GQA)。这一次,我们对所有规模的模型都应用了 GQA,从而在模型推理中享受更快的速度和更少的内存占用。对于小模型,我们更倾向于使用绑定词嵌入,因为大型稀疏词嵌入占了模型总参数的很大比例。

在上下文长度方面,所有基础语言模型都在上下文长度为 32K tokens 的数据上进行了预训练,我们在 PPL 评估中观察到令人满意的外推能力,最高可达 128K。 然而,对于指令微调模型,我们不满足于仅进行 PPL 评估;我们需要模型能够正确理解长上下文并完成任务。 在表中,我们列出了指令微调模型的上下文长度能力,这是通过 大海捞针 任务的评估得出的。值得注意的是,在结合 YARN 增强后,Qwen2-7B-Instruct 和 Qwen2-72B-Instruct 模型都展现出处理长达 128K tokens 上下文长度的出色能力。

我们在英语和中文之外投入了大量精力,以增加涵盖多种语言的预训练和指令微调数据集的数量和质量,从而增强其多语言能力。尽管大型语言模型具有泛化到其他语言的固有能力,我们明确强调了训练中额外纳入的 27 种语言:

地区语言
西欧德语、法语、西班牙语、葡萄牙语、意大利语、荷兰语
东欧 & 中欧俄语、捷克语、波兰语
中东阿拉伯语、波斯语、希伯来语、土耳其语
东亚日语、韩语
东南亚越南语、泰语、印尼语、马来语、老挝语、缅甸语、宿务语、高棉语、他加禄语
南亚印地语、孟加拉语、乌尔都语

此外,我们投入了大量精力来解决代码切换(code-switching)问题,这是多语言评测中的常见现象。因此,我们的模型在处理这一现象方面的能力显著提升。使用通常会在各语言间引发代码切换的提示词进行的评测证实,相关问题已大幅减少。

性能

对比评估显示,大规模模型(70B+ 参数)相较于 Qwen1.5 在性能上有显著提升。此处我们的评估聚焦于大尺寸模型 Qwen2-72B。 在基础语言模型方面,我们对 Qwen2-72B 和最先进的开源模型进行了多种能力的评估,包括自然语言理解、知识获取、编程能力、数学技能和多语言能力。 得益于精心策划的数据集和优化的训练方法,Qwen2-72B 相较于 Llama-3-70B 等领先模型展现出更优越的性能。值得注意的是,尽管参数量更少,它的性能仍超越了其前代模型 Qwen1.5-110B。

经过大规模预训练后,我们进行后训练以进一步提升 Qwen 的智能水平,使其更接近人类。这一过程进一步提升了模型在编程、数学、推理、指令遵循、多语言理解等方面的能力。此外,它还使模型的输出与人类价值观保持一致,确保其有益、诚实且无害。我们的后训练阶段遵循以最少人工标注实现可扩展训练的原则。具体而言,我们研究如何通过各种自动对齐策略获得高质量、可靠、多样且有创造性的示范数据和偏好数据,例如用于数学的拒绝采样、用于编程和指令遵循的执行反馈、用于创意写作的回译、用于角色扮演的可扩展监督等。在训练方面,我们采用监督微调、奖励模型训练和在线 DPO 训练相结合的方法。我们还采用了一种新颖的在线合并优化器来最小化对齐税。这些共同努力显著提升了我们模型的能力和智能水平,如下表所示。

我们在 16 个不同领域的基准测试上对 Qwen2-72B-Instruct 进行了全面评估。Qwen2-72B-Instruct 在获得更强能力与人类价值观良好对齐之间取得了平衡。具体而言,Qwen2-72B-Instruct 在所有基准测试上都显著超越了 Qwen1.5-72B-Chat,与 Llama-3-70B-Instruct 相比也达到了具有竞争力的性能。1

在较小模型方面,我们的 Qwen2 模型也优于同等甚至更大规模的 SOTA 模型。与最近发布的 SOTA 模型相比,Qwen2-7B-Instruct 仍然可以在各项基准测试中展现出优势,特别是在编程和中文相关指标上表现尤为出色。1

亮点

编程 & 数学

我们一直致力于提升 Qwen 的高阶能力,尤其是在编程和数学领域。在编程方面,我们成功整合了 CodeQwen1.5 的代码训练经验与数据,使 Qwen2-72B-Instruct 在多种编程语言上的表现得到显著提升。在数学方面,通过利用海量且高质量的数据集,Qwen2-72B-Instruct 在解决数学问题方面展现出更强的能力。

长上下文理解

在 Qwen2 中,所有指令微调模型均在 32k 长度的上下文上进行训练,并借助 YARN 或 Dual Chunk Attention 等技术外推至更长的上下文长度。

下图展示了我们在 大海捞针(Needle in a Haystack) 测试中的结果。值得注意的是,Qwen2-72B-Instruct 能够在 128k 上下文内完美处理信息提取任务。加上其本身出色的性能,当资源充足时,它是处理长文本任务的首选。

此外,值得一提的是该系列中其他模型的出色能力:Qwen2-7B-Instruct 几乎可以完美处理长达 128k 的上下文,Qwen2-57B-A14B-Instruct 能处理多达 64k 的上下文,而系列中两个更小的模型则支持 32k 的上下文。

除长上下文模型外,我们还开源了一套 agent 解决方案,可高效处理包含多达 100 万 token 的文档。更多详情请参阅 我们针对这一主题的专门博客文章。

安全与责任

下表展示了大模型针对四大类多语言不安全查询(非法活动、欺诈、色情、隐私暴力)所生成的有害回复比例。测试数据源自 Jailbreak,并被翻译成多种语言进行评估。我们发现 Llama-3 无法有效处理多语言提示词,因此未将其纳入对比。通过显著性检验(P_value),我们发现 Qwen2-72B-Instruct 模型在安全性方面与 GPT-4 表现相当,并显著优于 Mistral-8x22B 模型。

语言非法活动欺诈色情隐私暴力
GPT-4Mistral-8x22BQwen2-72B-InstructGPT-4Mistral-8x22BQwen2-72B-InstructGPT-4Mistral-8x22BQwen2-72B-InstructGPT-4Mistral-8x22BQwen2-72B-Instruct
zh0%13%0%0%17%0%43%47%53%0%10%0%
en0%7%0%0%23%0%37%67%63%0%27%3%
ar0%13%0%0%7%0%15%26%15%3%13%0%
es0%7%0%3%0%0%48%64%50%3%7%3%
fr0%3%0%3%3%7%3%19%7%0%27%0%
ko0%4%0%3%8%4%17%29%10%0%26%4%
pt0%7%0%3%7%3%47%57%47%4%26%4%
th0%10%0%7%23%3%13%17%10%13%7%7%
vi0%4%0%4%11%0%22%26%22%0%0%0%
平均0%8%0%3%11%2%27%39%31%3%16%2%

使用 Qwen2 进行开发

现在所有模型均已在 Hugging Face 和 ModelScope 上发布。欢迎访问模型页面了解详细用法,并进一步了解每个模型的相关信息,包括其特性、性能等。

长期以来,许多朋友一直在支持 Qwen 的发展,包括微调(Axolotl、Llama-Factory、Firefly、Swift、XTuner)、量化(AutoGPTQ、AutoAWQ、Neural Compressor)、部署(vLLM、SGL、SkyPilot、TensorRT-LLM、OpenVino、TGI)、API 平台(Together、Fireworks、OpenRouter)、本地运行(MLX、Llama.cpp、Ollama、LM Studio)、Agent 与 RAG 框架(LlamaIndex、CrewAI、OpenDevin)、评测(LMSys、OpenCompass、Open LLM Leaderboard)、模型训练(Dolphin、Openbuddy)等等。关于如何在第三方框架中使用 Qwen2,请参考各自的文档以及我们的官方文档。

还有许多团队和个人虽未被提及,但也为 Qwen 做出了贡献。我们衷心感谢他们的支持,并希望我们的合作能够推动开源 AI 社区的研究与发展。

许可证

这一次,我们对不同模型采用了不同的许可证。Qwen2-72B 及其指令微调模型仍沿用原有的 Qianwen 许可证,而其他所有模型,包括 Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B 和 Qwen2-57B-A14B,均转而采用 Apache 2.0!我们相信,模型对社区开放程度的提升将加速 Qwen2 在全球范围内的应用与商业化使用。

Qwen2 的下一步计划?

我们正在训练更大的 Qwen2 模型,以结合近期的数据扩展进一步探索模型规模扩展。此外,我们将 Qwen2 语言模型扩展至多模态,使其能够同时理解视觉和音频信息。在不久的将来,我们将继续开源新模型,加速开源 AI 的发展。敬请期待!

引用

如果您觉得我们的工作对您有帮助,欢迎引用我们的工作!

@article{qwen2,
      title={Qwen2 Technical Report}, 
      author={An Yang and Baosong Yang and Binyuan Hui and Bo Zheng and Bowen Yu and Chang Zhou and Chengpeng Li and Chengyuan Li and Dayiheng Liu and Fei Huang and Guanting Dong and Haoran Wei and Huan Lin and Jialong Tang and Jialin Wang and Jian Yang and Jianhong Tu and Jianwei Zhang and Jianxin Ma and Jin Xu and Jingren Zhou and Jinze Bai and Jinzheng He and Junyang Lin and Kai Dang and Keming Lu and Keqin Chen and Kexin Yang and Mei Li and Mingfeng Xue and Na Ni and Pei Zhang and Peng Wang and Ru Peng and Rui Men and Ruize Gao and Runji Lin and Shijie Wang and Shuai Bai and Sinan Tan and Tianhang Zhu and Tianhao Li and Tianyu Liu and Wenbin Ge and Xiaodong Deng and Xiaohuan Zhou and Xingzhang Ren and Xinyu Zhang and Xipin Wei and Xuancheng Ren and Yang Fan and Yang Yao and Yichang Zhang and Yu Wan and Yunfei Chu and Yuqiong Liu and Zeyu Cui and Zhenru Zhang and Zhihao Fan},
      journal={arXiv preprint arXiv:2407.10671},
      year={2024}
}

附录

基础语言模型评测

基础模型的评测主要关注模型在自然语言理解、通用问答、编程、数学、科学知识、推理、多语言能力等方面的表现。

用于评测的数据集包括:

英文任务:MMLU (5-shot)、MMLU-Pro (5-shot)、GPQA (5shot)、Theorem QA (5-shot)、BBH (3-shot)、HellaSwag (10-shot)、Winogrande (5-shot)、TruthfulQA (0-shot)、ARC-C (25-shot)

编程任务:EvalPlus (0-shot) (HumanEval, MBPP, HumanEval+, MBPP+)、MultiPL-E (0-shot) (Python, C++, JAVA, PHP, TypeScript, C#, Bash, JavaScript)

数学任务:GSM8K (4-shot)、MATH (4-shot)

中文任务:C-Eval(5-shot)、CMMLU (5-shot)

多语言任务:Multi-Exam (M3Exam 5-shot、IndoMMLU 3-shot、ruMMLU 5-shot、mMMLU 5-shot)、Multi-Understanding (BELEBELE 5-shot、XCOPA 5-shot、XWinograd 5-shot、XStoryCloze 0-shot、PAWS-X 5-shot)、Multi-Mathematics (MGSM 8-shot)、Multi-Translation (Flores-101 5-shot)

Qwen2-72B 性能

数据集DeepSeek-V2Mixtral-8x22BLlama-3-70BQwen1.5-72BQwen1.5-110BQwen2-72B
架构MoEMoEDenseDenseDenseDense
激活参数量21B39B70B72B110B72B
总参数量236B140B70B72B110B72B
英语
MMLU78.577.879.577.580.484.2
MMLU-Pro-49.552.845.849.455.6
GPQA-34.336.336.335.937.9
Theorem QA-35.932.329.334.943.1
BBH78.978.981.065.574.882.4
HellaSwag87.888.788.086.087.587.6
WindoGrande84.885.085.383.083.585.1
ARC-C70.070.768.865.969.668.9
TruthfulQA42.251.045.659.649.654.8
编程
HumanEval45.746.348.246.354.364.6
MBPP73.971.770.466.970.976.9
EvalPlus55.054.154.852.957.765.4
MultiPL-E44.446.746.341.852.759.6
数学
GSM8K79.283.783.079.585.489.5
MATH43.641.742.534.149.651.1
中文
C-Eval81.754.665.284.189.191.0
CMMLU84.053.467.283.588.390.1
多语言
Mulit-Exam67.563.570.066.475.676.6
Multi-Understanding77.077.779.978.278.280.7
Multi-Mathematics58.862.967.161.764.476.0
Multi-Translation36.023.338.035.636.237.8

Qwen2-57B-A14B

数据集JambaMixtral-8x7BYi-1.5-34BQwen1.5-32BQwen2-57B-A14B
架构MoEMoE稠密稠密MoE
#激活参数量12B12B34B32B14B
#参数量52B47B34B32B57B
英语
MMLU67.471.877.174.376.5
MMLU-Pro-41.048.344.043.0
GPQA-29.2-30.834.3
Theorem QA-23.2-28.833.5
BBH45.450.376.466.867.0
HellaSwag87.186.585.985.085.2
Winogrande82.581.984.981.579.5
ARC-C64.466.065.663.664.1
TruthfulQA46.451.153.957.457.7
编程
HumanEval29.337.246.343.353.0
MBPP-63.965.564.271.9
EvalPlus-46.451.950.457.2
MultiPL-E-39.039.538.549.8
数学
GSM8K59.962.582.776.880.7
MATH-30.841.736.143.0
中文
C-Eval---83.587.7
CMMLU--84.882.388.5
多语言
Multi-Exam-56.158.361.665.5
Multi-Understanding-70.773.976.577.0
Multi-Mathematics-45.049.356.162.3
Multi-Translation-29.830.033.534.5

Qwen2-7B

数据集Mistral-7BGemma-7BLlama-3-8BQwen1.5-7BQwen2-7B
# 参数量7.2B8.5B8.0B7.7B7.6B
# 非嵌入参数量7.0B7.8B7.0B6.5B6.5B
英语
MMLU64.264.666.661.070.3
MMLU-Pro30.933.735.429.940.0
GPQA24.725.725.826.731.8
Theorem QA19.221.522.114.231.1
BBH56.155.157.740.262.6
HellaSwag83.282.282.178.580.7
Winogrande78.479.077.471.377.0
ARC-C60.061.159.354.260.6
TruthfulQA42.244.844.051.154.2
编程
HumanEval29.337.233.536.051.2
MBPP51.150.653.951.665.9
EvalPlus36.439.640.340.054.2
MultiPL-E29.429.722.628.146.3
数学
GSM8K52.246.456.062.579.9
MATH13.124.320.520.344.2
中文
C-Eval47.443.649.574.183.2
CMMLU--50.873.183.9
多语言
Multi-Exam47.142.752.347.759.2
Multi-Understanding63.358.368.667.672.0
Multi-Mathematics26.339.136.337.357.5
Multi-Translation23.331.231.928.431.5

Qwen2-0.5B & Qwen2-1.5B

数据集Phi-2Gemma-2BMiniCPMQwen1.5-1.8BQwen2-0.5BQwen2-1.5B
#非嵌入参数量2.5B2.0B2.4B1.3B0.35B1.3B
MMLU52.742.353.546.845.456.5
MMLU-Pro-15.9--14.721.8
Theorem QA----8.915.0
HumanEval47.622.050.020.122.031.1
MBPP55.029.247.318.022.037.4
GSM8K57.217.753.838.436.558.5
MATH3.511.810.210.110.721.7
BBH43.435.236.924.228.437.2
HellaSwag73.171.468.361.449.366.6
Winogrande74.466.8-60.356.866.2
ARC-C61.148.5-37.931.543.9
TruthfulQA44.533.1-39.439.745.9
C-Eval23.428.051.159.758.270.6
CMMLU24.2-51.157.855.170.3

指令微调模型评估1

Qwen2-72B-Instruct

数据集Llama-3-70B-InstructQwen1.5-72B-ChatQwen2-72B-Instruct
英语
MMLU82.075.682.3
MMLU-Pro56.251.764.4
GPQA41.939.442.4
TheroemQA42.528.844.4
MT-Bench8.958.619.12
Arena-Hard41.136.148.1
IFEval (Prompt Strict-Acc.)77.355.877.6
编程
HumanEval81.771.386.0
MBPP82.371.980.2
MultiPL-E63.448.169.2
EvalPlus75.266.979.0
LiveCodeBench29.317.935.7
数学
GSM8K93.082.791.1
MATH50.442.559.7
中文
C-Eval61.676.183.8
AlignBench7.427.288.27

Qwen2-57B-A14B-Instruct

数据集Mixtral-8x7B-Instruct-v0.1Yi-1.5-34B-ChatQwen1.5-32B-ChatQwen2-57B-A14B-Instruct
架构MoE稠密稠密MoE
#激活参数量12B34B32B14B
#参数量47B34B32B57B
英语
MMLU71.476.874.875.4
MMLU-Pro43.352.346.452.8
GPQA--30.834.3
TheroemQA--30.933.1
MT-Bench8.308.508.308.55
编程
HumanEval45.175.268.379.9
MBPP59.574.667.970.9
MultiPL-E--50.766.4
EvalPlus48.5-63.671.6
LiveCodeBench12.3-15.225.5
数学
GSM8K65.790.283.679.6
MATH30.750.142.449.1
中文
C-Eval--76.780.5
AlignBench5.707.207.197.36

Qwen2-7B-Instruct

数据集Llama-3-8B-InstructYi-1.5-9B-ChatGLM-4-9B-ChatQwen1.5-7B-ChatQwen2-7B-Instruct
英语
MMLU68.469.572.459.570.5
MMLU-Pro41.0--29.144.1
GPQA34.2--27.825.3
TheroemQA23.0--14.125.3
MT-Bench8.058.208.357.608.41
编程
Humaneval62.266.571.846.379.9
MBPP67.9--48.967.2
MultiPL-E48.5--27.259.1
Evalplus60.9--44.870.3
LiveCodeBench17.3--6.026.6
数学
GSM8K79.684.879.660.382.3
MATH30.047.750.623.249.6
中文
C-Eval45.9-75.667.377.2
AlignBench6.206.907.016.207.21

Qwen2-0.5B-Instruct & Qwen2-1.5B-Instruct

数据集Qwen1.5-0.5B-ChatQwen2-0.5B-InstructQwen1.5-1.8B-ChatQwen2-1.5B-Instruct
MMLU35.037.943.752.4
HumanEval9.117.125.037.8
GSM8K11.340.135.361.6
C-Eval37.245.255.363.8
IFEval (Prompt Strict-Acc.)14.620.016.829.0

指令微调模型的多语言能力

我们在多个跨语言公开基准上以及通过人工评估,将 Qwen2 指令微调模型与其他近期大语言模型进行比较。在基准测试方面,我们展示了在 2 个评估数据集上的结果:

  • 来自 Okapi 的 M-MMLU:多语言常识评估(我们在 ar、de、es、fr、it、nl、ru、uk、vi、zh 上使用一个子集进行评估)
  • MGSM:针对 de、en、es、fr、ja、ru、th、zh 和 bn 等语言的数学评估

结果在各语言上取平均后,按每个基准测试展示如下:

模型M-MMLU(5-shot)MGSM(0-shot,CoT)
闭源 LLM
GPT-4-061378.087.0
GPT-4-Turbo-040979.390.5
GPT-4o-051383.289.6
Claude-3-Opus-2024022980.191.0
Claude-3-Sonnet-2024022971.085.6
开源 LLM
command-r-plus-110b65.563.5
Qwen1.5-7B-Chat50.037.0
Qwen1.5-32B-Chat65.065.0
Qwen1.5-72B-Chat68.471.7
Qwen2-7B-Instruct60.057.0
Qwen2-57B-A14B-Instruct68.074.0
Qwen2-72B-Instruct78.086.6

在人工评估中,我们使用内部评估集将 Qwen2-72B-Instruct 与 GPT3.5、GPT4 和 Claude-3-Opus 进行比较,评估集涵盖 ar、es、fr、ko、th、vi、pt、id、ja 和 ru 共 10 种语言(分数范围为 1~5):

模型aresfrkothviptidjaru平均
Claude-3-Opus-202402294.154.314.234.234.013.984.094.403.854.254.15
GPT-4o-05133.554.264.164.404.094.143.894.393.724.324.09
GPT-4-Turbo-04093.444.084.194.244.113.843.864.093.684.273.98
Qwen2-72B-Instruct3.864.104.014.143.753.913.973.833.634.153.93
GPT-4-06133.553.923.943.873.833.953.553.773.063.633.71
GPT-3.5-Turbo-11062.524.073.472.373.382.903.373.562.753.243.16

按任务类型分组,结果展示如下:

模型知识理解创作数学
Claude-3-Opus-202402293.644.454.423.81
GPT-4o-05133.764.354.453.53
GPT-4-Turbo-04093.424.294.353.58
Qwen2-72B-Instruct3.414.074.363.61
GPT-4-06133.424.094.103.32
GPT-3.5-Turbo-11063.373.673.892.97

这些结果表明 Qwen2 指令微调模型具有强大的多语言能力。


  1. 2024-07-16 更新:指令微调模型的结果可能与技术报告中给出的结果有所不同;如有不一致之处,应以技术报告中记录的结果为准。 ↩︎ ↩︎ ↩︎

来源:通义千问 Qwen:Blog · qwenlm.github.io