无论如何都需要
团队部署还需要
按执行器分
- local
- agent
- kuberay
- slurm
一台机器。Docker 或 Podman,真正的 GPU 直通还需要 NVIDIA 容器运行时。别的都不需要。
即使是团队,这也是正确的起点——之后换执行器是改一项设置,不是一次迁移。
网络
第二行是最容易被忽略的。用户能访问到的控制台,不等于 worker 节点也能访问到。
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
安装之前需要准备什么——从一台 GPU 机器到一个受集中治理的集群。
| 东西 | 说明 |
|---|---|
| Python 3.12–3.13 | 控制平面和 CLI 都要 |
| 一个容器运行时 | Docker 或 Podman。裸进程模式是给开发用的,没有任何隔离 |
| 存储 | 一个控制台和每个节点看到完全一致的路径——见存储布局 |
| 至少一张 GPU | 除了平台自己那套跑在仿真模式下的测试之外 |
| 东西 | 为什么 |
|---|---|
| Postgres | SQLite 是单写。两个控制台副本争抢同一个文件不叫部署 |
| Redis | 共享缓存、分布式锁、限流、token 即时吊销。没有它,后台任务会停掉,而不是跨副本不安全地跑 |
| S3 兼容对象存储 | 作业包、产物、数据集、归档。没有它这些全部回落到共享盘路径 |
固定的 FORGE_WEB_JWT_SECRET | 否则每次重启都换一把密钥,全员掉线 |
| 一个 https 域名 | FORGE_PUBLIC_URL。没有它单点登录无法工作 |
forgelet。要求存储根以同一路径挂载到控制台和每个节点,
并且两侧都持有同一个 Bearer token。缺 token 会拒绝启动,而不是无鉴权运行。slurmrestd,带 JWT。控制平面绝不回退到 sbatch 或 SSH。
容器镜像必须通过 FORGE_RUNTIME_REGISTRY_FILE 以 SIF 或 SQSH 提供,
容器运行时 profile 必须显式选择。| 方向 | 用于 |
|---|---|
| 用户 → 控制台 | Web 控制台和 API |
| 集群 → 控制台 | Ingest。训练要回传日志和指标,所以 FORGE_INGEST_URL 必须从集群内部可达——绝不能是 127.0.0.1 |
| 控制台 → 执行器 | Kubernetes API、slurmrestd,或 agent 节点 |
| 集群 → 镜像仓库 | 拉训练镜像 |
| 集群 → 模型 hub | 拉权重,或走内网镜像——见离线内网 |
| 缺什么 | 后果 |
|---|---|
| 对象存储 | 没有 sf dataset push,没有训练后自动评测 |
| 一个 LLM 端点 | 没有 AI 诊断、没有 Ask Agent、没有 LLM 裁判、没有每日日报 |
| 沙箱镜像 | 需要运行模型生成代码的环境会被拒绝,而不是退化成在训练容器里跑 |
| Argilla | 没有偏好标注闭环 |
| Hugging Face OAuth | 读不了受限模型,推不了导出结果 |