在人工智能领域,大型语言模型(LLMs)的发展一直是推动技术进步的重要因素。从OpenAI的GPT系列到最近的LLaMA和Claude-3 Opus,每一次技术的迭代都不仅仅是参数的增加,更是在模型的理解、生成和多语言处理能力上的飞跃。本篇博客将深入探讨Qwen2系列模型,这是一系列基于Transformer架构的大型语言模型,它们在多个基准测试中展示了卓越的性能,尤其是在多语言理解、编程、数学和逻辑推理等方面。
Qwen2系列不仅在模型结构上进行了创新,例如引入了混合专家(MoE)模型,并且在训练过程中采用了从大规模数据集中学习的策略,以及通过直接偏好优化(DPO)对模型进行微调,使其更好地与人类偏好对齐。这些技术的进步不仅提高了模型的性能,也为未来的研究和应用提供了新的可能性。
论文标题: Qwen2 Technical Report
机构: Alibaba Group
论文链接: https://arxiv.org/pdf/2407.10671
项目地址:
https://huggingface.co/Qwen
https://modelscope.cn/organization/qwen
Qwen2系列是最新一代的大型语言模型和多模态模型,它包括从0.5亿到72亿参数的基础和指令调优语言模型。这些模型包括密集型模型和专家混合模型(Mixture-of-Experts,MoE)。Qwen2在多种基准测试中的表现超过了大多数先前的开放权重模型,包括其前身Qwen1.5,并且与专有模型相比,在语言理解、生成、多语言能力、编码、数学和推理等方面表现出竞争力。
Qwen2的旗舰模型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种语言,包括英语、中文、西班牙语、法语、德语、阿拉伯语、俄语、韩语、日语、泰语、越南语等。
为了促进社区创新和可访问性,Qwen2的模型权重已在Hugging Face和ModelScope上公开,并在GitHub上提供了包括示例代码在内的辅助材料。这些平台还包括了量化、微调和部署的资源,便于广泛的应用和研究工作。
Qwen2密集型模型的架构包括多个Transformer层,每层都配备了因果注意力机制和前馈神经网络(FFNs)。与Qwen的主要区别包括:
分组查询注意力:我们采用分组查询注意力(Grouped Query Attention,GQA),而不是传统的多头注意力(MHA)。GQA在推理过程中优化了KV缓存的使用,显著提高了吞吐量。
双块注意力与YARN:为了扩展Qwen2的上下文窗口,我们实现了双块注意力(Dual Chunk Attention,DCA),它将长序列分割成可管理的块。如果输入可以在一个块中处理,DCA产生与原始注意力相同的结果。否则,DCA有效地捕获块内和块间令牌之间的相对位置信息,从而改善长上下文性能。此外,我们还使用YARN(Peng等,2023)来重新缩放注意力权重,以更好地进行长度外推。
此外,Qwen2还沿用了SwiGLU(Dauphin等,2017)作为激活函数,使用旋转位置嵌入(RoPE,Su等,2024)进行位置嵌入,采用QKV偏置(Su,2023)进行注意力调整,使用RMSNorm(Jiang等,2023b)和预归一化来提高训练稳定性。
Qwen2 MoE模型的架构与Qwen1.5-MoE-A2.7B(Qwen团队,2024c)类似。与原始FFN不同,MoE FFN由n个单独的FFN组成,每个FFN作为一个专家。每个令牌根据由门控网络G分配的概率被定向到特定的专家Ei进行计算。
专家粒度:MoE模型与密集型模型的主要结构区别在于,MoE层包含多个FFN,每个FFN都作为一个单独的专家。因此,从密集架构过渡到MoE架构的一个简单策略是将每个专家的参数设置为原始密集模型中单个FFN的参数。例如,从Mistral-7B(Jiang等,2023a)过渡到Mixtral 8x7B(Jiang等,2024),涉及到一次激活一个专家。不同的是,我们的模型采用精细的专家(Dai等,2024),在同时激活更多专家的同时创建更小规模的专家。通过利用这些精细的专家,Qwen2 MoE能够实现更多样化和动态的专家利用,从而提高整体性能和适应性。
专家路由:专家路由机制的设计对于提高MoE模型的性能至关重要。最近的趋势是在MoE层中整合共享和路由专用的专家(Rajbhandari等,2022;Dai等,2024)。我们采用这种方法,因为它便于在各种任务中应用共享专家,同时在特定路由场景中保留其他专家的使用。引入共享和专门的专家提供了一种更灵活和高效的开发MoE路由机制的方法。
Qwen2模型展示了卓越的多语言能力,能够熟练处理约30种语言,包括英语、中文、西班牙语、法语、德语、阿拉伯语、俄语、韩语、日语、泰语和越南语等。这种多语言能力不仅提升了模型的全球适用性,也使其在多语言理解和生成任务中表现出色。
在部署适应性方面,Qwen2系列包括了不同规模的模型,从0.5亿到72亿参数不等,旨在满足不同的部署需求。较小的模型如Qwen2-0.5B和Qwen2-1.5B,特别适合在便携设备如智能手机、耳机和智能眼镜上部署。而较大的模型则适合在不同规模的GPU上部署,以满足更高的处理能力需求。这种灵活的部署能力使Qwen2能够广泛应用于各种设备和平台,极大地提高了其实用性和可访问性。
Qwen2的训练过程涵盖了大规模的预训练和精细的后训练阶段。在预训练阶段,Qwen2使用了一个包含超过7万亿token的高质量、大规模的多语言数据集。这个数据集比以往的Qwen模型使用的数据集在规模、质量和多样性上都有显著提升,尤其增加了编码和数学内容的数据,这对于提高模型的推理能力是非常有帮助的。
在后训练阶段,Qwen2通过监督式微调和从人类反馈中学习(RLHF)的方法,进一步优化和调整模型以适应具体的任务需求。这一阶段主要使用了两种数据:示范数据和偏好数据。示范数据用于监督式微调,而偏好数据则用于RLHF,通过直接偏好优化(DPO)技术,使模型的生成更符合人类的偏好和价值观。
此外,Qwen2还引入了长上下文训练的策略,将上下文长度从原来的4096个token扩展到了32768个token,并在训练中加入了大量的高质量、长篇幅的数据,以提升模型处理长上下文的能力。这对于改善模型在处理复杂文本和进行深入推理时的表现非常关键。
在Qwen2模型的后训练阶段,我们采取了一系列措施以提升模型在多个领域的专业性,包括编程、数学、逻辑推理、指令遵循和多语言理解。此阶段的关键在于确保模型生成的内容与人类价值观相符,使其在实际应用中更为有益、诚实且无害。与传统依赖大量人工监督的方法不同,我们的策略更注重与人类偏好的可扩展对齐,最小化人工标注的需求。
1. 后训练数据
后训练数据主要包括示范数据和偏好数据。构建训练数据的过程包括协作数据注释和自动数据合成两个步骤。首先,从大规模指令语料库中提取数据本体,生成一系列高质量的指令。通过人工注释,我们获得了目标响应及其正负对照,随后采用各种自动对齐策略在大规模上合成数据。
2. 监督式微调
在监督式微调阶段,我们使用包含超过500,000个示例的广泛指令数据集对模型进行了微调,覆盖了指令遵循、编程、数学、逻辑推理等多个技能。微调过程中,学习率从7×10^-6逐渐降低到7×10^-7,以优化学习效果,并通过权重衰减和梯度裁剪来防止过拟合。
3. 从人类反馈中学习的强化学习
在从人类反馈中学习的强化学习阶段,我们通过两个阶段的训练:离线训练和在线训练。离线训练阶段使用预编译的偏好数据集P来最大化y+ i与y- i之间的可能性差异。在线训练阶段,模型通过奖励模型实时精炼性能,采用在线合并优化器来减轻对齐税的影响,即与人类偏好对齐时可能出现的性能下降。
为了全面评估Qwen2模型,我们实施了一套综合评估协议。这一协议涵盖了从一般知识理解、语言理解、生成、编程、数学、推理等多个领域的能力评估。
1. 基础语言模型的评估
我们在多个基准数据集上评估了Qwen2系列的基础语言模型,这些数据集测试了模型在自然语言理解、一般问题回答、编程、数学、科学知识和推理等核心能力。例如,Qwen2-72B在MMLU和GPQA上的表现超过了多个开放权重模型和专有模型。
2. 指令调优模型的评估
对于指令调优模型,我们不仅在基准评估上进行测试,还重点评估了模型在人类偏好对齐和指令遵循方面的性能。例如,Qwen2-72B-Instruct在MT-Bench和Arena-Hard等数据集上的表现优于其他指令调优模型。
通过这些详尽的评估,Qwen2系列在多个领域显示出卓越的性能,特别是在处理长文本、多语言理解和安全性方面表现出色,充分展示了其作为先进大语言模型的能力。
在大型语言模型(LLM)的开发和部署中,安全性和责任性是不可或缺的考虑因素。随着模型能力的增强,它们在处理敏感内容和遵守伦理标准方面的表现尤为重要。Qwen2系列模型在设计和训练过程中,采取了多项措施以增强其安全性和责任性。
1. 多语言安全评估
Qwen2模型进行了多语言安全评估,以测试模型在不同语言下处理非法行为、欺诈、色情内容和隐私问题的能力。通过收集易于引发模型错误响应的提示(jail-breaking prompts),测试模型是否能够安全地拒绝这些提示。根据评估结果,Qwen2-72B-Instruct在拒绝有风险的提示方面表现优于其他模型,尤其是在处理色情内容的分类上,尽管这是一个对于人类而言也难以区分的类别。
2. 红队测试
为了进一步验证模型的安全性,Qwen2还进行了红队测试。这种测试方法涉及模拟攻击者的行为,尝试找出模型在安全性和责任性方面的潜在弱点。这帮助开发团队识别并修复问题,增强模型的整体安全性。
通过这些措施,Qwen2旨在成为一个更安全、更负责任的语言模型,减少AI技术被滥用的风险,并确保其应用对社会有积极的影响。