在当今大模型技术飞速发展的浪潮中,混合专家模型(Mixture-of-Experts, MoE)以其独特的稀疏激活特性,有效解决了模型规模与计算效率之间的平衡难题,已成为构建千亿乃至万亿参数大模型的核心架构。但MoE并不是最新发展的技术,早在90年代,便有相关思想的孕育,乘着大模型的东风又一次起飞,实乃老树换新芽。接下来,我们将深入探讨MoE的各个方面。
MoE的核心思想源于"分而治之"的哲学:通过一个门控网络(Gating Network)和多个专家网络(Expert Network)协同工作,仅针对每个输入激活一部分最相关的专家,从而在保证模型总体参数规模的同时,控制实际计算开销。 基本公式如下:
其中,是门控网络,负责生成专家权重分布;是第i个专家网络的输出;是最终输出。

Google研发推荐和搜索领域的深度学习模型-DCN(Deep&Cross Network),前后共推出两个版本,在先前的文章:Deep & Cross Network (DCN), 已经介绍了DCN-V1,DCN虽然能自动的学习特征交叉,但在web级流量(理解为大规模样本)模型中,DCN有以下局限:
为了提高其在大规模工业场景的实用性,DCN-V2相应而生。
DCN-V2相对于前一个版本,有以下几个主要改进点:
DCN是一个可以同时高效学习低维特征交叉和高维非线性特征的深度模型,不需要人工特征工程的同时需要的计算资源非常低。
DCN的模型结构如下图所示 可以看到DCN分成4部分。最底下是Embedding and stacking layer,中间部分是Cross network和Deep network,最上面是Combination output layer。下面分别对每个部分进行讲解
1、CPU密集型 CPython中使用到了GIL,多线程的时候锁相互竞争,且多核优势不能发挥,选用Python多进程效率更 高。即使用ProcessPoolExecutor 2、IO密集型 在Python中适合是用多线程,可以减少多进程间IO的序列化开销。且在IO等待的时候,切换到其他线程 继续执行,效率不错。即ThreadPoolExecutor