65 lines
2.5 KiB
Markdown
65 lines
2.5 KiB
Markdown
|
|
# 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 日志中实际推送成功的镜像地址,然后执行:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
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
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 启动服务
|
|||
|
|
|
|||
|
|
```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。
|
|||
|
|
各流水线阶段的显存占用取决于实际层分配,不保证各卡相等。
|
|||
|
|
|
|||
|
|
## 验证
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
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}'
|
|||
|
|
```
|