Document the published CI image and its docker run commands
This commit is contained in:
95
README.md
95
README.md
@@ -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_DOCKER_ARGS="-v /mnt/disk1:/data:ro" ./run.sh /path/to/model
|
||||||
EXTRA_ARGS="--max-model-len 8192" ./run.sh /path/to/model
|
EXTRA_ARGS="--max-model-len 8192" ./run.sh /path/to/model
|
||||||
|
|
||||||
# 已有镜像,不重新构建
|
# 已有镜像,不重新构建(把 <ci-image> 换成第 5.1 节的实际地址)
|
||||||
BUILD=0 IMAGE=registry.example.com/llama4-bi150:v1.0.0 ./run.sh /path/to/model
|
BUILD=0 IMAGE=<ci-image> ./run.sh /path/to/model
|
||||||
|
|
||||||
# 只打印 docker run 命令
|
# 只打印 docker run 命令
|
||||||
DRY_RUN=1 ./run.sh /path/to/model
|
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
|
```bash
|
||||||
git tag v1.0.0
|
git tag v0.1.3
|
||||||
git push origin v1.0.0
|
git push origin v0.1.3
|
||||||
```
|
```
|
||||||
|
|
||||||
|
已发布:`v0.1.0`(取消)、`v0.1.1`(取消)、`v0.1.2`(run #3 成功)。
|
||||||
|
|
||||||
CI 会:
|
CI 会:
|
||||||
|
|
||||||
1. 在 `amd64-ubuntu-24.04` runner 上 clone 仓库;
|
1. 在 `amd64-ubuntu-24.04` runner 上 clone 仓库;
|
||||||
2. 校验 `task_info.env`;
|
2. 校验 `task_info.env`;
|
||||||
3. `docker build`;
|
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. 调 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`:
|
`task_info.env`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -281,7 +355,7 @@ FIXED_TOKEN
|
|||||||
|
|
||||||
注意事项:
|
注意事项:
|
||||||
|
|
||||||
- 当前仓库默认没有打 tag,所以推送代码不会自动构建;需要手动推送 `v*` 标签才会触发。
|
- 推送代码不会自动构建;需要手动推送 `v*` 标签才会触发。
|
||||||
- Runner 必须能拉取 `registry.iluvatar.com.cn:10443` 的基础镜像;如果该仓库需要登录,请在 runner 上预登录,或自行给 workflow 增加基础镜像 registry 的 login step。
|
- Runner 必须能拉取 `registry.iluvatar.com.cn:10443` 的基础镜像;如果该仓库需要登录,请在 runner 上预登录,或自行给 workflow 增加基础镜像 registry 的 login step。
|
||||||
- CI 只负责构建和推送,不负责 GPU / 模型挂载;GPU 和挂载通过 `run.sh` 或 `docker compose` 设置。
|
- CI 只负责构建和推送,不负责 GPU / 模型挂载;GPU 和挂载通过 `run.sh` 或 `docker compose` 设置。
|
||||||
- CI 构建机不需要 GPU,但需要足够的磁盘空间。
|
- CI 构建机不需要 GPU,但需要足够的磁盘空间。
|
||||||
@@ -297,3 +371,12 @@ FIXED_TOKEN
|
|||||||
- `--privileged --pid host -v /dev:/dev` 是 Iluvatar 运行时要求;只给 `/dev/iluvatar*` 可能报 `cudaGetDeviceCount() ... Error 1001`。
|
- `--privileged --pid host -v /dev:/dev` 是 Iluvatar 运行时要求;只给 `/dev/iluvatar*` 可能报 `cudaGetDeviceCount() ... Error 1001`。
|
||||||
- 模型目录只读挂载,容器不会修改宿主机模型文件。
|
- 模型目录只读挂载,容器不会修改宿主机模型文件。
|
||||||
- 统一镜像首次使用时,建议 Scout 和 Maverick 都各跑一次 `verify.sh`;尤其是 Scout,因为镜像里也包含 FP8 MoE 补丁,需要确认共享的 `fused_moe.py` 修改没有影响 BF16 路径。
|
- 统一镜像首次使用时,建议 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 中的示例镜像地址和标签 |
|
||||||
|
|||||||
Reference in New Issue
Block a user