Notes on GLaM

Google 在 2022 年 8 提出了 GLaM,一个基于 MoE 架构的大语言模型系列,模型超过了 GPT-3 的表现

Google 在 2022 年 8 提出了 GLaM,一个基于 MoE 架构的大语言模型系列,模型超过了 GPT-3 的表现

Introduction

作者在本文中证明了基于 MoE 架构的大语言模型可以达到与 dense 模型相同的性能,且计算更加高效。作者构建了 GLaM 大语言模型系列,包括 1.9B-A0.1B, 105B-A1.9B, 143B-A9.8B 以及 1.2T-A96.6B 等模型,尽管只激活了不到 $8\%$ 的参数,模型的 zero-shot, one-shot 和 few-shot 表现均超过了 GPT-3.

作者认为,在相同的算力下,MoE 模型比 dense 模型的表现更好,MoE 模型是一个非常具有前景的方向。

Method

训练数据集包括 1.6T token, 具体分布如下表所示

DatasetTokens (B)Weight in mixture
Filtered Webpages1430.42
Wikipedia30.06
Conversations1740.28
Forums2470.02
Books3900.20
News6500.02

模型架构如下图所示

GLaM model architecture

GLaM 的模型架构与 GShard 基本相同,作者将 transformer block 按照两个为一组,一组中一个 block 为 dense FFN, 另一个为 MoE layer, 交替进行。MoE layer 中,总专家个数为 64 个,激活专家个数为 2 个。

模型配置如下表所示

GLaM ModelType$n_{\text{params}}$$n_{\text{act-params}}$$L$$M$$H$$n_{\text{heads}}$$d_{\text{head}}$$E$
0.1BDense130M130M127683,0721264$-$
0.1B/64EMoE1.9B145M127683,072126464
1.7BDense1.7B1.700B$-$
1.7B/32EMoE20B1.878B32
1.7B/64EMoE27B1.879B242,0488,1921612864
1.7B/128EMoE53B1.881B128
1.7B/256EMoE105B1.886B256
8BDense8.7B8.7B324,09616,38432128$-$
8B/64EMoE143B9.8B324,09616,3843212864
137BDense137B137B648,19265,536128128$-$
64B/64EMoE1.2T96.6B648,19232,76812812864

作者用 GLaM(8B/64E) 来表示一个 8B 参数的 dense model 中每隔一层被转换为 MoE layer

Experiments

训练时,作者设置模型的上下文为 1024 token, batch size 为 1M, 优化器为 Adafactor, 作者还使用了 GShard 中提出来的 load balancing loss, tokenizer 为 SentencePiece

GLaM 与 GPT-3 的对比如下表所示

GPT-3GLAMrelative
costFLOPs / token (G)350180-48.6%
Train energy (MWh)1287456-64.6%
accuracy on averageZero-shot56.962.7+10.2%
One-shot61.665.5+6.3%
Few-shot65.268.1+4.4%

实验结果显示,GLaM 的训练效率更高,且表现更好

作者还探究了提升 expert 个数对最终表现的影响,结果如下图所示

Performance vs number of experts

可以看到,随着专家个数提升,模型的表现逐渐增强,但是当专家个数超过 64 个之后,模型的表现反而有所下降。

Conclusion

作者在本文中提出了 GLaM 大语言模型系列,验证了 MoE 模型的有效性和效率,结果发现,MoE 模型可以在相同的算力下达到更好的表现,并且学习效率更高。

References

Licensed under CC BY-NC-SA 4.0
Last updated on January 6, 2026 at 6:09 PM
Built with Hugo
Theme Stack designed by Jimmy