如何通过开源的稀疏激活混合专家模型(MoE)提升语言模型性能?
什么是稀疏激活混合专家模型(MoE)?
稀疏激活混合专家模型(MoE) 是一种通过在每一层激活少部分专家来提高效率的语言模型架构。具体来说,MoE 在每一层包含多个专家,但每次仅激活其中的一部分。这使得 MoE 模型能够在保持参数量相对常规的同时获得更为高效的计算性能。
MoE 模型如何有效降低训练和推理成本?
现有大语言模型(LM)在训练和推理中通常面临性能与成本的权衡。为了缓解这一矛盾,稀疏激活混合专家模型(MoE)的使用成为一个有效的解决方案。相比于激活所有专家的密集模型,MoE 每个输入仅激活部分专家,从而减小计算需求。例如,OLMoE-1B-7B 模型具有 69 亿参数,但每个输入 token 只激活 13 亿参数。这大大提高了计算效率。
有哪些前沿的 MoE 模型?
现在业界许多前沿模型都应用了稀疏激活MoE,例如 Gemini-1.5 和 GPT-4。虽然这些模型显著提升了性能,但大多数都是闭源的,无法被学者和开发人员直接访问其训练数据和方法。
为什么开源 MoE 模型具有重大意义?
由于闭源模型的限制,研究者们难以在 MoE 领域建立高性价比的开源模型。因此,为解决这一问题,科学家们引入了 OLMoE,一个完全开源的混合专家语言模型,具有SOTA性能。它的训练代码、中间检查点、训练日志和训练数据都已经开源。
OLMoE-1B-7B 模型的具体实现和优势是什么?
预训练
OLMoE 使用了 5.1 万亿个 token 预训练,总共有 69 亿参数。每个输入 token 只激活 13 亿参数,使其训练和推理成本与约 1B 参数的密集模型(如 OLMo 1B 和 TinyLlama 1B)相似,但需要更多 GPU 内存来存储其总参数。
性能和存储
实验显示,OLMoE-1B-7B 的训练速度比密集 LM 快了大约 2 倍,且在推理成本和内存存储上具有竞争力。经过指令和偏好调优,OLMoE-1B-7B-INSTRUCT 在各种基准测试中(如 MMLU、GSM8k、HumanEval)均优于一些更大的模型(如 Llama2-13B-Chat)。
关键设计选择
使 MoE 性能卓越的设计之一是细粒度路由和小专家的使用。在每一层使用 64 个小专家,其中 8 个被激活。此外,选择基于 token 的路由算法也至关重要。研究发现,无丢弃的基于 token 的路由优于基于专家的路由。
OLMoE 模型的训练方法和自适应调优
训练数据和处理
OLMoE 的训练数据来自多个来源,包括 DCLM 和 Dolma 1.7 数据集,涵盖了网络爬取的数据、编程问题解答、数学问题解答和学术论文等。这些数据混合起来,创建了一个新的数据集 OLMOE-MIX。数据处理包括过滤器去除重复内容和频繁出现的词汇。
自适应调优
基于指令和偏好调优,OLMoE-1B-7B-INSTRUCT 提升了对代码和数学数据的性能。这过程中,包括添加高质量的代码和数学数据,扩展模型的适应性。