gpt-neox

在GPU集群上训练GPT级大模型的开源并行框架

开源 free 模型训练
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 7471
维护状态 活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类模型训练
开发团队EleutherAI
所属国家
定价模式free
价格说明开源免费,需自行部署训练
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型deepspeed-library,gpt-3,language-model,transformers
GitHub 星标★ 7471
30天Star增速
HF 下载量
上线时间2020-12-22 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-17
浏览次数0

项目介绍

GPT-NeoX 是 EleutherAI 开源的 GPU 大规模自回归 Transformer 训练框架,基于 Megatron 与 DeepSpeed 实现张量并行、流水并行和数据并行,用于训练 GPT-3 级别的稠密语言模型。它解决的核心问题是:普通研究者和小团队难以在有限 GPU 上训练百亿至千亿参数模型。项目提供完整的训练脚本、配置系统和检查点管理,支持混合精度、ZeRO 优化、激活重计算和分布式数据加载,并已实际用于训练 Pythia 系列模型。框架与 Hugging Face 生态兼容,可导出标准权重,方便下游微调和推理。相比从零搭建并行训练管线,它把工程复杂度封装成可配置项,让用户专注数据与模型结构,是开源大模型预训练的重要基础设施之一。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:进阶 约 30 分钟 部署方式:本地安装 8 步

环境要求

  • Python 3.8-3.10,PyTorch 1.8-2.0(非严格限制,其他版本组合也可能可用)
  • 强烈建议使用 Anaconda、虚拟机或其他环境隔离方式,因为项目依赖 DeeperSpeed(DeepSpeed 的 EleutherAI 分支),否则可能破
  • 使用 Docker 方式时需具备对应 GPU 驱动、较新的 Docker 以及 nvidia-container-toolkit
  • 训练需要 NVIDIA 或 AMD GPU;多节点运行需要 MPI 与 hostfile

安装与启动步骤

  1. 1克隆代码仓库

    README 说明所有命令都在仓库根目录执行,先获取源码并进入该目录。

    git clone https://github.com/EleutherAI/gpt-neox.git
    cd gpt-neox
  2. 2创建隔离环境

    README 强烈建议用 Anaconda 等方式隔离环境,避免污染依赖 DeepSpeed 的其他仓库。

    conda create -n gpt-neox python=3.10
    conda activate gpt-neox
  3. 3安装基础依赖

    在仓库根目录安装 requirements.txt,这是运行训练、评估、生成的基础依赖。

    pip install -r requirements/requirements.txt
  4. 4按需安装日志依赖

    可选。用 WandB、TensorBoard 或 Comet 记录日志时,安装对应的其中一个依赖文件即可。

    pip install -r requirements/requirements-wandb.txt
  5. 5验证 GPU 容器环境

    Docker 方式的前置检查:能跑通这条官方示例即说明驱动与 runtime 正常。

    docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
  6. 6设置数据与检查点路径

    Docker 方式要求导出 NEOX_DATA_PATH(数据目录)和 NEOX_CHECKPOINT_PATH(检查点存取目录)。

    export NEOX_DATA_PATH=/mnt/sda/data/enwiki8
    export NEOX_CHECKPOINT_PATH=/mnt/sda/checkpoints
  7. 7构建镜像并进容器

    在 gpt-neox/containers/docker 目录下构建镜像并开启 shell;长期任务可用 docker compose up -d 后台运行。

    cd gpt-neox/containers/docker
    docker compose run gpt-neox bash
  8. 8启动训练任务

    用 deepy.py 启动,第一个参数是脚本,其后依次传入任意多个 YAML 配置文件。

    ./deepy.py train.py ./configs/20B.yml ./configs/local_cluster.yml

关键配置

配置项必填说明示例
NEOX_DATA_PATH是Docker 方式下指定数据目录,映射到容器内使用/mnt/sda/data/enwiki8
NEOX_CHECKPOINT_PATH是Docker 方式下指定检查点存储与加载目录/mnt/sda/checkpoints
pipe-parallel-size否流水并行度,需按实际 GPU 数量调整2
model-parallel-size否张量模型并行度,需按实际 GPU 配置调整4
train_micro_batch_size_per_gpu否单 GPU 微批次大小,影响显存占用与吞吐4
zero_optimization否配置优化器状态如何在 worker 间并行切分{}

如何确认成功

Docker 方式下容器内执行 ls -al 能看到 data、chk、gpt-neox 目录;本地方式训练脚本正常输出日志即启动成功。

常见问题

Q:必须用 Anaconda 吗?

A:不是硬性要求,但 README 强烈建议隔离环境:项目依赖 DeeperSpeed(DeepSpeed 的分支),直接装在共用环境里可能导致其他依赖 DeepSpeed 的仓库失效。

Q:Docker 里看不到 GPU 怎么办?

A:先确认已安装 nvidia-container-toolkit,并执行 docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi 验证,能正常输出显卡信息后再跑 compose。

Q:不想本地构建镜像怎么办?

A:可改用 DockerHub 预构建镜像,把 compose 命令换成带 -f containers/docker/docker-compose-dockerhub.yml 的形式即可。

Q:多节点训练怎么指定主机列表?

A:设置环境变量 DLTS_HOSTFILE 指向你的 hostfile,供基于 MPI 的 DeepSpeed 启动器使用。

Q:怎么开启训练日志监控?

A:按需安装 requirements-wandb.txt、requirements-tensorboard.txt 或 requirements-comet.txt 中的一种,并在 YAML 配置中启用对应日志后端。

注意事项

  • README 给出的是可直接使用的示例配置,但通常不是最优的,需要按自己的 GPU 配置调整并行度与 batch 相关参数
  • 以 detached 模式长时间运行时,需手动终止容器;若希望进程在 shell 结束后继续运行需自行后台化,并把日志重定向到磁盘
  • Python 3.8-3.10 / PyTorch 1.8-2.0 不是严格限制,其他版本组合也可能工作
  • 支持通过 Slurm、MPI 和 IBM Job Step Manager 启动,并已在 NVIDIA 与 AMD GPU 的多种集群上运行

核心亮点

  • 基于Megatron+DeepSpeed,支持张量/流水/数据三维并行,可扩展到数千GPU
  • 提供完整预训练脚本与配置,Pythia系列模型即由此训练,工程验证充分
  • 与Hugging Face权重格式兼容,训练后可直接用于微调和推理生态

不足之处

  • 配置项繁多,分布式调参门槛高,新手不易跑通
  • 主要面向NVIDIA GPU集群,单机或非CUDA环境支持有限

适用场景

  • 学术团队预训练百亿参数级开源语言模型
  • 企业基于自有语料从零训练行业大模型
  • 研究并行训练策略与扩展律的实验平台

替代项目

Megatron-LM、DeepSpeed、Colossal-AI

上一篇:sdnq

下一篇:Semi-supervised-learning

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 464 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 63828 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1317 2026-08-13