Document the published CI image and its docker run commands

This commit is contained in:
2026-10-28 13:34:58 +08:00
parent d0e260c322
commit 31994d940f

View File

@@ -122,8 +122,8 @@ GPUS=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 \
EXTRA_DOCKER_ARGS="-v /mnt/disk1:/data:ro" ./run.sh /path/to/model
EXTRA_ARGS="--max-model-len 8192" ./run.sh /path/to/model
# 已有镜像,不重新构建
BUILD=0 IMAGE=registry.example.com/llama4-bi150:v1.0.0 ./run.sh /path/to/model
# 已有镜像,不重新构建(把 <ci-image> 换成第 5.1 节的实际地址)
BUILD=0 IMAGE=<ci-image> ./run.sh /path/to/model
# 只打印 docker run 命令
DRY_RUN=1 ./run.sh /path/to/model
@@ -248,18 +248,92 @@ python3 detect_model.py /mnt/disk0/models/LLM-Research/Llama-4-Maverick-17B-128E
触发方式:
```bash
git tag v1.0.0
git push origin v1.0.0
git tag v0.1.3
git push origin v0.1.3
```
已发布:`v0.1.0`(取消)、`v0.1.1`(取消)、`v0.1.2`(run #3 成功)。
CI 会:
1. 在 `amd64-ubuntu-24.04` runner 上 clone 仓库;
2. 校验 `task_info.env`;
3. `docker build`;
4. 推送 `${DOCKER_REGISTRY}/${DOCKER_USERNAME}/llama-4-bi150:v1.0.0`;
4. 推送 `${DOCKER_REGISTRY}/${DOCKER_USERNAME}/llama-4-bi150:<tag>`;
5. 调 ModelHub `image-verify` 接口提交审核。
### 5.1 已发布的 CI 镜像
| 标签 | Digest | 压缩大小 | 推送时间 |
|---|---|---:|---|
| `v0.1.2` | `sha256:42dc1d3fe60ca9d311b4ceb3dc9d0d4eef3ff5cdad560e63635fe75c6121602f` | 10.39 GiB | 2026-10-26 12:04 UTC |
```text
harbor.4pd.io/modelhubxc/xiejiahao/llama-4-bi150:v0.1.2
```
拉取(需要 Harbor 凭据 `DOCKER_USERNAME` / `DOCKER_PASSWORD`):
```bash
docker login harbor.4pd.io -u modelhubxc
docker pull harbor.4pd.io/modelhubxc/xiejiahao/llama-4-bi150:v0.1.2
```
### 5.2 用 CI 镜像启动服务
镜像不声明 `ENTRYPOINT`,`--entrypoint` 必须显式给。以下命令可直接粘贴。
**Llama-4-Scout-17B-16E(TP8/PP1,8 卡,8091)**
```bash
docker run -d --name llama4-scout \
--entrypoint /usr/local/bin/llama4-entrypoint.sh \
--workdir /opt/llama4 \
--privileged --pid host --network host --ipc host \
-v /dev:/dev \
-v /mnt/disk0/models/LLM-Research/Llama-4-Scout-17B-16E-Instruct:/models/llama4:ro \
--ulimit memlock=-1 --ulimit stack=67108864 \
-e CUDA_VISIBLE_DEVICES=8,9,10,11,12,13,14,15 \
-e MODEL_PATH=/models/llama4 \
-e AUTO_DETECT=1 \
-e PYTHONUNBUFFERED=1 \
--restart unless-stopped \
harbor.4pd.io/modelhubxc/xiejiahao/llama-4-bi150:v0.1.2
```
**Llama-4-Maverick-17B-128E-Instruct-FP8(TP8/PP2,16 卡,8092)**
```bash
docker run -d --name llama4-maverick \
--entrypoint /usr/local/bin/llama4-entrypoint.sh \
--workdir /opt/llama4 \
--privileged --pid host --network host --ipc host \
-v /dev:/dev \
-v /mnt/disk0/models/LLM-Research/Llama-4-Maverick-17B-128E-Instruct-FP8:/models/llama4:ro \
--ulimit memlock=-1 --ulimit stack=67108864 \
-e CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 \
-e MODEL_PATH=/models/llama4 \
-e AUTO_DETECT=1 \
-e PYTHONUNBUFFERED=1 \
--restart unless-stopped \
harbor.4pd.io/modelhubxc/xiejiahao/llama-4-bi150:v0.1.2
```
两个变体共用挂载点 `/models/llama4`,靠 `config.json` 的 `num_local_experts` 区分;TP/PP、端口、served name 不用传,入口脚本会自动判定(见 2.1 节)。
Maverick 占用全部 16 张卡,与其它模型互斥;Scout 只占 8 张,可以和其它小模型共存,此时需改 `-e CUDA_VISIBLE_DEVICES` 避免重叠。
**注意**:`--network host` 下不要写 `-p`,端口映射会被丢弃;要换对外端口就传 `-e PORT=<port>`。
### 5.3 用 run.sh 启动 CI 镜像
```bash
BUILD=0 IMAGE=harbor.4pd.io/modelhubxc/xiejiahao/llama-4-bi150:v0.1.2 \
./run.sh /mnt/disk0/models/LLM-Research/Llama-4-Scout-17B-16E-Instruct
./verify.sh --model-dir /mnt/disk0/models/LLM-Research/Llama-4-Scout-17B-16E-Instruct
```
`task_info.env`:
```bash
@@ -281,7 +355,7 @@ FIXED_TOKEN
注意事项:
- 当前仓库默认没有打 tag,所以推送代码不会自动构建;需要手动推送 `v*` 标签才会触发。
- 推送代码不会自动构建;需要手动推送 `v*` 标签才会触发。
- Runner 必须能拉取 `registry.iluvatar.com.cn:10443` 的基础镜像;如果该仓库需要登录,请在 runner 上预登录,或自行给 workflow 增加基础镜像 registry 的 login step。
- CI 只负责构建和推送,不负责 GPU / 模型挂载;GPU 和挂载通过 `run.sh` 或 `docker compose` 设置。
- CI 构建机不需要 GPU,但需要足够的磁盘空间。
@@ -297,3 +371,12 @@ FIXED_TOKEN
- `--privileged --pid host -v /dev:/dev` 是 Iluvatar 运行时要求;只给 `/dev/iluvatar*` 可能报 `cudaGetDeviceCount() ... Error 1001`。
- 模型目录只读挂载,容器不会修改宿主机模型文件。
- 统一镜像首次使用时,建议 Scout 和 Maverick 都各跑一次 `verify.sh`;尤其是 Scout,因为镜像里也包含 FP8 MoE 补丁,需要确认共享的 `fused_moe.py` 修改没有影响 BF16 路径。
---
## 7. 变更记录
| 日期 | 变更 |
|---|---|
| 2026-10-26 | CI `v0.1.2` 发布成功(digest `42dc1d3f…`,10.39 GiB) |
| 2026-10-28 | 补录 CI 镜像 digest 与 Scout / Maverick 的完整 `docker run` 命令(§5.1–5.3);修正 README 中的示例镜像地址和标签 |