论文阅读笔记——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 经常被分配给相同的专家 ,且观察到有一定位置局部性,层编号越高,重复连续高于随机分配的比例越显著
相关推荐
lzj_pxxw1 小时前
嵌入式开发技巧:舍弃标志位,用宏定义函数实现程序单次运行
笔记·stm32·单片机·嵌入式硬件·学习
DuHz1 小时前
用于汽车雷达应用的步进频率PMCW波形——论文阅读
论文阅读·算法·汽车·信息与通信·信号处理·毫米波雷达
润 下1 小时前
C语言——回调函数的典型示例(分析详解)
c语言·开发语言·人工智能·经验分享·笔记·程序人生
朝新_1 小时前
【EE初阶 - 网络原理】传输层协议
java·开发语言·网络·笔记·javaee
koo3641 小时前
李宏毅机器学习笔记27
人工智能·笔记·机器学习
峰顶听歌的鲸鱼2 小时前
1.云计算与服务器基础
运维·服务器·笔记·云计算·学习方法
渡我白衣2 小时前
《未来的 AI 操作系统(四)——AgentOS 的内核设计:调度、记忆与自我反思机制》
人工智能·深度学习·机器学习·语言模型·数据挖掘·人机交互·语音识别
Kay_Liang2 小时前
大语言模型如何精准调用函数—— Function Calling 系统笔记
java·大数据·spring boot·笔记·ai·langchain·tools
bnsarocket3 小时前
Verilog和FPGA的自学笔记7——流水灯与时序约束(XDC文件的编写)
笔记·fpga开发
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [kernel][irq]softirq
linux·笔记·学习