博客

  • 深入研究大型语言模型中的专家混合机制

    引言

    随着大型语言模型(LLMs)的出现,自然语言处理领域发生了革命性的变化。研究人员通过增加模型规模和训练数据量,不断推升这些模型的能力。然而,这也带来了训练成本和复杂性的急剧增加,迫切需要新的解决方案来更好地平衡预训练效率和模型性能。专家混合(Mixture-of-Experts, MoE)架构通过动态路由输入到一部分专家,从而在不牺牲计算效率的情况下,实现模型的大规模扩展。

    Mixture-of-Experts 概述

    MoE模型通过用N个并行的前馈网络(FFNs)替换原有的FFNs,并结合一个路由器来增强Transformer。这些并行的FFNs被称为专家,每个专家通过路由器的评分分布来接收输入。公式如下:

    [ \mathbf{y} = \sum_{n \in N} g_{n}(\mathbf{x}; \mathbf{G}, k) E_{n}(\mathbf{x}) ]

    当Top-k小于N时,仅有部分专家参与计算,这被称为稀疏专家混合(SMoE)。

    方法概述

    本文选取了Mixtral 8x7B、DeepSeekMoE和Grok-1三个模型进行分析,并附加了标准的Transformer模型Mistral 7B作为对比。研究分为静态参数分析和动态行为分析两部分。

    静态参数分析

    专家权重矩阵

    在矩阵级别,我们计算了所有专家在每一层的投影矩阵Wup、Wgate和Wdown之间的相似性,并用PCA将这些矩阵扁平化为二维空间。结果显示,不同模型的矩阵相似性模式存在显著差异。

    门嵌入

    门嵌入的相似性分析显示,Mixtral和DeepSeek的门嵌入与专家选择的权重矩阵Wgate之间存在较强的相关性,这表明门嵌入和Wgate可能学习了相似的知识来执行选择操作。

    动态行为分析

    专家输出

    通过输入短序列和长序列,我们测量了专家输出特征向量之间的相似性。结果显示,被选择的专家输出更相似,尤其是在Mixtral模型中。

    专家输出的L2范数和门评分

    在Mixtral模型中,我们发现被选择的专家通常输出范数最大,这表明范数可能是门决策的关键因素之一。这一发现与CompeteSMoE的设计一致,该设计基于输出范数选择专家。

    讨论

    基于我们的分析,我们提出了一些关于MoE模型的建议:

    • 神经元级别的专家:门嵌入决定了专家选择,而Wgate负责选择激活的神经元,两者之间的相似性表明神经元可能是更细粒度的专家。
    • 模型架构:可以考虑在深层增加专家数量,而在最后一层减少专家数量。此外,基于输出范数作为路由机制是合理的。
    • 相关性测量:权重矩阵之间的相似性测量在某种程度上等同于输出特征向量的相似性测量。

    相关工作

    现有的大部分工作从路由器的角度分析MoE,通过观察专家选择来研究其行为。近年来的研究发现标准路由器并未在领域级别表现出明显的专业化,主要基于token ID进行路由。

    结论

    本文首次尝试通过研究参数和输出来揭示MoE模型的内部工作机制。我们总结了实证观察,并提出了一些实用建议。虽然目前还无法全面回答MoE是否学习了异质的专家,但我们的一些实验表明,特定的架构设计和训练框架可能更有利于专家的专业化。

    限制

    我们的分析主要基于观察,缺乏进一步验证的干预措施。

    GitHub – kamanphoebe/Look-into-MoEs: A Closer Look into Mixture-of-Experts in Large Language Models

    这个GitHub仓库包含了论文《A Closer Look into Mixture-of-Experts in Large Language Models》的代码。以下是仓库的主要内容和使用指南:

    概述

    我们首次尝试理解基于MoE的大型语言模型的内部工作机制。具体来说,我们全面研究了三个基于MoE的模型(Mixtral 8x7B, DeepSeekMoE, Grok-1)的参数和行为特征,揭示了一些有趣的观察结果,包括:

    • 神经元像细粒度专家一样行为:门嵌入决定了专家选择,而专家的投影矩阵则负责选择激活的神经元。它们的相似性值显示出关联性,这表明专家神经元可能是细粒度的专家。
    • MoE的路由器通常选择输出范数较大的专家:以Mixtral为例,我们发现输出特征向量范数最大的专家最有可能被门赋予最高分数。
    • 专家多样性随着层数增加而增加,但最后一层是一个例外:在多个实验中,我们观察到专家之间的相似性在深层中通常较低,而在最后一层相似性增加。

    基于这些观察结果,我们还为MoE实践者提供了一些建议,如路由器设计和专家分配。

    使用指南

    1. 下载模型检查点
      默认情况下,我们的代码从ckpt目录加载预下载的模型。你也可以修改代码直接从HuggingFace下载。我们使用的模型下载链接如下:
    • Mixtral 8x7B Base
    • Mixtral 8x7B Instruct
    • Mistral
    • DeepSeekMoE
    • Grok-1
    1. 创建conda环境
       git clone https://github.com/kamanphoebe/Look-into-MoEs.git
       cd Look-into-MoEs
       conda create -n analyze --file env.txt

    创建conda环境后,需要将其选为Jupyter内核。

    1. 运行实验
      两个Jupyter notebooks(static_analysis.ipynb和dynamic_analysis.ipynb)分别包含了关于静态参数和动态行为的实验代码。你可以简单地运行每个实验对应的代码块,这些代码块的标题与论文中的实验名相同。

    引用

    如果你觉得我们的工作有用,请引用我们的论文:

    @misc{lo2024closerlookmixtureofexpertslarge,
          title={A Closer Look into Mixture-of-Experts in Large Language Models}, 
          author={Ka Man Lo and Zeyu Huang and Zihan Qiu and Zili Wang and Jie Fu},
          year={2024},
          eprint={2406.18219},
          archivePrefix={arXiv},
          primaryClass={cs.CL},
          url={https://arxiv.org/abs/2406.18219}, 
    }

    致谢

    我们的模型配置和建模文件借用了HuggingFace仓库中的相应文件,感谢这些作者的出色工作。

    通过这个GitHub仓库,研究者可以复现论文中的实验,并进一步探索MoE模型的内部机制。

  • 动态去偏:解释引导的人类监督机器学习系统决策

    引言

    在当前社会中,机器学习(ML)系统已经广泛应用于招聘、金融和医疗等关键领域。然而,这些系统在做出决策时,可能会基于受保护属性(如性别、种族等)出现歧视性结果。这引起了人们对其公正性的广泛关注。虽然在开发阶段确保公平性非常重要,但部署后的ML系统仍可能在实际操作中表现出歧视性。为了填补这一空白,本文提出了一种新颖的框架,用于对部署的ML系统进行实时监控和纠正歧视行为。该框架利用反事实解释技术,持续监控ML系统的预测,并在检测到歧视性结果时进行标记。然后,将与原始预测和反事实替代相关的事后解释呈现给人类审查员,以便进行实时干预。这种人类在环(human-in-the-loop)的方法使审查员能够接受或推翻ML系统的决定,从而在动态环境下实现公平和负责任的ML操作。

    什么是公平性?

    公平性的定义

    在ML系统的决策中,公平性是指在没有基于个人或群体的固有或获得属性(如种族、性别等)出现偏见或偏好。公平性问题的解决首先需要对其进行量化。简而言之,假设 ( X ) 代表一个个体的属性集合, ( Y ) 代表真实标签集合, ( S ) 代表敏感属性, ( Z ) 代表其他属性,公式如下:

    [ F(X, Y, h, S, Z) = f(h(X, S, Z)) \approx h(X, S’, Z) ]

    其中, ( S’ ) 是去除了任何潜在偏见的敏感属性子集。此公式还可以写为概率分布:

    [ F(h) = P[Y = y|X, A = a] = P[Y = y|X, A = a’] ]

    这意味着,给定个体属性 ( X ) 的情况下,不同受保护属性值 ( a ) 和 ( a’ ) 对预测结果 ( Y ) 的影响是相同的,即模型的预测结果应独立于受保护属性。

    个体公平性

    个体公平性确保了相似的个体在决策中获得相似的结果,而不考虑其受保护属性。这种公平性基于这样一种理念:个体应被平等对待,不论其是否属于某一特定群体。设 ( X ) 表示属性集合, ( Q ) 表示受保护属性集合,公式如下:

    [ X = D(q_1) \times D(q_2) \times \cdots \times D(q_n) ]

    其中, ( D(q_i) ) 表示属性 ( q_i ) 的取值域, ( x_i ) 表示输入实例中的第 ( i ) 个属性值。

    公平性测试

    公平性测试是一种软件测试分支,旨在揭露ML系统中存在的不公平性漏洞。公平性漏洞指的是ML系统在实际操作中违背预期公平性条件的任何缺陷。公平性测试可以分为离线测试和在线测试。离线测试在模型开发阶段进行,只评估模型在训练数据上的表现,而不考虑其在实际应用中的表现。而在线测试则在模型部署后,持续监控和评估其在实际操作中的公平性。

    反事实解释

    反事实解释是一种用于识别需要做出的最小更改,以改变给定预测的技术。通过提供类似于待解释观察结果但产生不同结果的特定数据实例,反事实解释可以帮助理解某些因素对结果的直接影响,从而识别模型中的潜在问题并做出明智的决策。公式如下:

    [ c = \arg \min_{c} \text{loss}(f(c), y) + |x – c| ]

    其中,第一项表示模型预测的损失或错误,第二项表示原始观察结果与反事实数据点之间的差异。这个公式确保反事实数据点与初始观察结果尽可能相似,但结果不同。

    人类监督在ML系统中的嵌入

    在使用ML系统自动化决策过程中,一个重要的担忧是这些系统可能会对某些群体产生偏见。引入人类输入和监督(即人类在环)可以有效减少系统中的偏见,因为人类带来了不同的视角、知识和经验,可以在算法没有考虑到的情况下做出公正的决策。公式如下:

    [ F(H) = H(f(x_1), f(x_2), \ldots, f(x_n)) ]

    表示ML系统输出的最终决策可以由人类审查员进行验证和确认。

    方法论

    本文提出了一种概念模型,旨在在ML系统运行期间实时监控和纠正偏见。该模型包括以下组件:

    1. 反事实生成:输入实例后,通过预训练的ML模型生成反事实实例,这些实例与原始实例在受保护属性上有所不同,但其他特征相同。
    2. 偏见检测:自动偏见检测组件分析反事实实例,并判断是否存在歧视性结果。如果存在反事实实例且结果不同,则标记为歧视。
    3. 人类审查:将标记为歧视的实例提交给人类审查员进行最终评估,以确保系统决策的公正性。

    实际应用案例

    案例1:医疗系统

    在医疗系统中,ML模型可以用于预测患者的再入院风险。然而,如果模型对某些人口群体(如某种种族或性别)存在偏见,这些偏见可以通过反事实解释和自动偏见检测组件来检测和纠正。例如,如果反事实解释表明某患者的再入院风险会因其属于某特权群体而降低,则可以标记该预测为歧视性并进行人类审查。

    案例2:教育系统

    在教育领域,ML模型可以用于评估学生申请和奖学金分配。然而,如果模型对某些群体(如少数民族或性别)存在偏见,这些偏见可以通过反事实生成和自动偏见检测组件来检测。例如,反事实解释可以揭示某少数族裔申请者如果不是少数族裔,可能会获得更高的录取几率。

    案例3:贷款审批系统

    在贷款审批系统中,ML模型用于评估申请者的信用评分和贷款批准。然而,如果模型对某些群体(如种族或性别)存在偏见,这些偏见可以通过反事实生成和自动偏见检测组件来检测和纠正。例如,反事实解释可以揭示某少数族裔申请者如果不是少数族裔,可能会更容易获得贷款批准。

    案例4:刑事司法系统

    在刑事司法系统中,ML模型用于预测被告的再犯风险。然而,如果模型对某些群体(如种族)存在偏见,这些偏见可以通过反事实生成和自动偏见检测组件来检测和纠正。例如,反事实解释可以揭示某黑人被告如果不是黑人,其再犯风险评分会更低。

    案例5:招聘系统

    在招聘系统中,ML模型用于筛选求职者。然而,如果模型对某些群体(如性别)存在偏见,这些偏见可以通过反事实生成和自动偏见检测组件来检测和纠正。例如,反事实解释可以揭示某女性求职者如果是男性,其录取概率会更高。

    结论

    本文提出了一种概念模型,用于通过人类审查和反事实解释在实时中跟踪和纠正ML系统中的个体歧视。我们的框架利用反事实解释的力量来定位ML系统中的歧视实例,并包含一个人类审查组件来纠正这些偏见。这种方法有助于确保这些系统做出的决策是公平且无偏的,从而防止弱势群体受到歧视性结果的不公正影响。

    参考文献

    1. Mamman, Hussaini Abubakar, et al. “Unbiasing on the Fly: Explanation-Guided Human Oversight of Machine Learning System Decisions.” 13th Computer Science On-line Conference, Lecture Notes on Networks and Systems, Springer, April 2024.
    2. Udeshi S., et al. “AEQUITAS: A Fairness Testing Technique.” Udeshi et al. 2018.
    3. Monjezi R., et al. “DICE: Discrimination Identification and Correction in Deep Neural Networks.” Monjezi et al. 2018.
    4. Galhotra S., et al. “Themis: A Fairness Testing Tool.” Galhotra et al. 2017.
    5. Yang J., et al. “BiasRV: A Tool for Detecting Gender Discrimination in Sentiment Analysis Systems.” Yang et al. 2019.

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网
Page Stats: PV: 1 | UV: 1
Last updated: 2025-07-12 19:18:33
沪ICP备2024052574号-1