higgsfield
面向多节点分布式训练的 GPU 编排与 ML 框架,把资源分配、ZeRO-3/FSDP 分片、任务队列和实验监控封装成简洁 Python API,几行代码就能跑 70B 级 LLaMA 训练。差异点在于用 GitHub Actions 驱动实验部署与 checkpoint 保存,顺带解决环境与配置的版本地狱,并支持多节点容错,已在 Azure、LambdaLabs、FluidStack 上验证。
README
higgsfield - 无需哭泣的多节点训练
Higgsfield 是一个开源、容错、高度可扩展的 GPU 编排系统与机器学习框架,专为训练参数量从数十亿到数万亿的模型而设计,例如大型语言模型(LLM)。

Higgsfield 作为 GPU 工作负载管理器与机器学习框架,具备五项主要功能:
- 为用户的训练任务分配对计算资源(节点)的独占与非独占访问权限。
- 支持 ZeRO-3 deepspeed API 以及 PyTorch 的 fully sharded data parallel API,从而实现对万亿参数模型的高效分片。
- 提供一套框架,用于在已分配的节点上启动、执行并监控大型神经网络的训练。
- 通过维护实验运行的队列来管理资源争用。
- 通过与 GitHub 和 GitHub Actions 的无缝集成,促进机器学习开发的持续集成。 Higgsfield 简化了海量模型的训练流程,为开发者提供了一套通用且强大的工具。
安装
$ pip install higgsfield==0.0.3
训练示例
要在分布式环境中训练 LLaMa,你需要做的全部事情就是下面这些:
from higgsfield.llama import Llama70b
from higgsfield.loaders import LlamaLoader
from higgsfield.experiment import experiment
import torch.optim as optim
from alpaca import get_alpaca_data
@experiment("alpaca")
def train(params):
model = Llama70b(zero_stage=3, fast_attn=False, precision="bf16")
optimizer = optim.AdamW(model.parameters(), lr=1e-5, weight_decay=0.0)
dataset = get_alpaca_data(split="train")
train_loader = LlamaLoader(dataset, max_words=2048)
for batch in train_loader:
optimizer.zero_grad()
loss = model(batch)
loss.backward()
optimizer.step()
model.push_to_hub('alpaca-70b')
这一切是如何完成的?
- 我们在你的服务器上安装所有必需工具(Docker、你项目的 deploy keys、higgsfield 二进制文件)。
- 然后为你的实验生成部署与运行 workflow。
- 一旦它进入 Github,就会自动把你的代码部署到你的节点上。
- 之后你通过 Github 访问实验的运行 UI,用它来启动实验并保存 checkpoint。
设计
我们遵循标准的 pytorch 工作流。因此,除了我们提供的内容之外,你还可以自由引入任何东西——deepspeed、accelerate,或者从零实现你自己的 pytorch 分片方案。
环境地狱
不再需要面对不同版本的 pytorch、nvidia 驱动和数据处理库。 你可以轻松地编排实验及其运行环境,记录并追踪所有依赖的具体版本与配置,以确保可复现性。
配置地狱
无需为你的实验定义 600 个参数。不再需要 yaml 巫术。 你可以在任何需要的时候使用任何你想要的东西。我们只是引入了一个简单的接口来定义你的实验。我们甚至做得更进一步——现在你只需要设计交互方式。
兼容性
我们需要你的节点满足以下条件:
- Ubuntu
- 可 SSH 访问
- 具有 sudo 权限的非 root 用户(免密码)
我们测试过的云平台:
- Azure
- LambdaLabs
- FluidStack
如果你在其他云平台上遇到问题,欢迎提交 issue。
快速开始
环境搭建
在这里你可以找到关于如何设置节点并开始训练的快速入门指南。
教程
用于大型语言模型训练中常见任务的 API。
| 平台 | 用途 | 预计响应时间 | 支持团队 |
|---|---|---|---|
| Github Issues | Bug 反馈、功能请求、安装问题、使用问题等 | < 1 天 | Higgsfield Team |
| 了解新功能的最新动态。 | 每日 | Higgsfield Team | |
| Website | 讨论、新闻。 | < 2 天 | Higgsfield Team |