news 2026/6/22 7:24:15

【信创】华为昇腾大模型部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【信创】华为昇腾大模型部署

一、系统与硬件环境说明

模块说明
CPU鲲鹏 920 / 930 系列(ARM64架构)
GPU/NPU华为昇腾 910B2 × 2(支持BF16、INT8量化)
内存≥ 256GB
存储≥ 2TB SSD
操作系统openEuler / 麒麟 / 统信UOS(国产信创OS)
驱动CANN ≥ 8.0;Ascend Toolkit ≥ 8.0
框架环境MindSpore ≥ 2.3;torch-npu ≥ 2.1(兼容PyTorch 2.1)
部署工具XInference ≥ 0.12,Ascend ATC 工具

二、模型来源与基本结构

模型名称来源参数量框架当前格式量化类型用途
Qwen3-32B-Base从阿里巴巴官方 / Hugging Face 下载32BPyTorch.bin/.safetensorsFP16 / BF16原始预训练模型
Qwen3-32B-Finetuned在昇腾910B2上进行微调(使用MindSpore框架)32BMindSpore.ckptINT8 / BF16行业定制微调模型

三、模型格式转换流程

模型部署前需统一格式,昇腾平台推荐使用MindIR 或 OM格式。

1️⃣ 从 PyTorch 格式转换到 MindIR 格式

方法 1:通过MindConverter

MindConverter 是昇腾官方提供的跨框架模型转换工具。

mindconverter --in_framework pytorch\--model_file /models/qwen32b/pytorch_model.bin\--input_shape'[1,1024]'\--output_file /models/qwen32b/qwen32b.mindir
方法 2:通过ONNX 中转

如果MindConverter转换失败,可通过ONNX作为中间层:

# PyTorch -> ONNXimporttorch dummy_input=torch.ones(1,1024,dtype=torch.int64)torch.onnx.export(model,dummy_input,"qwen32b.onnx",opset_version=17)
# ONNX -> MindIRatc --model=qwen32b.onnx\--framework=5\--output=qwen32b_mindir\--soc_version=Ascend910B2

2️⃣ MindIR → OM(部署优化格式)

OM(Offline Model)是昇腾芯片的离线执行优化格式,部署时加载性能更优。

atc --model=qwen32b.mindir\--framework=1\--output=qwen32b_om\--input_format=ND\--input_shape="input_ids:1,1024"\--soc_version=Ascend910B2\--precision_mode=allow_mix_precision

⚙️ 注意:

  • soc_version必须与昇腾芯片型号一致。
  • MindIR 格式支持训练和部署;OM 格式仅支持推理。

四、模型部署方式

我们希望部署两个模型(Base 与 Finetuned),并可在XInference中动态切换。

1️⃣ 环境目录结构

/models/ │ ├── qwen32b_base/ │ ├── qwen32b_om.om │ └── config.json │ └── qwen32b_finetune/ ├── qwen32b_finetune_om.om └── config.json

2️⃣ 启动 XInference 服务

# 启动 Base 模型xinf start --model Qwen3-32B-Base\--model-path /models/qwen32b_base\--device ascend\--precision bf16\--port8081# 启动 Finetuned 模型xinf start --model Qwen3-32B-Finetuned\--model-path /models/qwen32b_finetune\--device ascend\--precision int8\--port8082

✅ 支持使用 Docker 容器化部署(xinf ascend-runtime官方镜像)

3️⃣ 模型注册配置(xinf.json

{"models":[{"name":"Qwen3-32B-Base","path":"/models/qwen32b_base/qwen32b_om.om","device":"ascend","port":8081,"precision":"bf16"},{"name":"Qwen3-32B-Finetuned","path":"/models/qwen32b_finetune/qwen32b_finetune_om.om","device":"ascend","port":8082,"precision":"int8"}]}

五、XInference 模型切换与调用

1️⃣ 模型动态切换(REST API)

curl-X POST http://localhost:8000/api/models/select\-H"Content-Type: application/json"\-d'{"model_name": "Qwen3-32B-Finetuned"}'

切换回原始模型:

curl-X POST http://localhost:8000/api/models/select\-d'{"model_name": "Qwen3-32B-Base"}'

2️⃣ 推理调用示例(Python)

importrequestsdefquery_model(port,prompt):url=f"http://localhost:{port}/v1/completions"payload={"prompt":prompt,"max_tokens":256,"temperature":0.8}headers={"Content-Type":"application/json"}response=requests.post(url,headers=headers,json=payload)returnresponse.json()["choices"][0]["text"]print("Base模型回答:")print(query_model(8081,"介绍一下鲲鹏920的CPU架构优势"))print("\nFinetuned模型回答:")print(query_model(8082,"解释一下信创生态下AI算法的优势"))

六、模型推理性能与优化

优化手段说明效果
INT8量化微调模型在导出时使用量化感知训练(QAT)显存降低约 50%,速度提升约 1.6×
双卡并行推理使用两张910B2卡分别部署两个模型实现模型并行调用
Pipeline切分模型前向传播分段执行适合显存不足情况
XInference异步队列支持多请求并发分发提升吞吐量 2~3倍

七、常见问题与解决建议

问题可能原因解决方案
CANN不支持该算子转换时ONNX算子不兼容atc命令中加--customize_op或使用MindSpore原生模型
内存不足模型显存开销大开启INT8量化或分层加载
XInference无法加载模型路径或格式不匹配确认.om文件路径与配置文件一致
请求延迟高同步阻塞使用异步调用API或多进程部署

八、总结

项目推荐方案说明
模型训练框架MindSpore(昇腾原生)微调阶段效率高
模型部署格式MindIR / OM原生支持昇腾推理
多模型调用XInference 动态注册切换快速在Base与Finetune模型间切换
性能优化INT8量化 + 双卡并发 + 异步推理满足信创硬件约束
兼容性支持PyTorch、MindSpore、ONNX统一部署适配灵活
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/18 6:43:55

学习华为:LTC流程与铁三角组织

一、课程简介华为的成功其实是市场的成功。华为早期的能力基础很薄弱,客户对华为的评价:华为有一流的市场能力,三流的产品。任总也自嘲说:华为的产品不是最好的。那又怎么样呢?我能让客户选我,而不选你&…

作者头像 李华
网站建设 2026/6/13 0:17:44

程序员必看:细粒度多模态大模型——从入门到精通的收藏级指南

本文系统综述了细粒度多模态大模型(FG-MLLMs)的研究进展。针对多模态大模型在精细感知场景中的局限性,文章建立了类别、空间和时间三维分类体系,分析了模型架构局限、数据稀缺和精度效率矛盾三大挑战。未来研究将聚焦于精度-泛化-效率权衡、知识增强、理…

作者头像 李华
网站建设 2026/6/15 22:34:06

LangGraph 1.0核心概念详解:从零开始构建智能体工作流

文章介绍了LangGraph 1.0作为构建智能体工作流的核心框架,详细讲解了状态(State)、节点(Node)和边(Edge)三大核心概念。通过代码示例展示了如何定义状态、创建节点函数、构建图结构,以及处理并行执行和条件分支。文章还介绍了Reducer机制用于解决并行执行…

作者头像 李华
网站建设 2026/6/16 20:22:11

实验室多台密炼机集中监控管理系统方案

某实验室聚焦于密炼工艺,部署有多台密炼机设备。这些设备来源于不同品牌,内部的控制器主要包括西门子、三菱、台达等,协议多样,缺少集成。随着规模越来越大,设备越来越多,设备故障乃至闲置等现象频繁出现却…

作者头像 李华
网站建设 2026/6/18 12:33:31

色彩经济崛起,高光功能色母粒成关键材料

随着消费升级与工业设计精细化趋势的加速,塑料制品的视觉表现力成为产品竞争力的重要维度。高光功能色母粒作为一种能够实现鲜艳、均匀且持久着色的专用添加剂,正从幕后走向台前,成为汽车、包装、消费电子等行业的“色彩引擎”。根据QYResear…

作者头像 李华