zhousha 5718091425
All checks were successful
Docker Build and Push / docker (push) Successful in 48m46s
Add BI-150 vLLM image and ModelHub release workflow
2026-09-29 16:01:24 +08:00

Step-3.5-Flash 天垓150部署

基于用户已验证的天数镜像: registry.iluvatar.com.cn:10443/customer/sz/vllm0.17.0-4.4.0-x86:v7。 使用 16 张卡,TP=8、PP=2。镜像不包含模型权重。

ModelHub 发布

CI 配置沿用 https://dev.modelhub.org.cn/4pdadmin/cicd_demo。 推送 v* 标签后自动构建、推送镜像并提交审核。 GPU 分类采用 demo 的 Iluvatar_bi-150,由平台接口校验。 Runner 使用 amd64-ubuntu-24.04,需能访问并拉取上述天数基础镜像。 推送凭据和审核令牌由 runner 提供,不写入仓库。

模型配置准备

模型目录:/mnt/disk0/stepfun-ai/Step-3.5-Flash。 在用户原部署中,num_hidden_layers=45,但以下数组各有48项, 引发层数校验失败:layer_types、rope_theta、 partial_rotary_factors、swiglu_limits、swiglu_limits_shared。

原部署的处理方式是先备份 config.json,再将这些数组保留前45项。 该操作修改宿主机挂载的模型配置,并未修改容器镜像。 本镜像不会自动修改外部模型文件;部署时使用已验证的45项配置。 如果换用其他版本权重,应先核对配置和权重结构,不应盲目截断。

创建容器

将 STEP_IMAGE 设置为 CI 日志中实际推送成功的镜像地址,然后执行:

docker run -dit -v /usr/src:/usr/src -v /lib/modules:/lib/modules -v /dev:/dev \
  -v /home:/home -v /mnt/disk0:/mnt/disk0 \
  --network=host --name=step3p5-flash --ipc=host --privileged --cap-add=ALL --pid=host \
  "${STEP_IMAGE:?请先设置CI产出的镜像地址}" /bin/bash

启动服务

docker exec -it step3p5-flash bash -c '
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
vllm serve /mnt/disk0/stepfun-ai/Step-3.5-Flash \
  --served-model-name step3p5-flash \
  --host 0.0.0.0 --port 1237 \
  --tensor-parallel-size 8 \
  --pipeline-parallel-size 2 \
  --disable-cascade-attn \
  --trust-remote-code \
  --gpu-memory-utilization 0.92 \
  --max-model-len 8192'

原部署中 corex MoE 算子要求切分后的中间维度为32的倍数。 1280/16=80不满足要求,1280/8=160满足要求,因此采用TP=8、PP=2。 各流水线阶段的显存占用取决于实际层分配,不保证各卡相等。

验证

curl -sS http://127.0.0.1:1237/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"step3p5-flash","messages":[{"role":"user","content":"请介绍一下人工智能"}],"temperature":0.7,"top_p":0.9,"max_tokens":1024}'
Description
No description provided
Readme 27 KiB
Languages
Dockerfile 100%