FastMoE: A Fast Mixture-of-Expert Training System
This provides an open-source solution for researchers and practitioners in the GPU and PyTorch communities to train large MoE models, addressing a bottleneck in accessibility and scalability.
The authors tackled the problem of training large-scale Mixture-of-Expert (MoE) models, which is hindered by dependency on proprietary hardware and software, by developing FastMoE, a distributed training system based on PyTorch that enables efficient scaling to trillions of parameters on common accelerators like GPUs.
Mixture-of-Expert (MoE) presents a strong potential in enlarging the size of language model to trillions of parameters. However, training trillion-scale MoE requires algorithm and system co-design for a well-tuned high performance distributed training system. Unfortunately, the only existing platform that meets the requirements strongly depends on Google's hardware (TPU) and software (Mesh Tensorflow) stack, and is not open and available to the public, especially GPU and PyTorch communities. In this paper, we present FastMoE, a distributed MoE training system based on PyTorch with common accelerators. The system provides a hierarchical interface for both flexible model design and easy adaption to different applications, such as Transformer-XL and Megatron-LM. Different from direct implementation of MoE models using PyTorch, the training speed is highly optimized in FastMoE by sophisticated high-performance acceleration skills. The system supports placing different experts on multiple GPUs across multiple nodes, enabling enlarging the number of experts linearly against the number of GPUs. The source of FastMoE is available at https://github.com/laekov/fastmoe under Apache-2 license.