移动九天平台大模型部署实测:CM-57B 推理服务搭建全记录
移动九天平台大模型部署实测:CM-57B 推理服务搭建全记录
本文记录在「移动九天」平台部署 CM-57B 九天基础语言大模型 的真实过程:推理服务搭建、接口调用、有监督微调(SFT)以及自定义模型部署。硬件底座是昇腾 NPU + MindIE(Model Inference Engine),和常见的 NVIDIA + vLLM 路线不同,坑点也集中在镜像与配置上。
一、推理服务部署(CM-57B)
1.1 关键配置项
在「模型推理 → 推理服务」新建时,这几项必须对应正确:
| 配置项 | 说明 |
|---|---|
| 镜像类型 | 平台预制镜像 |
| Base 镜像 | atb_mindie_v1.0.2-1:1.0.T59-npu-py310-ubuntu22.04-aarch64 |
| Chat 镜像 | atb_mindie_v1.1.1:1.0.RC3-npu-py310-ubuntu22.04-aarch64 |
| 模型配置 | Chat=CM-57B九天基础语言大模型-Chat;Base=CM-57B九天基础语言大模型-Base |
| 容器映射目录 | /model |
| 启动命令 | /bin/bash -c 'bash /workspace/mindie_start.sh -m /model' |
| 工作空间 | /workspace |
实测中我们没有做任何微调,直接用预制镜像起 Chat / Base 两个版本。
1.2 服务访问方式
服务起来后对外暴露两个接口:
- 非流式:
generate - 流式:
generate_stream
非流式调用参数示例:
{
"inputs": "Human:\n将下面的markdown文本结构化……\nAssistant:\n",
"parameters": {
"do_sample": false,
"max_new_tokens": 2048
}
}
流式接口参数结构相同,只是响应逐 token 返回,适合做打字机效果的前端。
二、模型微调(SFT)
背景:基于 九天 13.9B-chat 模型,用平台「模型调优 → 有监督微调」菜单完成。
2.1 数据集准备
原始数据集从 ModelScope 下载(Panda233/china_legal_articles_samples),需转成平台要求的格式:
def convert_model_scope_to_jiutian():
import json
with open('./resources/law_item.jsonl', 'r', encoding='utf-8') as infile, \
open('./output/converted_law_items.jsonl', 'w', encoding='utf-8') as outfile:
for line in infile:
item = json.loads(line)
title = item.get('title', item.get('text', '未知标题'))
converted = [{
"system": "你是一个人工智能助手。",
"prompt": f"{title},属于什么类别, {item['num']}是什么",
"response": f"{title},{item['classification']},法律内容为:{item['contents']}"
}]
outfile.write(json.dumps(converted, ensure_ascii=False) + '\n')
print("转换完成")
2.2 提交微调任务
- 资产管理 → 数据集管理上传转换后的
converted_law_items.jsonl; - 模型调优 → 有监督微调新建任务,选择该数据集,其余用默认参数;
- 等待训练结束即可「发布」。
2.3 发布后的坑
- 发布时「迭代步数」下拉框响应慢,多试几次;
- 发布成功后模型出现在「资产管理 → 模型管理」;
- ⚠️ 不要在模型管理里直接点「部署」——虽然能部署成功,但调用会持续报错。正确姿势是去 模型推理 → 推理服务 → 新增推理服务,过程中选择「自己微调的模型」,镜像用
cm_mindie_v1.2.2:1.0.T59-npu-py310-ubuntu22.04-aarch64,映射目录/models,启动命令bash /workspace/mindie_start.sh。
三、自定义模型部署(chatglm3-6b-128k)
依托九天算力,把 chatglm3-6b-128k 部署成对外提供 generate / generate_stream / /v1/chat/completions 三个接口的服务。
流程要点:
- 先申请模型(平台模型详情页),审批通过后用「模型训练 → 开发环境」下载;
- 新建开发环境,注意镜像分英伟达系和昇腾系,按模型需要选;
- 配置文件
mindie_config.json两种落地方式:- 上传到
/root/work/filestorage/模型下载路径,启动时bash /workspace/mindie_start.sh -m /model -c /model/mindie_config.json; - 或上传到任意位置,用
atb_mindie_v1.1.1镜像的的开发环境mv到/workspace/mindie_config.json并保存为新镜像,启动命令带-c /workspace/mindie_config.json;
- 上传到
- 新建推理服务:模型挂载路径固定
/model(读写),推理框架优先用预制atb_mindie_v1.1.1。
四、常见问题与处理
Q1:开发环境 notebook 的 Python kernel 不生效
conda install ipykernel
python -m ipykernel install --user --name mindspore2.2.11_py39 --display-name "mindspore"
然后在 notebook 右上角选对应环境即可。
Q2:调用提示「入参超出」
调大 mindie_config.json 中的长度参数:
{ "maxSeqLen": 65536, "maxInputTokenLen": 65500, "maxPrefillTokens": 65536, "maxIterTimes": 32768 }
仍超出则把 maxSeqLen 提到 128000。
Q3:chatglm3-6b-128k 出现续写/截断
演示场景下,可在 Python 服务侧做后处理,对应用侧返回无感知的结果。
五、小结
九天平台的模型部署核心是「选对预制镜像 + 配好映射目录和启动命令 + 用正确的入口部署微调模型」。和 NVIDIA 路线最大的区别是底座走昇腾 NPU + MindIE,配置文件的 token 长度、kernel 环境、部署入口这几处最容易踩坑。照着本文的配置项逐项核对,能省下大量试错时间。
参考资料
- 九天平台官方文档(MindIE 服务开发)
- 昇腾社区 MindIE 配置说明
- 个人部署实测记录

浙公网安备 33010602011771号