GPT-NeoX 项目介绍
GPT-NeoX 是一个用于在 GPU 上训练大规模语言模型的库,由 EleutherAI 开发。这个项目的目标是提供一个集中的、易于访问的平台,以收集和优化自回归语言模型的训练技术,加速大规模训练的研究。
项目背景和目的
GPT-NeoX 基于 NVIDIA 的 Megatron 语言模型框架,并结合了 DeepSpeed 的技术,以及一些独创的优化方法。这个库已被广泛应用于学术界、工业界和政府实验室,包括橡树岭国家实验室、CarperAI、Stability AI、Together.ai 以及一些大学和研究机构。
支持的硬件和软件
GPT-NeoX 的独特之处在于它支持多种系统和硬件,包括通过 Slurm、MPI 及 IBM Job Step Manager 启动的能力,可以在大规模计算环境下运行,如 AWS、CoreWeave、橡树岭国家实验室的 Summit 和 Frontier、LUMI 超级计算机等。
主要功能
- 分布式训练与并行化:使用 ZeRO 和 3D 并行技术进行分布式训练。
- 多样化的系统支持:支持多种系统和硬件配置。
- 尖端的结构创新:包括旋转和慨定的位置信息嵌入、并行前馈注意力层以及快速注意力机制。
- 预定义配置:为流行架构(如 Pythia、PaLM、Falcon 和 LLaMA)提供预定义配置。
- 课程学习:通过课程学习策略提高模型性能。
- 开源生态系统链接:轻松连接到 Hugging Face 的
tokenizers
和transformers
库,通过 WandB、Comet 和 TensorBoard 监控实验,并通过语言模型评估工具进行评估。
新闻和更新
项目不断进化,持续集成新的功能,例如:
- 支持偏好学习、奖励建模的最新方法。
- 支持 Comet ML 集成,这是一个机器学习监控平台。
- 支持 AMD MI250X GPU 和 RWKV 模型的平行管线。
- 增强闪速注意力的实现,支持 Alibi 位置嵌入。
版本更新与支持
GPT-NeoX 2.0 版本构建在最新的 DeepSpeed 上,并将持续维护,早期版本则使用了基于旧版本 DeepSpeed 的 DeeperSpeed。用户可以通过版本发布信息获取不同版本的快照。
快速开始指南
- 环境与依赖配置:确保使用支持的 Python 和 PyTorch 版本,安装依赖。
- 训练与微调:利用深度并行性和数据并行性,调节模型参数与数据路径,以适应不同的硬件配置。
- 推理与评估:建议通过 Hugging Face 的转换器库进行推理,支持多种生成模式和评估任务。
数据集和监控
GPT-NeoX 支持多种预配置数据集和自定义数据的使用,通过 WandB、TensorBoard 和 Comet 对实验进行全面监控。
GPT-NeoX 项目致力于提供高效的工具和支持,有助于推动大规模语言模型的研究与应用。通过不断的更新与改进,GPT-NeoX 努力为开发者提供最新的技术支持与便捷的使用体验。