GITHUB HUGGING FACE MODELSCOPE DEMO DISCORD

简介

历经数月努力, 我们很高兴迎来了Qwen系列模型从Qwen1.5到Qwen2的重大升级。这一次,我们为大家带来了:

  • 5个尺寸的预训练和指令微调模型, 包括Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B以及Qwen2-72B
  • 在中文英语的基础上,训练数据中增加了27种语言相关的高质量数据;
  • 多个评测基准上的领先表现;
  • 代码和数学能力显著提升;
  • 增大了上下文长度支持,最高达到128K tokens(Qwen2-72B-Instruct)。

目前,我们已在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
非Embedding参数量0.35B1.31B5.98B56.32B70.21B
GQATrueTrueTrueTrueTrue
Tie EmbeddingTrueTrueFalseFalseFalse
上下文长度32K32K128K64K128K

在Qwen1.5系列中,只有32B和110B的模型使用了GQA。这一次,所有尺寸的模型都使用了GQA,以便让大家体验到GQA带来的推理加速和显存占用降低的优势。针对小模型,由于embedding参数量较大,我们使用了tie embedding的方法让输入和输出层共享参数,增加非embedding参数的占比。

上下文长度方面,所有的预训练模型均在32K tokens的数据上进行训练,并且我们发现其在128K tokens时依然能在PPL评测中取得不错的表现。然而,对指令微调模型而言,除PPL评测之外还需要进行大海捞针等长序列理解实验。在该表中,我们根据大海捞针实测结果,列出了各个指令微调模型所支持的最大上下文长度。而在使用YARN这类方法时,Qwen2-7B-Instruct和Qwen2-72B-Instruct均实现了长达128K tokens上下文长度的支持。

我们投入了大量精力研究如何扩展多语言预训练和指令微调数据的规模并提升其质量,从而提升模型的多语言能力。尽管大语言模型本身具有一定的泛化性,我们还是针对性地对除中英文以外的27种语言进行了增强:

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

此外,我们针对性地优化了多语言场景中常见的语言转换(code switch)问题,模型当前发生语言转换的概率大幅度降低。我们使用容易触发语言转换现象的提示词进行测试,观察到Qwen2系列模型在此方面能力的显著提升。

模型评测

相比Qwen1.5,Qwen2在大规模模型实现了非常大幅度的效果提升。我们对Qwen2-72B进行了全方位的评测。在针对预训练语言模型的评估中,对比当前最优的开源模型,Qwen2-72B在包括自然语言理解、知识、代码、数学及多语言等多项能力上均显著超越当前领先的模型,如Llama-3-70B以及Qwen1.5最大的模型Qwen1.5-110B。这得益于其预训练数据及训练方法的优化。

大规模预训练后,我们对模型进行精细的微调,以提升其智能水平,让其表现更接近人类。这个过程进一步提升了代码、数学、推理、指令遵循、多语言理解等能力。此外,模型学会对齐人类价值观,它也随之变得更加对人类有帮助、诚实以及安全。我们的微调过程遵循的原则是使训练尽可能规模化的同时并且尽可能减少人工标注。我们探索了如何采用多种自动方法以获取高质量、可靠、有创造力的指令和偏好数据,其中包括针对数学的拒绝采样、针对代码和指令遵循的代码执行反馈、针对创意写作的回译、针对角色扮演的scalable oversight、等等。在训练方面,我们结合了有监督微调、反馈模型训练以及在线DPO等方法。我们还采用了在线模型合并的方法减少对齐税。这些做法都大幅提升了模型的基础能力以及模型的智能水平。

我们全面评估了Qwen2-72B-Instruct在16个基准测试中的表现。Qwen2-72B-Instruct在提升基础能力以及对齐人类价值观这两方面取得了较好的平衡。相比Qwen1.5的72B模型,Qwen2-72B-Instruct在所有评测中均大幅超越,并且了取得了匹敌Llama-3-70B-Instruct的表现。

而在小模型方面,Qwen2系列模型基本能够超越同等规模的最优开源模型甚至更大规模的模型。相比近期推出的最好的模型,Qwen2-7B-Instruct依然能在多个评测上取得显著的优势,尤其是代码及中文理解上。

亮点

代码 & 数学

我们持续投入提升Qwen的代码及数学能力。在代码方面,我们成功将CodeQwen1.5的成功经验融入Qwen2的研发中,实现了在多种编程语言上的显著效果提升。而在数学方面,大规模且高质量的数据帮助Qwen2-72B-Instruct实现了数学解题能力的飞升。

长文本处理

Qwen2系列中的所有Instruct模型,均在32k上下文长度上进行训练,并通过YARNDual Chunk Attention等技术扩展至更长的上下文长度。

下图展示了我们在Needle in a Haystack测试集上的结果。值得注意的是,Qwen2-72B-Instruct能够完美处理128k上下文长度内的信息抽取任务。结合其本身强大的性能,只要有充足的算力,它一定能成为你处理长文本任务的首选!

此外,Qwen2系列中的其他模型的表现也十分突出:Qwen2-7B-Instruct几乎完美地处理长达128k的上下文;Qwen2-57B-A14B-Instruct则能处理64k的上下文长度;而该系列中的两个较小模型则支持32k的上下文长度。

除了长上下文模型,我们还开源了一个智能体解决方案,用于高效处理100万tokens级别的上下文。更多详细信息,请参见我们关于该主题的博客文章

安全

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

LanguageIllegal ActivityFraudPornographyPrivacy Violence
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%
Average0%8%0%3%11%2%27%39%31%3%16%2%

使用Qwen2

现在,模型均已开源在Hugging Face和ModelScope上。欢迎查阅模型卡了解具体用法和更多关于模型的信息,如特性、指标等。

长时间以来,来自开源生态的朋友们一致支持着Qwen的发展,包括微调(AxolotlLlama-FactoryFireflySwiftXTuner)、量化(AutoGPTQAutoAWQNeural Compressor)、部署(vLLMSGLSkyPilotTensorRT-LLMOpenVinoTGI)、本地运行(MLXLlama.cppOllamaLM Studio)、Agent及RAG(检索增强生成)框架(LlamaIndex, CrewAI, OpenDevin)、评测(LMSys, OpenCompass, Open LLM Leaderboard)、模型二次开发(Dolphin, Openbuddy)。想了解更多关于如何在三方框架中使用Qwen,欢迎阅读各项目的官方文档以及我们的官方文档了解更多用法!

当然,这里还有很多一直帮助我们的朋友们未被提及。我们真诚地感谢大家的支持,我们也希望社区的合作能够携手推动开源AI的发展。

模型许可

此次我们采用不同的模型许可。除了Qwen2-72B依旧使用此前的Qianwen License外,其余模型,包括Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B以及Qwen2-57B-A14B在内,均采用Apache 2.0的许可。我们希望本次开放程度的提升能够加速Qwen2在全球各地的落地及商业应用。

Qwen2的下一步是什么?

我们还在训练更大的模型,继续探索模型及数据的Scaling Law。此外,我们还将把Qwen2扩展成多模态模型,融入视觉及语音的理解。在不久的将来,我们还会继续开源新模型。敬请期待!

引用

不久后我们将推出Qwen2的技术报告。欢迎引用!

@article{qwen2,
  title={Qwen2 Technical Report},
  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

DatasetsDeepSeek-V2Mixtral-8x22BLlama-3-70BQwen1.5-72BQwen1.5-110BQwen2-72B
ArchitectureMoEMoEDenseDenseDenseDense
#Activated Params21B39B70B72B110B72B
#Params236B140B70B72B110B72B
English
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
Coding
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
Mathematics
GSM8K79.283.783.079.585.489.5
MATH43.641.742.534.149.651.1
Chinese
C-Eval81.754.665.284.189.191.0
CMMLU84.053.467.283.588.390.1
Multilingual
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

DatasetsJambaMixtral-8x7BYi-1.5-34BQwen1.5-32BQwen2-57B-A14B
ArchitectureMoEMoEDenseDenseMoE
#Activated Params12B12B34B32B14B
#Params52B47B34B32B57B
English
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
Coding
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
Mathematics
GSM8K59.962.582.776.880.7
MATH-30.841.736.143.0
Chinese
C-Eval---83.587.7
CMMLU--84.882.388.5
Multilingual
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

DatasetsMistral-7BGemma-7BLlama-3-8BQwen1.5-7BQwen2-7B
# Params7.2B8.5B8.0B7.7B7.6B
# Non-emb Params7.0B7.8B7.0B6.5B6.5B
English
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
Coding
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
Mathematics
GSM8K52.246.456.062.579.9
MATH13.124.320.520.344.2
Chinese
C-Eval47.443.649.574.183.2
CMMLU--50.873.183.9
Multilingual
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

DatasetsPhi-2Gemma-2BMiniCPMQwen1.5-1.8BQwen2-0.5BQwen2-1.5B
#Non-Emb Params2.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

指令微调模型评测

Qwen2-72B-Instruct

DatasetsLlama-3-70B-InstructQwen1.5-72B-ChatQwen2-72B-Instruct
English
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
Coding
HumanEval81.771.386.0
MBPP82.371.980.2
MultiPL-E63.448.169.2
EvalPlus75.266.979.0
LiveCodeBench29.317.935.7
Mathematics
GSM8K93.082.791.1
MATH50.442.559.7
Chinese
C-Eval61.676.183.8
AlignBench7.427.288.27

Qwen2-57B-A14B-Instruct

DatasetsMixtral-8x7B-Instruct-v0.1Yi-1.5-34B-ChatQwen1.5-32B-ChatQwen2-57B-A14B-Instruct
ArchitectureMoEDenseDenseMoE
#Activated Params12B34B32B14B
#Params47B34B32B57B
English
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
Coding
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
Mathematics
GSM8K65.790.283.679.6
MATH30.750.142.449.1
Chinese
C-Eval--76.780.5
AlignBench5.707.207.197.36

Qwen2-7B-Instruct

DatasetsLlama-3-8B-InstructYi-1.5-9B-ChatGLM-4-9B-ChatQwen1.5-7B-ChatQwen2-7B-Instruct
English
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
Coding
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
Mathematics
GSM8K79.684.879.660.382.3
MATH30.047.750.623.249.6
Chinese
C-Eval45.9-75.667.377.2
AlignBench6.206.907.016.207.21

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

DatasetsQwen1.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个评估数据集上的结果:

  • M-MMLU: 来自Okapi的多语言常识理解数据集(我们在阿、德、西、法、意、荷、俄、乌、越、中这几个子集进行测试)
  • MGSM:包含德、英、西、法、日、俄、泰、中和孟在内的数学评测。

结果如下所示:

ModelsM-MMLU (5-shot)MGSM (0-shot, CoT)
Proprietary LLMs
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
Open-source LLMs
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,该评测集包括10种语言:ar(阿拉伯语)、es(西班牙语)、fr(法语)、ko(韩语)、th(泰语)、vi(越南语)、pt(葡萄牙语)、id(印度尼西亚语)、ja(日语)和ru(俄语)。

ModelsaresfrkothviptidjaruAverage
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

将上述结果分类求平均后,结果如下所示:

ModelsKnowledgeUnderstandingCreationMath
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指令微调模型突出的多语言能力。