AI 见闻

Qwen 1.5-MoE:与1/3激活参数匹配7 B模型性能

Qwen Team Blog··约 7 分钟阅读

GABRIB拥抱脸模型镜演示DISCORD介绍自Mixtral引发人们的兴趣激增以来,对专家混合(MoE)模型的研究获得了显着的势头。研究人员和从业者都对了解如何有效地训练此类模型并评估其效率和有效性都非常感兴趣。

今天,我们介绍Qwen 1。5-MoE-A2。7 B,MoE部小型型号,仅有2. 70亿个激活参数,但与Mistral 7 B和Qwen 1等最先进的7 B型号的性能相匹配。5- 7 B。与Qwen 1相比。

5- 7 B,其中包含6。50亿个非嵌入参数,Qwen 1. 5-MoE-A2。7 B仅包含2个。00亿个非嵌入参数,约为Qwen 1的三分之一。5- 7 B的大小。值得注意的是,它实现了75%的训练费用减少,并将推理速度加快了1倍。

74,在不影响性能的情况下大幅提高了资源利用率。架构我们建造Qwen 1。5-具有专门设计的MoE体系结构的MoE模型。通常,如Mixtral等方法所示,每个Transformer块内的MoE层雇用八名专家,并利用前2选通策略来进行路由。

这种配置虽然简单有效,但提供了足够的增强空间。

因此,通过一系列广泛的实验,我们对该架构进行了几项修改:- 细粒度专家- ,我们称之为“升级循环”- 路由机制,具有共享和路由专家DeepSeek-MoE和DBRx等之前的研究项目已经证明了使用细粒度专家的有效性。

传统上,当从标准FFN层过渡到专家混合(MoE)层时,只需多次复制FFN即可创建多个专家。然而,在细粒度专家的背景下,目标是在不增加参数计数的情况下生成更多数量的专家。为了实现这一目标,我们将单个FFN分为几个部分,每个部分都作为个人专家。

这是构建专家的一种更细致入微的方法。我们已经确定了一个最佳的配置,共有64名专家,代表了8倍的增长相比,传统的MoE设置的8名专家。模型的初始化阶段至关重要。我们最初的实验表明,从头开始训练MoE模型可能效率低下,而且难以将其提升到预期的峰值性能。

相反,我们首先重新利用现有的Qwen-1。8B,将其转化为Qwen 1。5-MoE-A2。7B.一个值得注意的发现是,在初始化期间引入随机性可以显着加快收敛速度,并在整个预训练过程中获得优异的整体性能。

值得关注的一个重要方面是所采用的路由方法。目前,在MoE层内使用共享和特定路线专家的趋势日益增长。从更广泛的角度来看,这是一种广义的MoE路由方法,因为零共享专家有效地简化了传统的MoE路由设置。

就Qwen 1而言。5-MoE-A2。7 B模型中,我们整合了4名始终激活的共享专家以及60名路由专家,其中4名将被激活。这种配置为构建MoE路由机制提供了一种适应性更强的方法,从而提供了更大的灵活性和效率。

性能为了彻底评估和展示我们新开发的模型的功能和优势,我们对基础模型和聊天模型的各种基准数据集进行了广泛的评估。对于基本模型,我们在3个基准上评估了其性能:MMLU、GSM 8 K和HumanEval,用于评估语言理解、数学和编码。

此外,为了衡量其多语言熟练程度,我们遵循了Qwen 1的评估协议。5并在跨越考试、理解、数学和翻译等不同领域的多个基准上进行了测试,并在“多语言”列中列出了总分数。对于聊天模型,我们没有使用传统的基准测试,而是使用MT-Bench对其进行测试。

在这次比较分析中,我们并列了Qwen 1。5-MoE-A2。

7 B与Mistral-7 B等性能最佳的7 B基础型号(v0. 1基础和v0。2指令)、Gemma-7 B和Qwen 1。5- 7 B。此外,我们还与参数计数相当的其他MoE模型进行了比较,特别是DeepSeekMoE 16 B。

结果总结在下表中:Qwen 1。5-MoE-A2。7 B车型在各种评估中表现出与顶级7 B车型类似的竞争性能。尽管存在这种对等性,但我们的分析揭示了聊天模型领域尚未开发的增强潜力。因此,我们致力于进一步研究工作,以完善MoE模型的有效微调策略。

成本和效率MoE模型的培训成本与密集型模型的培训成本显着不同。尽管有更大的参数计数,但由于稀疏性,MoE模型的训练费用可以显着减少。

为了更好地理解这一点,让我们首先深入研究三个关键组成部分:参数总数、活动参数计数和非嵌入参数,并在模型之间进行比较:很明显,我们的MoE模型的非嵌入参数数量比7 B模型的要少得多。在我们的实际实施中,我们观察到使用Qwen 1时培训成本显着降低了75%。

5-MoE-A2。7 B与Qwen 1相比。5- 7 B。

特别重要的是,通过升级循环,已经消除了训练与原始模型相同数量的代币的必要性。这在节省培训费用方面是一个巨大的进步。我们已经部署了两个Qwen 1。5- 7 B和Qwen 1。5-MoE-A2。

7 B型号配备vLLM,并使用单个NVIDIA A100- 80 G图形处理器进行性能测试。在输入令牌计数设置为1000、输出令牌设置为1000的实验设置下,我们根据吞吐量(每秒处理的请求)和每秒令牌(TPS)来衡量性能:Qwen 1。

5-MoE-A2。7 B型号在速度上有了令人印象深刻的提升,约为1.比Qwen 1快74倍。5- 7 B型号。这种加速主要归因于MoE架构激活其总参数的一小部分,从而减少了计算需求。此外,共享专家的集成极大地有助于提高模型的推理效率。

因此,尽管与MoE模型相关的内存要求增加,但它们在吞吐量和推理速度方面都表现出明显的优势。使用Qwen 1开发。5-MoE利用Qwen 1。

5-带有qwen 2_moe的MoE模型在Hugging Face的变压器中实现,由于最新版本尚未包括此功能,因此您必须从源安装变压器,而不是通过pip或conda安装:git克隆https://github。

com/huggingface/TransformersCD变压器pip install -e .接下来的步骤确实很简单,类似于使用Qwen 1等模型。5、西北风或大羊驼。我们演示了Qwen 1的使用示例。

5-MoE-A2。7 B聊天。要使用量化模型,只需替换模型名称Qwen 1即可。5-MoE-A2。7 B聊天与Qwen 1。5-MoE-A2。7B-Chat-GPTQ-Int4(暂时不支持AWQ)。

从变压器导入AutoModel ForCairm、AutoTokenizer型号= AutoModel ForCairm LM。来自_预训练(“Qwen/Qwen 1。5-MoE-A2。

7B-Chat-GPTQ-Int4”,设备_地图=“自动”)代币化器= AutoTokenizer。来自_pretrained(“Qwen/Qwen 1. 5-MoE-A2。7B-Chat”)提示=“给我简单介绍一下大型语言模型。

"消息= [{“角色”:“系统”,“内容”:“您是一位乐于助人的助手。"},{“角色”:“用户”,“内容”:提示}]text = tokenizer。apply_chat_templates(消息,托凯尼兹

原文出处
Qwen1.5-MoE: Matching 7B Model Performance with 1/3 Activated Parameters

本文为机器翻译辅以 AI 润色,仅供参考。原始事实以原文为准。