EleutherAI/gpt-neox
An implementation of model parallel autoregressive transformers on GPUs, based on the Megatron and DeepSpeed libraries
What it solves
GPT-NeoX is designed for the training of large-scale autoregressive language models with billions of parameters from scratch. It provides a centralized framework to gather and implement training techniques that accelerate research into large-scale model development.
How it works
Built upon NVIDIA's Megatron Language Model and augmented with DeepSpeed techniques, the library implements distributed training using ZeRO and 3D parallelism. It supports a wide range of hardware (NVIDIA and AMD GPUs) and orchestration tools like Slurm, MPI, and the IBM Job Step Manager. The framework incorporates architectural innovations such as rotary and alibi positional embeddings, parallel feedforward attention layers, and flash attention to optimize performance.
Who it’s for
Researchers and organizations in academia, industry, and government who need to train massive language models from scratch. It is specifically not intended for generic inference needs, for which the authors recommend using the Hugging Face transformers library.
Highlights
- Broad Hardware Support: Compatible with NVIDIA and AMD GPUs across various cloud and supercomputing environments (e.g., AWS, CoreWeave, LUMI).
- Architectural Flexibility: Includes predefined configurations for popular architectures like LLaMA 1 & 2, PaLM, Falcon, and Pythia.
- Advanced Optimizations: Supports Flash Attention and NVIDIA's Transformer Engine for significant speed-ups on Ampere and Hopper GPUs.
- Ecosystem Integration: Connects with Hugging Face tokenizers and transformers, and integrates with monitoring tools like WandB, Comet, and TensorBoard.
Related
- Project
- Dispatch
- Dispatch
- Dispatch
- Project