ModelZoo模型评估示例
后摩大道®软件平台ModelZoo提供了帮助用户在Linux系统上快速移植模型到后摩设备上的模型合集,其中包括量化、编译、推理、精度和性能评估等一套完整的代码和工具。开发者可以参考ModelZoo源代码做二次开发。
注意
ModelZoo提供的模型示例仅用于帮助用户快速了解和使用 后摩大道® 软件平台。如果想要达到更好的网络性能,仍需要调整和优化。
在Ubuntu 22.04 x86_64、Ubuntu 20.04 x86_64和Ubuntu 20.04 AArch64平台上,ModelZoo模型开发样例为受限支持。上述平台不支持模型量化和模型编译能力,因此样例中涉及量化、编译的脚本或流程不适用于这些平台。
ModelZoo位于 应用开发示例包 中 houmo-examples_<release>/houmo-examples/models 目录下。使用 MODELZOO_PATH 环境变量表示ModelZoo所在路径。
ModelZoo模型库仅部分模型示例支持在后摩M50系列产品上运行,下面目录结构仅展示支持的模型示例:
|-- models # ModelZoo网络模型示例,包括各网络模型编译、推理、性能评估的运行脚本等。
| |-- asr # 自动语音识别相关网络模型
| | |-- glm-asr # 中文场景专用通用语音识别模型
| | |-- qwen3-asr # 通用语音识别模型
| | |-- sensevoice # 语音识别、情感识别和语音事件检测模型
| | |-- whisper-turbo # 高速语音识别与多语言转录模型
| | `-- whisper # 多语种全局通用语音识别模型
| |-- autodrive # 自动驾驶相关网络模型
| | `-- yolop # YOLOP网络模型
| |-- backbone # Backbone网络模型
| | |-- efficientnet # EfficientNet网络模型
| | |-- mobilenetv2 # MobileNetV2网络模型
| | |-- resnet50 # ResNet50网络模型
| | |-- yolov8m-cls # YOLOv8m 的图像分类模型
| | `-- ViT-B-16 # Vision Transformer网络模型
| |-- detection # 检测网络模型
| | |-- yolov3 # YOLOv3网络模型
| | |-- yolov5s # YOLOv5s网络模型(含动态裁剪功能)
| | |-- yolov5s_feature # YOLOv5s网络模型(无动态裁剪功能)
| | |-- yolov7 # YOLOv7网络模型
| | |-- yolov8m # YOLOv8m网络模型
| | |-- yolov9m # YOLOv9m网络模型
| | |-- yolov10m # YOLOv10m网络模型
| | |-- yolo11m # YOLO11m网络模型
| | |-- yolo12m # YOLO12m网络模型
| | |-- yolov5m_face # YOLOv5m人脸检测模型
| | |-- yolox # YOLOX网络模型
| | `-- yolo26m # YOLO26m网络模型
| |-- embedding # 嵌入模型
| | |-- qwen3-embedding # 文本向量化模型
| | |-- bge # BGE信息检索模型
| | `-- gte # GTE信息检索模型
| |-- estimation # 实时人体姿态估计相关网络模型
| | `-- yolov8m-pose # 评估网络模型
| |-- llm # 大语言模型
| | |-- CoPaw-Flash # 端侧智能体小模型
| | |-- deepseek-r1-qwen3-8b # DeepSeek-R1-0528-Qwen3-8B模型
| | |-- gpt-oss # GPT-OSS 模型
| | |-- qwen2.5 # Qwen2.5-7B模型
| | |-- qwen3 # Qwen3模型,包括8B、14B、0.6B和1.7B
| | |-- qwen3-30b-a3b # Qwen3-30B-a3B模型
| | `-- qwen3.5 # Qwen3.5模型,包括0.8B、2B、4B、9B、
| | # 27B、35B-A3B,和Qwen3.6-35B-A3B
| | # 和Qwen3.6-27B模型
| |-- ocr # 深度学习的图像文字识别模型(基于OCR)
| | |-- glm-ocr # 文本识别模型
| | |-- lprnet # 车牌识别网络模型
| | `-- PPOCRv3 # PaddlePaddle开源的一套OCR模型
| |-- omni # 多模态大型语言模型
| | `-- minicpmo # MiniCPMO模型
| |-- reranker # 重排序模型
| | `-- qwen3-reranker # 基于语义相关性的检索结果重排序模型
| |-- segmentation # 图像分割相关网络模型
| | `-- yolov8m_seg # YOLOv8m图像分割网络模型
| |-- tts # 语音合成模型
| | `-- cosyvoice3 # CosyVoice3语音合成模型
| `-- vlm # 多模态和高性能大模型推理加速引擎
| | |-- qwen2.5-vl # Qwen2.5多模态视觉语言模型
| | |-- gemma4 # Gemma4开源权重多模态大模型
| `-- qwen3-vl # Qwen3多模态视觉语言模型
|-- data # 模型和数据集
|-- hmodel # 量化模型配置和工具
|-- requirements.txt # Python环境依赖
`-- env.sh # ModelZoo环境变量配置脚本
样例说明
ModelZoo提供的网络模型样例所展示的功能如下表所示:
注意
AArch64 架构不支持模型量化和编译操作。用户需要使用编译后二进制模型文件(.hmm或.hmms)在AArch64架环境中推理。
网络名称 |
PTQ量化 |
模型编译 |
模型推理 (C++) |
模型推理 (Python) |
精度评测 |
性能评测 |
模型转换与评估工具 |
|---|---|---|---|---|---|---|---|
ResNet50 |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
MobileNetV2 |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
EfficientNet |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
YOLOv3 |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
YOLOP |
✓ |
✓ |
X |
✓ |
X |
✓ |
✓ |
YOLOv5s |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
YOLOv8m |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
YOLO12m |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
YOLOv8m-pose |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
DeepSeek |
✓ |
✓ |
X |
✓ |
X |
✓ |
X |
Qwen3 |
✓ |
✓ |
X |
✓ |
X |
✓ |
X |
LPRNet |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
YOLOv8m_seg |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
ViT-B-16 |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
YOLOv5s_feature |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
Gemma-4-26B-A4B |
✓ |
✓ |
X |
✓ |
X |
✓ |
X |
Qwen2.5-vl |
✓ |
✓ |
X |
✓ |
X |
✓ |
X |
PP-OCRv3 |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
BGE |
✓ |
✓ |
X |
✓ |
X |
X |
X |
GTE |
✓ |
✓ |
X |
✓ |
X |
X |
X |
Whisper-Medium |
✓ |
✓ |
✓ |
✓ |
X |
X |
X |
yolov8m-cls |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
yolov5m_face |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
yolov7 |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
yolov9m |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
yolo11m |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
yolov10m |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
yolox |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
yolo26m |
✓ |
✓ |
X |
✓ |
✓ |
✓ |
✓ |
minicpmo |
✓ |
✓ |
X |
✓ |
X |
X |
X |
qwen3-vl |
✓ |
✓ |
✓ |
✓ |
X |
✓ |
X |
qwen3-30b-a3b |
✓ |
✓ |
X |
✓ |
X |
✓ |
X |
gpt-oss |
X |
✓ |
X |
✓ |
X |
✓ |
X |
sensevoice |
✓ |
✓ |
X |
✓ |
X |
X |
X |
glm-asr |
✓ |
✓ |
X |
✓ |
X |
✓ |
X |
qwen3-asr |
✓ |
✓ |
X |
✓ |
X |
✓ |
X |
whisper-turbo |
✓ |
✓ |
X |
✓ |
X |
X |
X |
qwen3-embedding |
✓ |
✓ |
X |
✓ |
X |
X |
X |
qwen2.5 |
✓ |
✓ |
X |
✓ |
X |
✓ |
X |
qwen3.5 |
✓ |
✓ |
X |
✓ |
X |
✓ |
X |
qwen3.6 |
✓ |
✓ |
X |
✓ |
X |
✓ |
X |
CoPaw-Flash |
✓ |
✓ |
X |
✓ |
X |
✓ |
X |
glm-ocr |
✓ |
✓ |
X |
✓ |
X |
X |
X |
cosyvoice3 |
✓ |
✓ |
✓ |
✓ |
X |
✓ |
X |
qwen3-reranker |
✓ |
✓ |
X |
✓ |
X |
X |
X |
ModelZoo只提供上表中的网络模型样例,其他网络模型,暂不提供样例。ResNet50、MobileNetV2、YOLOv5s、YOLOv8m和YOLOP等模型示例通过模型转换与评估工具展示PTQ量化、模型编译、模型推理、精度评测以及性能评测。
模型获取
ModelZoo提供原始模型和量化模型。用户可根据需求对原始模型量化,或直接使用已量化模型做模型推理。
ModelZoo提供的各网络模型的类型及原始模型如下表所示:
网络名称 |
原始模型 |
量化后模型 |
预编译模型 |
原始模型来源 |
|---|---|---|---|---|
ResNet50 |
✓ |
X |
✓ |
|
MobileNetV2 |
✓ |
X |
✓ |
|
EfficientNet |
✓ |
X |
✓ |
|
YOLOP |
✓ |
X |
✓ |
|
YOLOv3 |
✓ |
X |
✓ |
|
YOLOv5s |
✓ |
X |
✓ |
|
YOLOv8m |
✓ |
X |
✓ |
|
YOLO12m |
✓ |
X |
✓ |
|
YOLOv8m-pose |
✓ |
X |
✓ |
|
DeepSeek |
✓ |
X |
✓ |
|
Qwen3-8B |
✓ |
X |
✓ |
|
Qwen3-14B |
✓ |
X |
✓ |
|
Qwen3-0.6B |
✓ |
X |
✓ |
|
Qwen3-1.7B |
✓ |
X |
✓ |
|
LPRNet |
✓ |
X |
✓ |
- |
ViT-B-16 |
✓ |
X |
✓ |
- |
YOLOv8m_seg |
✓ |
X |
✓ |
|
YOLOv5s_feature |
✓ |
X |
✓ |
- |
Gemma-4-26B-A4B |
✓ |
X |
✓ |
|
Qwen2.5-vl |
✓ |
X |
✓ |
|
Qwen3-vl |
✓ |
X |
✓ |
|
GTE |
✓ |
X |
✓ |
- |
Whisper-Medium |
✓ |
X |
✓ |
- |
YOLOv8m-cls |
✓ |
X |
✓ |
|
YOLOv5m_face |
✓ |
X |
✓ |
|
PP-OCRv3 |
✓ |
X |
✓ |
|
BGE |
✓ |
X |
✓ |
|
YOLOv7 |
✓ |
X |
✓ |
|
YOLOv9m |
✓ |
X |
✓ |
|
YOLOv10m |
✓ |
X |
✓ |
|
YOLO11m |
✓ |
X |
✓ |
|
YOLOX |
✓ |
X |
✓ |
|
YOLO26m |
✓ |
X |
✓ |
|
qwen3-30b-a3b |
✓ |
X |
✓ |
|
minicpmo |
✓ |
X |
✓ |
|
gpt-oss |
✓ |
X |
✓ |
- |
sensevoice |
✓ |
X |
✓ |
|
glm-asr |
✓ |
X |
✓ |
|
qwen3-asr |
✓ |
X |
✓ |
|
whisper-turbo |
✓ |
X |
✓ |
|
qwen3-embedding |
✓ |
X |
✓ |
|
qwen2.5 |
✓ |
X |
✓ |
|
qwen3.5-0.8B |
✓ |
X |
✓ |
|
qwen3.5-2B |
✓ |
X |
✓ |
|
qwen3.5-4B |
✓ |
X |
✓ |
|
qwen3.5-9B |
✓ |
X |
✓ |
|
qwen3.5-27B |
✓ |
X |
✓ |
|
qwen3.5-35B-A3B |
✓ |
X |
✓ |
|
Qwen3.6-35B-A3B |
✓ |
X |
✓ |
|
CoPaw-Flash |
✓ |
X |
✓ |
|
glm-ocr |
✓ |
X |
✓ |
|
cosyvoice3 |
✓ |
X |
✓ |
- |
qwen3-reranker |
✓ |
X |
✓ |
环境准备后,在 MODELZOO_PATH/models/network_type/network_name 目录下,运行下面指令下载模型。network_type 为网络模型类型,如 diffusion、llm。network_name 为网络名称,如 qwen3。
python3 get_model.py --type [options] --model_size <size> --source_type modelscope
其中参数取值如下:
options:raw:原始网络模型。hmm:后摩TCIM编译后生成的二进制模型文件(.hmm或.hmms)。
--model_size <size>:(可选)仅部分模型适用,用于指定待下载模型的参数规模。<size>的取值可为2b、4b、9b、27b等,不同模型支持的取值不同,具体以对应示例目录中的README.md说明为准。--source_type modelscope:(可选)从魔塔社区下载模型。当前仅支持下载后摩TCIM编译后生成的二进制模型文件。可参看示例目录中的README.md文件,了解示例是否支持该功能。
模型下载后默认存放在当前目录下。
数据集准备
ModelZoo提供少量数据供简单验证,如果需要测试真实精度,需要下载完整数据集。
通过 HOUMO_DATASETS_PATH 环境变量设置数据集实际路径,默认为 MODELZOO_PATH/data/datasets。
网络名称 |
数据集名称 |
路径 |
|---|---|---|
ResNet50 |
ImageNet 2012 |
|
MobileNetV2 |
||
EfficientNet |
||
YOLOv8m-cls |
||
YOLOv3 |
COCO 2017 |
|
YOLOv5s |
||
YOLOv8m |
||
YOLO12m |
||
YOLOv8m-pose |
||
YOLOv5s_feature |
||
YOLOv8m_seg |
||
YOLOv7 |
||
YOLOv9m |
||
YOLOv10m |
||
YOLO11m |
||
YOLOX |
||
YOLO26m |
||
YOLOv5m_face |
WIDER FACE |
|
YOLOP |
BDD100K |
|
DeepSeek |
wikitext-2-raw-v1 |
|
Qwen3 |
||
Qwen2.5 |
||
Qwen3.5 |
||
Qwen3.6 |
||
gpt-oss |
||
qwen3-embedding |
||
qwen3-30b-a3b |
||
Gemma-4-26B-A4B |
- |
- |
Qwen2.5-vl |
- |
- |
Qwen3-vl |
- |
- |
ViT-B-16 |
ILSVRC2012 |
|
LPRNet |
CCPD2019Sub |
|
PP-OCRv |
CCPD2020_PPOCR v3_eval |
|
BGE |
- |
- |
GTE |
- |
- |
Whisper-Medium |
- |
- |
minicpmo |
- |
- |
sensevoice |
- |
- |
glm-asr |
- |
- |
qwen3-asr |
- |
- |
whisper-turbo |
- |
- |
glm-ocr |
- |
- |
cosyvoice3 |
- |
- |
CoPaw-Flash |
- |
- |
qwen3-reranker |
T2Reranking |
环境准备
执行下面步骤完成运行环境部署,所有样例默认适配最新版本软件平台:
在Docker镜像中下载应用开发示例包。
登录后摩开发者社区。
在 请先选择板级类别 下拉列表中选择使用的后摩板级产品。
在版本列表中选择下载的版本号,再在 AI模型类别筛选器 、平台架构筛选器 、操作系统筛选器 下拉菜单中分别选择AI模型类型、平台架构和操作系统,找到资源名为示例代码的下载资源,选中该资源左边复选框。
点击 直接下载、wget链接、批量直接下载 或 wget批量下载 按钮。
ModelZoo模型库位于
houmo-examples-xh2/models目录下。检查
houmo-examples-xh2/env.sh中环境变量设置:根据实际情况修改环境变量的值,例如如果更换数据集路径,则修改 HOUMO_DATASETS_PATH 变量。
初始时脚本会自动检测当前是否有可用的后摩设备。如果有,则会自动设置使用该后摩设备评测模型,否则会设置使用模拟器评测模型。用户可通过 HDPL_PLATFORM环境变量修改评测平台。
环境变量详情参看 ModelZoo环境变量列表。
在
houmo-examples-xh2目录下,执行下面指令配置运行环境:source env.sh
如果在AArch64 架构:不支持模型量化和编译操作,用户可以直接使用提供的已编译模型进行推理。
环境变量
环境变量名称 |
描述 |
默认值 |
|---|---|---|
HOUMO_TARGET |
ModelZoo中模型编译和推理使用的后摩设备。 |
|
HOUMO_DATASETS_PATH |
ModelZoo数据库存放目录。 |
|
HOUMO_MODELZOO_URL |
ModelZoo中模型下载根目录。 |
|
样例运行
执行下面步骤运行样例:
进入要运行的模型目录
MODELZOO_PATH/models/network_type/network_name。其中,network_type 为网络模型类型,如llm。network_name 为网络名称,如qwen3。执行以下命令一键运行模型样例:
./test.sh
该脚本会根据当前模型样例及运行环境所支持的功能,自动执行模型获取、量化、编译、推理、性能评测和精度评估等流程中的部分或全部操作。
各模型样例的具体运行步骤,请参照 MODELZOO_PATH/README.MD 和 MODELZOO_PATH/models/network_type/network_name/README.MD 。
LLM模型样例介绍
ModelZoo提供大语言模型(LLM)样例,包括DeepSeek和Qwen3等。支持的部署参数下表所示:
模型示例 |
Batch数 |
后摩M50芯片数 |
后摩IPU内核数 |
Prefill处理Token数 |
模型输入输出上下文长度(编译后模型) |
|---|---|---|---|---|---|
Qwen2.5-7B |
1 |
1 |
2 |
256 tokens |
8192 tokens |
Qwen3-0.6B |
1 |
1 |
2 |
256 tokens |
32768 tokens |
Qwen3-1.7B |
1 |
1 |
2 |
256 tokens |
32768 tokens |
Qwen3-8B |
1 |
1 |
2 |
256 tokens |
32768 tokens |
Qwen3-14B |
1 |
1 |
2 |
256 tokens |
16384 tokens |
Qwen3.5 |
1 |
1 |
2 |
256 tokens |
32768 tokens |
Qwen3-30B |
1 |
1 |
2 |
256 tokens |
32768 tokens |
DeepSeek |
1 |
1 |
2 |
256 tokens |
32768 tokens |
GPT-OSS |
1 |
1 |
2 |
256 tokens |
32768 tokens |
CoPaw-Flash |
1 |
1 |
2 |
256 tokens |
8192 tokens |
参数说明如下:
Batch数:表示推理模型时使用的batch数。
后摩M50芯片数:表示模型推理使用的后摩M50芯片数,而不是后摩M50设备数。每颗后摩M50 芯片在系统中都会被识别为一个独立的逻辑设备,因此一台后摩M50设备中可能有多颗后摩M50芯片。
后摩IPU内核数:表示推理模型时使用的后摩IPU内核数。
Prefill处理Token数:如果模型输入较大,需在Prefill阶段对输入token进行分段,再迭代处理每段token。该参数表示每次迭代处理的最大token数。
输入输出上下文长度:表示模型输入、输出的最大token数。
特别说明
由于Qwen 3.5示例需配合Transformers 5.2.0或更高版本运行,Python 3.9已无法兼容该示例需求,用户需确保Python版本高于3.9(推荐使用 Python 3.12)以保障正常运行。
运行Qwen3-8B模型样例
下面以Qwen3模型为例,详细介绍如何从零开始在Docker环境中完成环境配置与安装部署,并完整跑通量化、编译和推理演示流程。
备注
后摩大模型样例包支持 Qwen3 系列多个规格,包括 0.6B、1.7B、8B 和 14B。本文以 Qwen3-8B 模型为例进行说明。其他模型规格的运行命令和高级参数,参看样例目录下的 README.md 文件。
本文提供以下两种使用方式:
运行方式说明如下:
运行方式 |
适用场景 |
主要流程 |
|---|---|---|
快速入门 |
适用于首次验证设备、驱动和推理环境是否正常,或希望快速体验 Qwen3-8B 模型推理效果的用户。 |
准备推理环境 → 下载编译后模型 → 运行推理演示与性能评测 |
完整开发流程 |
适用于需要从开源模型开始完成模型量化、编译和推理验证的用户。 |
准备开发环境 → 下载开源模型 → 量化模型 → 编译模型 → 运行推理验证 |
模型推理验证
执行下面步骤运行Qwen3-8B样例,并完成推理演示和性能评测:
进入模型目录
houmo-examples-xh2/models/models/llm/qwen3。(可选)安装交互界面依赖:
pip3 install prompt_toolkit --no-deps
(可选)如果使用AArch64架构,设置以下环境变量:
export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1
下载Qwen3-8B模型文件:
python3 get_model.py --type hmm --model_size 8b
执行成功后,
qwen3_prefill.hmm、qwen3_decode.hmm以及hmquant/quant_embedding.pt文件将下载至models/llm/qwen3/output/xh2目录。推理模型。通过
demo.py脚本,以交互模式(--it)启动模型的推理:python3 demo.py --model_size 8b --it
执行成功后,终端将返回如下提示信息:
Input your instruction here:
用户可输入问题,与 Qwen3 模型进行交互式推理。示例如下:
Input your instruction here: 请介绍一下存算一体技术的优势
模型完成推理后,将输出生成结果及性能统计信息。
更多详情,请参看 houmo-examples-xh2/models/models/llm/qwen3/README.MD 。
完整开发流程:从开源模型到设备推理
如果需要基于开源Qwen3-8B模型重新生成后摩设备可执行模型文件,可执行完整开发流程。
完整开发流程包括开源模型下载、PTQ 量化、模型编译和推理验证,适用于模型适配、参数调优或定制化部署场景。
软硬件环境要求
执行完整开发流程前,请确认开发环境满足以下要求:
警告
Qwen3-8B 模型规模较大。如果GPU显存或主机内存不足,可能导致量化进程终止、编译失败或出现 OOM(Out of Memory)错误。
项目 |
要求 |
|---|---|
主机架构 |
仅支持在Ubuntu 24.04 x86架构主机上执行模型量化。 |
GPU 显存 |
GPU 需具备至少40 GB可用显存。 |
主机内存 |
编译主机需具备至少64 GB可用内存。 |
GPU 驱动 |
宿主机需安装与CUDA 12.8兼容的GPU驱动。 |
Docker 镜像 |
建议使用软件平台提供的 Ubuntu 24.04 Docker 镜像执行量化、编译和推理操作。 |
后摩设备 |
执行编译后推理验证时,主机需正确连接后摩M50设备,并安装匹配版本的后摩设备驱动。 |
开发流程
完整开发步骤如下:
准备量化和编译开发环境
执行以下步骤下载并启动 Docker 开发环境。
下载 Docker 镜像。
登录 后摩开发者社区。
在 请先选择板级类别 下拉列表中,选择使用的后摩板级产品。
在版本列表中选择目标版本号。
在 AI 模型类别筛选器、平台架构筛选器 和 操作系统筛选器 下拉菜单中选择对应条件。
找到资源名为 docker 镜像 的下载资源,并选中该资源左侧复选框。
点击 直接下载、wget 链接、批量直接下载 或 wget 批量下载 按钮,下载 Docker 镜像。
导入 Docker 镜像。
在 Docker 镜像所在目录下,执行以下命令:
docker load -i <docker_file>
其中,
<docker_file>为下载的 Docker 镜像文件名。如果导入成功,终端会显示导入后的 Docker 镜像名称,示例如下:
Loaded image: harbor.houmo.ai/toolchain/release:Dadao-xh2-v1.3.0-ubuntu24.04-x86.64
启动 Docker 容器。
启动容器时需将 GPU 映射到容器内,命令示例如下:
docker run -it --gpus all --pid=host -w /hmdd -v $PWD:/hmdd --shm-size 64g harbor.houmo.ai/toolchain/release:Dadao-xh2-<release_version>-ubuntu24.04-x86.64 /bin/bash
如果主机上存在多张 GPU,可根据实际需要指定 GPU ID。
下载应用开发示例包。
下载应用开发示例包到Docker镜像中。
登录后摩开发者社区。
在 请先选择板级类别 下拉列表中选择使用的后摩板级产品。
在版本列表中选择下载的版本号,再在 AI模型类别筛选器 、平台架构筛选器 、操作系统筛选器 下拉菜单中分别选择AI模型类型、平台架构和操作系统,找到资源名为示例代码的下载资源,选中该资源左边复选框。
点击 直接下载、wget链接、批量直接下载 或 wget批量下载 按钮。
执行下面指令解压应用开发示例包。
unzip houmo-examples-<targe_hw>_<release>.zip
解压后为
houmo-examples-xh2/文件夹。
配置样例运行环境。
进入模型样例根目录,并执行环境初始化脚本:
cd houmo-examples-xh2/models source env.sh
下载Qwen3-8B模型
在 Qwen3 样例目录下,执行以下命令下载开源 Qwen3-8B 模型文件:
python3 get_model.py --type raw --model_size 8b
下载完成后,开源模型文件默认保存在 Qwen3 样例目录下的对应模型路径中。
量化模型
在Qwen3样例目录下,执行以下命令,通过HMQuantool工具完成模型量化:
python3 ptq.py --model_size 8b
如需修改量化参数,可编辑 ptq.py 文件中的相关参数。量化参数说明参看《后摩大道® HMQuantool 量化工具用户手册》。
注意
量化过程中需要连接网络下载wikitext2数据集。如果数据集下载失败,可执行以下命令手动下载:
python3 get_model.py --type dataset
Qwen3-8B模型量化包括权重量化和模型量化。量化后的模型文件和权重文件默认保存在以下目录:
houmo-examples-xh2/models/models/llm/qwen3/output/xh2/hmquant
编译模型
完成模型量化后,在Qwen3样例目录下,执行以下命令编译模型:
警告
由于Qwen网络模型较大,编译主机必须具备至少64GB的可用内存,否则可能因内存不足导致OOM(Out of Memory)错误,或者模型编译被终止。
python build.py
Qwen3-8B模型包含Prefill和Decode两部分,需要分别完成编译。编译完成后,默认生成以下 .hmm 模型文件。编译后的模型文件存放在 houmo-examples-xh2/models/models/llm/qwen3/output/xh2 文件夹下。