概要
本文将对当前的四个开源Mixture-of-Experts (MoE)大型模型进行综述,着重介绍Mixtral 8x7B, Chinese-Mixtral 8x7B, 和LLaMA-MoE。这些模型展示了如何在保持计算成本可控的同时实现参数扩展。
1. Mixtral 8x7B
- 概述:Mixtral 8x7B是一种稀疏专家混合模型(SMoE),使用开放权重,且结构上是一个仅包含解码器的模型。
技术特点:
- 专家选择:每个前馈块从8组不同参数中选择。
- 路由器网络:每层针对每个标记选择两个专家进行处理,然后将它们的输出相加。
- 语言支持:支持英语、法语、意大利语、德语和西班牙语。
- 应用表现:在代码生成方面表现良好。
优点
- 高效计算 :由于专家的稀疏激活,相较于常规大型模型,Mixtral 8x7B在维持大规模参数的同时,减少了计算负担。
- 模块化设计 :模型的结构允许灵活的扩展和调整。
缺点
- 专家平衡问题 :在MoE模型中,如何平衡不同专家的使用是一个挑战,可能导致一些专家被过度使用,而其他专家则鲜有机会。
2. Chinese-Mixtral 8x7B
- 动机:原始的Mixtral 8x7B词表不支持中文,限制了其在中文场景下的应用。
开发:
- 词表扩充:使用sentencepiece在大量中文数据上训练BPE词表。
- 训练策略:采用QLoRA方法。
- 训练数据:中文数据来自SkyPile-150B(( https://huggingface.co/datasets/Skywork/SkyPile-150B )),英文数据来自SlimPajama-6B(https://huggingface.co/datasets/DKYoon/SlimPajama-6B)。
- 项目地址:Chinese-Mixtral-8x7B
优点
- 中文优化 :特别针对中文处理进行了优化,对于中文相关应用有明显优势。
- 数据多样性 :使用的训练数据涵盖了多种语料,提高了模型的泛化能力。
缺点
- 资源依赖 :对于大规模预训练数据的依赖可能限制了模型在特定领域的适用性
3. LLaMA-MoE
- 概述:基于LLaMA系列和SlimPajama的MoE模型。
实现方法:
- 专家配置:将LLaMA的前馈神经网络(FFNs)分为多个稀疏专家。
连续预训练:使用Sheared LLaMA的优化数据采样权重和SlimPajama的过滤数据集进行模型初始化和持续预训练。
其具体实现架构如下:
优点
- 适应性强 :持续预训练使得模型能够不断适应新的数据和任务。
- 优化数据采样 :使用优化的数据采样权重,提高了训练效率。
缺点
- 复杂度高 :持续预训练的模型可能需要更复杂的维护和更新策略。
4. DeepSeek-MoE的创新策略
1. 细粒度专家分割(Fine-Grained Expert Segmentation)
- 目的 :通过增加模型中活跃专家的数量来提高模型的适应性和灵活性。
- 实现 :调整前馈神经网络(FFN)中间隐藏层的维度,使得在维持总参数数量不变的情况下,激活更多的细粒度专家。
- 效果 :这种方法使得每个专家可以更专注于特定的知识片段,从而提高了模型的专业化程度。
2. 共享专家隔离(Shared Expert Isolation)
- 目的 :通过创建始终活跃的共享专家,来捕捉和固化不同上下文中的通用知识。
- 实现 :选定某些专家作为“共享专家”,它们在所有任务中始终被激活。
- 效果 :这有助于模型在处理各种任务时维持一致性和通用知识的连贯性。
性能评估
- 参数规模与计算资源 :在2B参数规模下验证了DeepSeek-MoE的可行性,并将模型扩展到16B和145B。
- 效率 :16B模型使用大约40%的计算资源就能达到与DeepSeek 7B和LLaMA2 7B相媲美的性能。145B模型的性能与DeepSeek 67B相媲美,但仅使用28.5%(可能甚至是18.2%)的计算资源。
- 训练数据 :在2T中英文token上从头开始训练。
综述与展望
DeepSeek-MoE的策略有效地解决了MoE架构中的一些关键问题,特别是在知识专业化和计算效率方面。这种方法有望为构建更高效和精确的大规模语言模型提供一个新的方向。
? 分析与比较
以上模型展示了MoE架构在扩大模型规模同时控制计算成本方面的有效性。这些模型的差异主要在于语言支持、专家选择机制、以及持续预训练的策略。Chinese-Mixtral 8x7B的开发特别关注中文处理能力,而LLaMA-MoE则利用了LLaMA模型的特点进行了进一步的优化。
?️ 关键词:模型比较、MoE架构、专家选择
参考
1、https://www.zhihu.com/question/639062017/answer/3360042351
2、https://github.com/deepseek-ai/DeepSeek-MoE
1 条评论
这篇文章写得深入浅出,让我这个小白也看懂了!