大模型寒武纪部署教程:从驱动安装到服务验证
寒武纪加速卡部署大模型,核心是装好驱动和工具链,再用官方推理框架加载模型。
本文以常见的寒武纪 MLU 加速卡为例,从零开始走一遍完整流程,适合刚接触国产算力平台的运维人员。
先确认硬件和系统环境
动手前先确认两件事:加速卡型号和操作系统版本。
不同型号的驱动包和工具链版本可能不同,装错版本会导致设备无法识别。
登录服务器后执行以下命令检查:
lspci | grep -i cambricon
uname -m
cat /etc/os-release
第一条命令应能看到寒武纪设备条目,说明卡已插好并被系统识别。
记录下型号(如 MLU370),后续下载驱动时需对应。
系统建议使用官方支持的 Linux 发行版,内核版本不要随意升级,避免驱动兼容问题。
另外确认服务器已安装 gcc、make、dkms 等编译工具,驱动安装时会用到:
sudo apt update && sudo apt install -y gcc make dkms
如果使用 CentOS 系,把 apt 换成 yum 即可。
安装驱动和 CNToolkit 工具链
从寒武纪开发者官网下载对应型号的驱动包和 CNToolkit 工具链。
注意驱动版本与工具链版本要匹配,官网下载页一般会标注兼容关系。
以 .run 格式驱动包为例,赋予执行权限后运行:
chmod +x cambricon_driver_*.run
sudo ./cambricon_driver_*.run
安装过程中会提示是否加载内核模块,选择是。
安装完成后执行:
cnmon
如果能看到加速卡的温度、功耗和显存信息,说明驱动已正常工作。
若提示命令不存在,检查 /usr/local/bin 是否在 PATH 中,或重新登录终端。
接着安装 CNToolkit,同样运行 .run 安装包,按提示选择安装路径。
安装完成后验证:
cncc --version
能输出版本号即表示编译器可用。
准备模型和推理框架
大模型推理通常使用寒武纪提供的 PyTorch 适配版本或官方推理引擎。
先创建独立的 Python 环境,避免与系统包冲突:
conda create -n cambricon python=3.8 -y
conda activate cambricon
然后安装适配寒武纪的 PyTorch 包。
具体安装包名称和下载地址以官方发布为准,一般提供 whl 文件,直接 pip install 即可。
安装后验证:
import torch
print(torch.cuda.is_available())
注意寒武纪设备在 PyTorch 中通常映射为 cuda 接口,输出 True 表示框架已识别到加速卡。
模型文件建议提前下载到本地目录,例如 /data/models/llama-7b,并确认目录下有 config.json、模型权重和 tokenizer 文件。
启动推理服务并验证结果
以官方提供的推理示例脚本为例,启动命令通常需要指定设备编号和模型路径:
python inference_server.py --model /data/models/llama-7b --device mlu:0 --port 8000
服务启动后,另开终端用 curl 测试:
curl http://127.0.0.1:8000/generate -d '{"prompt":"你好","max_length":32}'
如果返回生成的文本,说明部署成功。
同时观察 cnmon 中显存占用是否上升,确认推理确实跑在加速卡上,而不是回退到 CPU。
常见报错和避坑提醒
- 驱动安装后
cnmon无输出:检查内核模块是否加载,执行lsmod | grep cambricon,若没有则手动modprobe对应模块,并查看dmesg日志。 - PyTorch 识别不到设备:确认安装的是寒武纪适配版 PyTorch,而非官方 CUDA 版;同时检查用户是否在
video或render组中。 - 模型加载时显存不足:7B 模型通常需要 16GB 以上显存,若卡显存较小,可尝试量化版本或减小 batch size。
- 端口被占用:启动前用
ss -tlnp | grep 8000检查端口,换一个未被占用的端口即可。
部署完成后,建议把驱动版本、工具链版本和模型路径记录到运维文档中,方便后续复现和升级。
如果遇到官方文档未覆盖的报错,优先查看 /var/log/cambricon/ 下的日志文件。
整个流程的关键在于版本匹配:驱动、工具链、PyTorch 适配包三者版本必须兼容。
先小规模跑通推理,再逐步调整并发和批处理参数,不要一上来就压满负载。