国产GPU跑大模型:从驱动到推理的部署实操

想在国产GPU上跑通大模型,核心是把驱动、计算库和推理框架三层环境对齐,再选一个与硬件匹配的模型加载方式。
下面以昇腾NPU为例,按实际部署顺序拆解步骤,零基础也能照着走。

先确认硬件与系统环境

部署前先登录服务器,用命令确认NPU型号和操作系统版本,避免后面装错驱动包。

npu-smi info
cat /etc/os-release
uname -m

npu-smi info 会列出NPU型号和健康状态。
如果提示命令不存在,说明驱动未安装或环境变量未生效。
记录下型号(如910B)和系统架构(aarch64或x86_64),后续下载驱动和CANN包时必须严格对应。

同时确认Python版本在3.8到3.10之间,并预留至少50GB磁盘空间给模型权重和依赖。

安装驱动与CANN工具包

驱动是内核态基础,CANN是昇腾的计算架构层,两者版本必须配套。
从昇腾社区下载对应版本的Ascend-hdk-<型号>-npu-driver_<版本>_linux-<架构>.run和Ascend-cann-toolkit_<版本>_linux-<架构>.run,上传到服务器后按顺序执行。

chmod +x Ascend-hdk-*-npu-driver_*.run
./Ascend-hdk-*-npu-driver_*.run --full

安装完成后重启服务器,再次执行npu-smi info应能看到NPU列表且状态正常。
接着安装CANN:

chmod +x Ascend-cann-toolkit_*.run
./Ascend-cann-toolkit_*.run --install
source /usr/local/Ascend/ascend-toolkit/set_env.sh

把source命令写入~/.bashrc,避免每次新开终端都要手动加载。
验证CANN是否生效:

python3 -c "import acl; print(acl.get_device_count())"

输出大于0表示Python侧已能识别NPU。

部署推理框架并加载模型

推荐使用vLLM的昇腾适配版本,它兼容OpenAI接口,方便后续对接应用。
先创建虚拟环境,再安装对应版本的torch和vllm-ascend:

python3 -m venv /opt/llm-env
source /opt/llm-env/bin/activate
pip install torch==2.1.0 --index-url https://download.pytorch.org/whl/cpu
pip install vllm-ascend

注意torch需安装CPU版本,NPU计算由vllm-ascend后端接管。
模型权重可从ModelScope下载,以Qwen2.5-7B-Instruct为例:

pip install modelscope
modelscope download --model Qwen/Qwen2.5-7B-Instruct --local_dir /data/models/qwen2.5-7b

启动服务时指定NPU设备和模型路径:

ASCEND_RT_VISIBLE_DEVICES=0 vllm serve /data/models/qwen2.5-7b \
  --dtype float16 --max-model-len 4096 --port 8000

首次加载会编译算子,耗时较长属正常现象。
看到Uvicorn running on http://0.0.0.0:8000即表示服务已就绪。

常见报错与避坑提醒

  • npu-smi 找不到设备:检查驱动是否安装完整,执行ls /dev/davinci*确认设备节点存在;若缺失,重装驱动并重启。
  • CANN版本与驱动不匹配:安装CANN时若提示版本校验失败,回到昇腾社区核对驱动与CANN的配套关系表,不要强行跳过。
  • 显存不足(OOM):7B模型float16约需14GB显存,若NPU显存较小,改用--dtype bfloat16或量化版本,并降低--max-model-len。
  • pip安装vllm-ascend失败:确认Python版本和系统架构与wheel包一致,aarch64环境需使用对应架构的源。

验证推理服务是否可用

服务启动后,用curl发送一个简单请求,检查返回是否包含正常文本:

curl http://127.0.0.1:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"/data/models/qwen2.5-7b","messages":[{"role":"user","content":"你好"}],"max_tokens":32}'

若返回JSON中choices[0].message.content有中文回复,说明部署成功。
同时观察npu-smi info中的显存占用和利用率,确认请求确实跑在NPU上而非CPU回退。

适用条件说明:本文步骤基于昇腾NPU与vLLM-Ascend组合,其他国产GPU(如寒武纪、海光)的驱动和框架名称不同,需替换为对应厂商的工具链。
模型加载参数和显存需求随模型规模变化,请以实际硬件规格调整。

两个常见疑问

Q:必须用vLLM吗? 不是。
也可用MindIE或TGI的昇腾适配版,选择取决于是否需要OpenAI兼容接口和社区生态。
vLLM-Ascend的优点是配置简单、接口通用。

Q:模型权重可以放系统盘吗? 不建议。
权重文件通常十几GB以上,放在独立数据盘(如/data)便于扩容和迁移,也避免系统盘写满导致服务异常。

分享到:
上一篇
摩尔线程GPU上部署大模型:从环境检查到对话验证
下一篇
大模型信创环境部署教程:从系统检查到模型跑通
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意