而从Mixtral 8x7B推出以来,目前已经陆续出现了许多“跟风”之作,本文主要介绍了这不到一个月以来出现的四个moe现有模型,供大家参考。
一、Mixtral-8x7B
Mixtral 8x7B是一个稀疏专家混合模型(SMoE),开放权重,在模型结构上是一个仅解码器的模型,其中前馈块从一组8个不同的参数组中进行选择。在每一层,对于每个标记,一个路由器网络选择这些组中的两个(“专家”)来处理该标记并相加它们的输出。
可处理32k个标记的上下文,可处理英语、法语、意大利语、德语和西班牙语;在代码生成方面表现不错;
image
地址:https://mistral.ai/news/mixtral-of-experts/
二、Chinese-Mixtral-8x7B
中文扩词表增量预训练混合专家模型Chinese-Mixtral-8x7B,其提出动机在于:Mixtral-8x7B词表不支持中文,因此对中文的编解码效率较低,限制了中文场景下的实用性。 因此,基于Mixtral-8x7B进行了中文扩词表增量预训练,项目地址在:https://github.com/HIT-SCIR/Chinese-Mixtral-8x7B
在词表扩充上,使用sentencepiece在12G知乎数据和2G悟道数据上训练中文BPE词表;
在训练策略上,使用QLoRA对模型进行训练;
在训练数据上:
中文使用Skywork/SkyPile-150B(https://huggingface.co/datasets/Skywork/SkyPile-150B),总量30B,仅使用2022 + 2023年的数据;
英文使用DKYoon/SlimPajama-6B(https://huggingface.co/datasets/DKYoon/SlimPajama-6B),总量12B,数据集重复2个Epoch。
地址:https://github.com/HIT-SCIR/Chinese-Mixtral-8x7B
三、LLaMA-MoE
LLaMA-MoE《LLaMA-MoE: Building Mixture-of-Experts from LLaMA with Continual Pre-training》是基于LLaMA系列和SlimPajama的MoE模型,实现很简单:将LLaMA的FFNs划分为稀疏专家,并为每层专家插入top-K个gate,使用来自Sheared LLaMA 的优化数据采样权重和来自SlimPajama的过滤数据集持续预训练初始化的MoE模型。
image
其具体实现架构如下:
image
在开源模型上:
image
一个有趣的问题:
Q:问moe模型的构建是通过多个llama模型还是1个llama模型呢?
A:LLaMA-MoE基于一个完整的llama模型进行切分。
Q:这个repo的用途是将1个llama模型的FFN层通过不同的切分方法,切分为多个FFN来扮演多个专家。然后将llama模型的其余模型层和权重与切分后的FFN和gate进行拼接变成moe模型嘛?
A:是的。我们只切分了llama的FFN层,之后再加一个gate进行token路由。
Q:是否支持将多个llama结构模型的FFN层合并,基于一个base 的llama模型结构构建Moe呢?
A:目前不支持。不过这个想法基于同构模型,我想是比较容易实现的
地址:https://github.com/pjlab-sys4nlp/llama-moe
四、DeepSeek-MoE
但现有的MoE架构可能存在知识混杂(Knowledge Hybridity)和知识冗余(Knowledge Redundancy)的问题,限制了专家的专业化。
在实现思想上,DeepSeek-MoE采用两个主要策略:
image
一个是Fine-Grained Expert Segmentation-细粒度的专家分割,通过细化FFN中间隐藏维度,维持参数数量不变的同时激活更多细粒度的专家,使得激活的专家更加灵活和适应性更强;
另一个是Shared Expert Isolation-共享专家隔离,将某些专家隔离为共享专家,始终激活,旨在捕捉和巩固不同上下文中的共同知识。
在验证实验上,从2B参数的规模开始验证了DeepSeekMoE架构的可行性,将模型参数扩展到16B,仅使用大约40%的计算资源就能达到与DeepSeek 7B和LLaMA2 7B相媲美的性能。将DeepSeekMoE扩展到145B,其与DeepSeek 67B相媲美的性能,仅使用28.5%(可能甚至是18.2%)的计算资源。
在训练数据上,该模型是在2T中英文token上从头开始训练。
报告地址:https://arxiv.org/pdf/2401.06066.pdf
地址:https://github.com/deepseek-ai/DeepSeek-MoE
总结
本文主要介绍了moe的四个现有模型,后后面有进展的,我们进一步跟踪,供大家一起参考。
参考文献
1、https://www.zhihu.com/question/639062017/answer/3360042351
2、https://github.com/deepseek-ai/DeepSeek-MoE
3、https://github.com/HIT-SCIR/Chinese-Mixtral-8x7B
4、https://mistral.ai/news/mixtral-of-experts/
关于作者
老刘,刘焕勇,NLP开源爱好者与践行者,主页:https://liuhuanyong.github.io。
我是朋克又极客的AI算法小姐姐rumor北航本硕,NLP算法工程师,谷歌开发者专家欢迎关注我,带你学习带你肝
一起在人工智能时代旋转跳跃眨巴眼