6.6.2. Qwen3模型样例运行

下面以Qwen3模型为例,详细介绍如何从零开始在Docker环境中完成环境配置与安装部署,并完整跑通量化、编译和推理演示流程。

备注

后摩大模型样例包支持 Qwen3 系列多个规格,包括 0.6B、1.7B、8B 和 14B。本文以 Qwen3-8B 模型为例进行说明。其他模型规格的运行命令和高级参数,参看样例目录下的 README.md 文件。

本文提供以下两种使用方式:

  • 模型推理验证:直接使用后摩提供的编译后模型文件,快速完成推理演示与性能评测。

  • 完整开发流程验证:从开源Qwen3-8B模型开始,完成模型量化、编译和推理验证。

运行方式说明如下:

运行方式

适用场景

主要流程

快速入门

适用于首次验证设备、驱动和推理环境是否正常,或希望快速体验 Qwen3-8B 模型推理效果的用户。

准备推理环境 → 下载编译后模型 → 运行推理演示与性能评测

完整开发流程

适用于需要从开源模型开始完成模型量化、编译和推理验证的用户。

准备开发环境 → 下载开源模型 → 量化模型 → 编译模型 → 运行推理验证

6.6.2.1. 模型推理验证

执行下面步骤运行Qwen3-8B样例,并完成推理演示和性能评测:

  1. 配置运行环境

  2. 进入模型目录 houmo-examples-xh2/models/models/llm/qwen3

  3. (可选)安装交互界面依赖:

    pip3 install prompt_toolkit --no-deps
    
  4. (可选)如果使用AArch64架构,设置以下环境变量:

    export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1
    
  5. 下载Qwen3-8B模型文件:

    python3 get_model.py --type hmm --model_size 8b
    

    执行成功后,qwen3_prefill.hmmqwen3_decode.hmm 以及 hmquant/quant_embedding.pt 文件将下载至 models/llm/qwen3/output/xh2 目录。

  6. 推理模型。通过 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

6.6.2.2. 完整开发流程:从开源模型到设备推理

如果需要基于开源Qwen3-8B模型重新生成后摩设备可执行模型文件,可执行完整开发流程。

完整开发流程包括开源模型下载、PTQ 量化、模型编译和推理验证,适用于模型适配、参数调优或定制化部署场景。

6.6.2.2.1. 软硬件环境要求

执行完整开发流程前,请确认开发环境满足以下要求:

警告

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设备,并安装匹配版本的后摩设备驱动。

6.6.2.2.2. 开发流程

完整开发步骤如下:

  1. 准备量化和编译开发环境

  2. 下载Qwen3-8B模型

  3. 量化模型

  4. 编译模型

  5. (可选)如果使用软件平台提供的 AArch64 架构 Docker 镜像,运行推理前需设置以下环境变量:

    export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1
    

    设置完成后,再执行推理命令。

  6. 模型推理验证

6.6.2.2.3. 准备量化和编译开发环境

执行以下步骤下载并启动 Docker 开发环境。

  1. 下载 Docker 镜像。

    1. 登录 后摩开发者社区

    2. 请先选择板级类别 下拉列表中,选择使用的后摩板级产品。

    3. 在版本列表中选择目标版本号。

    4. AI 模型类别筛选器平台架构筛选器操作系统筛选器 下拉菜单中选择对应条件。

    5. 找到资源名为 docker 镜像 的下载资源,并选中该资源左侧复选框。

    6. 点击 直接下载wget 链接批量直接下载wget 批量下载 按钮,下载 Docker 镜像。

  2. 导入 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
    
  3. 启动 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。

  4. 下载应用开发示例包。

    1. 下载应用开发示例包到Docker镜像中。

      1. 登录后摩开发者社区

      2. 请先选择板级类别 下拉列表中选择使用的后摩板级产品。

      3. 在版本列表中选择下载的版本号,再在 AI模型类别筛选器平台架构筛选器操作系统筛选器 下拉菜单中分别选择AI模型类型、平台架构和操作系统,找到资源名为示例代码的下载资源,选中该资源左边复选框。

      4. 点击 直接下载wget链接批量直接下载wget批量下载 按钮。

    2. 执行下面指令解压应用开发示例包。

      unzip houmo-examples-<targe_hw>_<release>.zip
      

      解压后为 houmo-examples-xh2/ 文件夹。

  5. 配置样例运行环境。

    进入模型样例根目录,并执行环境初始化脚本:

    cd houmo-examples-xh2/models
    source env.sh
    

6.6.2.2.4. 下载Qwen3-8B模型

在 Qwen3 样例目录下,执行以下命令下载开源 Qwen3-8B 模型文件:

python3 get_model.py --type raw --model_size 8b

下载完成后,开源模型文件默认保存在 Qwen3 样例目录下的对应模型路径中。

6.6.2.2.5. 量化模型

在Qwen3样例目录下,执行以下命令,通过HMQuantool工具完成模型量化:

python3 ptq.py --model_size 8b

如需修改量化参数,可编辑 ptq.py 文件中的相关参数。量化参数说明参看《后摩大道® M50 HMQuantool 量化工具用户手册》。

注意

量化过程中需要连接网络下载wikitext2数据集。如果数据集下载失败,可执行以下命令手动下载:

python3 get_model.py --type dataset

Qwen3-8B模型量化包括权重量化和模型量化。量化后的模型文件和权重文件默认保存在以下目录:

houmo-examples-xh2/models/models/llm/qwen3/output/xh2/hmquant

6.6.2.2.6. 编译模型

完成模型量化后,在Qwen3样例目录下,执行以下命令编译模型:

警告

由于Qwen网络模型较大,编译主机必须具备至少64GB的可用内存,否则可能因内存不足导致OOM(Out of Memory)错误,或者模型编译被终止。

python build.py

Qwen3-8B模型包含Prefill和Decode两部分,需要分别完成编译。编译完成后,默认生成以下 .hmm 模型文件。编译后的模型文件存放在 houmo-examples-xh2/models/models/llm/qwen3/output/xh2 文件夹下。