论文阅读笔记——Mixtral of Experts

Mixtral 8×7B 论文

这个模型建立在 Mistral 7B 的架构上,但每层由8个前馈模块(即专家)组成。对于每个 token,路由网络在每层选择两个专家来处理当前状态并合并它们的输出。尽管每个 token 只能看到 2 个专家,但在每个时间步骤上选择的专家可以不同。因此虽然在推理过程中只能使用 13B 个活跃参数,但在访问过程中每个 token 可以访问 47B 个参数。

  • Mixtral 支持高达32,000个token的完整密集上下文长度;
  • 采用了混合专家层(Mixture of Experts,MoE)来替代原先的前馈网络块。

    给定 n 个专家网络 { E 0 , E 1 , ... ... , E n } \{E_0,E_1,......,E_n\} {E0,E1,......,En} ,每个专家层的输出值是通过将 x 输入门控网络 G ( x ) G(x) G(x) 的输出加权后,与每个专家网络 E i ( x ) E_i(x) Ei(x) 的输出相乘得到: ∑ i = 0 n − 1 G ( x ) ⋅ E i ( x ) \sum_{i=0}^{n-1}G(x)·E_i(x) ∑i=0n−1G(x)⋅Ei(x)。
    如果门控向量是稀疏的,就可以避免那些门控制为 0 的专家输出,一个简单有效的方法是采用 Top-K 进行 softmax 运算: G ( x ) : = S o f t m a x ( T o p K ( x ⋅ W g ) ) G(x):=Softmax(TopK(x·W_g)) G(x):=Softmax(TopK(x⋅Wg))
    在 Transformer 中,MoE 层替代了 Transformer 的前馈子块,并独立应用于每个 token。Mixtral 采用与 SwiGLU 架构相同的专家函数 E i ( x ) E_i(x) Ei(x),并设 K = 2,即每个 token 被路由到 2 个具有不同权重的 SwiGLU 子块:
    y = ∑ i = 0 n − 1 S o f t m a x ( T o p 2 ( x ⋅ W g ) ) i ⋅ S w i G L U i ( x ) y=\sum_{i=0}^{n-1}Softmax(Top2(x·W_g))_i · SwiGLU_i(x) y=i=0∑n−1Softmax(Top2(x⋅Wg))i⋅SwiGLUi(x)

实验结果

  • 常识推理(零样本):使用了包括 Hellaswag、Winogrande、PIQA、SIQA、OpenbookQA、ARC-Easy/Challenge、CommonsenseQA 等在内的多个测试。
  • 世界知识(少样本,5个):选择了 NaturalQuestions 和 TriviaQA 作为评估工具。
  • 阅读理解(零样本):采用了 BoolQ 和 QuAC 进行测试。
  • 数学题解:使用 GSM8K(8个样本)和 MATH(4个样本)进行测试。
  • 编程任务:在 Humaneval(零样本)和 MBPP(3个样本)上进行评估。
  • 综合流行结果 :涵盖了 MMLU(5个样本)、BBH(3个样本)和 AGI Eval(3-5个样本,仅限英语多项选择题)。

    Mixtral 在编程和数学方面相较于 LLaMA 2 表现更出色。

    作者注意到连续的 token 经常被分配给相同的专家 ,且观察到有一定位置局部性,层编号越高,重复连续高于随机分配的比例越显著
相关推荐
九成宫5 分钟前
IT项目管理期末复习——Chapter 10 项目沟通管理
笔记·项目管理·软件工程
23471021278 分钟前
4.14 学习笔记
笔记·python·学习
sonnet-10291 小时前
函数式接口和方法引用
java·开发语言·笔记
男孩李1 小时前
什么是workbuddy
人工智能·语言模型
skylijf2 小时前
2026 高项第 6 章 预测考点 + 练习题(共 12 题,做完稳拿分)
笔记·程序人生·其他·职场和发展·软件工程·团队开发·产品经理
今天你TLE了吗2 小时前
LLM到Agent&RAG——AI概念概述 第二章:提示词
人工智能·笔记·后端·学习
九成宫3 小时前
IT项目管理期末复习——Chapter 9 项目人力资源管理
笔记·项目管理·软件工程
2601_949817923 小时前
大厂Java进阶面试解析笔记文档
java·笔记·面试
John.Lewis3 小时前
C++进阶(12)附加学习:STL之空间配置器(了解)
开发语言·c++·笔记
独小乐3 小时前
019.ADC转换和子中断|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·mcu·arm