EleutherAI/gpt-neox

An implementation of model parallel autoregressive transformers on GPUs, based on the Megatron and DeepSpeed libraries

它解决了什么问题

GPT-NeoX 旨在从零开始训练具有数十亿参数的大规模自回归语言模型。它提供了一个集中式框架,用于收集和实现加速大规模模型开发研究的训练技术。

它是如何工作的

该库基于 NVIDIA 的 Megatron Language Model 构建,并辅以 DeepSpeed 技术,使用 ZeRO 和 3D 并行实现了分布式训练。它支持广泛的硬件(NVIDIA 和 AMD GPU)以及 Slurm、MPI 和 IBM Job Step Manager 等编排工具。该框架结合了诸如旋转位置嵌入(rotary positional embeddings)和 alibi 位置嵌入、并行前馈注意力层以及 flash attention 等架构创新,以优化性能。

适用对象

需要从零开始训练海量语言模型的学术界、工业界和政府的研究人员及组织。它明确不适用于通用推理需求,对于此类需求,作者建议使用 Hugging Face transformers 库。

亮点

  • 广泛的硬件支持:兼容各种云和超级计算环境(例如 AWS、CoreWeave、LUMI)中的 NVIDIA 和 AMD GPU。
  • 架构灵活性:包含针对 LLaMA 1 & 2、PaLM、Falcon 和 Pythia 等流行架构的预定义配置。
  • 高级优化:支持 Flash Attention 和 NVIDIA 的 Transformer Engine,可在 Ampere 和 Hopper GPU 上实现显著的速度提升。
  • 生态系统集成:与 Hugging Face tokenizers 和 transformers 连接,并集成了 WandB、Comet 和 TensorBoard 等监控工具。

相关

  • 项目
  • Dispatch
  • Dispatch
  • Dispatch
  • 项目