始智AI wisemodel.cn开源社区
昆仑万维开源了 Skywork-MoE 千亿大模型,基于此前开源的 Skywork-13B 模型,模型的总参数量为 146B,激活参数量 22B,共有 16 个 Expert,每个 Expert 大小为 13B,每次激活其中的 2 个 Expert。 Skywork-MoE 是首个完整将 MoE Upcycling 技术应用并落地的开源千亿 MoE大模型,也是首个支持用单台 4090 服务器推理的开源千亿 MoE大模型。
本次开源的Skywork-MoE 模型隶属于天工 3.0 的研发模型系列,是其中的中档大小模型(Skywork-MoE-Medium),此外,天工 3.0 还训练了 75B (Skywork-MoE-Small) 和 400B (Skywork-MoE-Large)两档 MoE 模型,暂未开源。Skywork-MoE 模型正在发布到始智AI wisemodel.cn开源社区上,欢迎前往wisemodel社区下载使用。
01
模型性能评测
Skywork-MoE模型在多个基准评测数据集中表现出色,能够处理包括语言理解、数学推理和编程能力在内的一系列任务。
Skywork-MoE在中文理解和问题解决能力的基准测试中,在CEVAL上得分为82.2,在CMMLU上得分为79.5,超过了Deepseek-67B 模型,并与Deepseek-V2的性能非常接近,与Qwen1.5-72B的评分接近。
Skywork-MoE在英文能力的基准测试中,在MMLU上得分为77.4,与Qwen1.5-72B和Mixtral 8*22B相近,略低于Llama3-70B和Deepseek-V2。
Skywork-MoE在数学推理和逻辑能力的基准测试中,Skywork-MoE在GSM8K上得分为76.1,在MATH上得分为31.9,略逊于Llama3-70B、Deepseek-V2和Qwen1.5-72B。
Skywork-MoE在编程能力基准测试中,在HumanEval上得分为43.9,略低于Deepseek-V2和Mixtral 8*22B,超过了Llama3-70B和Qwen1.5-72B。
Skywork-MoE 的总参数大小比 DeepSeekV2 的总参数大小要小 1/3,用更小的参数规模做到了相近的能力。
总体而言,Skywork-MoE模型的评测结果显示其在各种语言处理任务上的高效和有效性,特别是在中文理解和数学推理方面的表现尤为突出。这些结果证明了Skywork-MoE是一个强大的大型语言模型,能够在多种复杂的NLP任务中提供准确的输出和解决方案。
02
技术特点
Gating Logits 归一化操作
Gating Logits 归一化是一个创新的技术,旨在改善模型中门控机制的性能。门控机制是MoE(Mixture of Experts)模型中的一个关键组件,负责将输入Token 动态地路由到最合适的专家(expert)上。每个Token会通过一个softmax层来计算分配给各个专家的概率分布,这个过程称为门控(gating)。在 Gating Layer 的 token 分发逻辑处新增了一个 normalization 操作,使得 Gating Layer 的参数学习更加趋向于被选中的 top-2 experts,增加 MoE 模型对于 top-2 的置信度。
自适应的 Aux Loss
自适应辅助损失(Adaptive Auxiliary Loss)是Skywork-MoE模型中引入的一种技术,旨在改善MoE(Mixture of Experts)模型训练过程中专家之间的负载平衡。辅助损失原本是为了确保在训练期间,各个专家得到的token数量大致相同,从而避免某些专家过载而另一些专家则未被充分利用。
在 MoE 训练的不同阶段让模型自适应的选择合适的 aux loss 超参系数,从而让 Drop Token Rate 保持在合适的区间内,既能做到 expert 分发的平衡,又能让 expert 学习具备差异化,从而提升模型整体的性能和泛化水平。在 MoE 训练的前期,由于参数学习不到位,导致 Drop Token Rate 太高(token 分布差异太大),此时需要较大的 aux loss 帮助 token load balance;在 MoE 训练的后期,我们希望 Expert 之间仍保证一定的区分度,避免 Gating 倾向为随机分发 Token,因此需要较低的 aux loss 降低纠偏。
03
并行计算策略
Expert Data Parallel (EDP)
Megatron-LM 社区已有 EP(Expert Parallel)和 ETP(Expert Tensor Parallel)设计,Skywork-MoE模型训练中采用了独特的 Expert Data Parallel 的并行设计方案,用于优化 MoE 模型的训练过程。
EDP 策略的核心思想是在 MoE 模型的专家层(expert layer)中实现数据并行性,同时保持注意力机制(attention mechanism)中的张量并行性(tensor parallelism)。具体来说,EDP 允许每个专家在多个 GPU 上进行数据并行处理,同时保持模型的注意力部分在不同的 GPU 上以张量并行的方式运行。
EDP并行方案可以在 Expert 数量较小时仍能高效的切分模型,对 Expert 引入的 all2all 通信也可以最大程度的优化和掩盖。相较于 EP 对 GPU 数量的限制和 ETP 在千卡集群上的低效, EDP 可以较好的解决大规模分布式训练 MoE 的并行痛点,同时 EDP 的设计简单、鲁棒、易扩展,可以较快的实现和验证。
非均匀切分流水并行(UPP)
由于 first stage 的 Embedding 计算和 last stage 的 Loss 计算,以及 Pipeline Buffer 的存在, 流水并行下均匀切分 Layer 时的各 stage 计算负载和显存负载均有较明显的不均衡情况。传统的流水并行通常采用均匀切分的方式,造成计算资源的闲置和训练效率的降低。
采用非均匀的流水并行切分和重计算 Layer 分配方式,使得总体的计算/显存负载更均衡,UPP会根据各个阶段的计算复杂度来调整每一层的分配,使得每个阶段的计算量尽可能均衡,Skywork-MoE模型通过UPP策略约有 10% 左右的端到端训练吞吐提升。
04
4090 推理
Skywork-MoE 能直接在 8x4090 服务器上推理的MoE 千亿模型。8x4090 服务器一共有 192GB 的 GPU 显存,在 FP8 量化下(weight 占用 146GB),使用非均匀 Tensor Parallel 并行推理方式,Skywork-MoE 可以在合适的 batch size 内达到 2200 tokens/s 的吞吐。
wisemodel地址:
https://wisemodel.cn/organization/Skywork
https://wisemodel.cn/models/Skywork/Skywork-MoE-Base-FP8
https://wisemodel.cn/models/Skywork/Skywork-MoE-base
github地址:
https://github.com/SkyworkAI/Skywork-MoE
----- END -----
始智AI wisemodel开源社区最近上线了开源模型的在线体验功能,已经有近50个大模型可以直接进行在线体验。在线体验的创建无需任何代码开发,人人都可以来玩开源大模型。欢迎前往wisemodel.cn社区进行体验,若需指引可以参考《升级 | wisemodel上线新版在线体验,开源大模型人人可玩!》。大家研发的模型也可以发布到wisemodel社区,同时适配一下wisemodel-API,相应模型就可以直接在线运行了。如果有需要模型的在线推理运行托管服务,也欢迎联系我们。
加入wisemodel社群
wisemodel相关
系统升级
领取专属 10元无门槛券
私享最新 技术干货