一、 简介

Qwen3(通义千问3) 是阿里巴巴推出的新一代 大语言模型(LLM) 系列,属于 通义千问(Qwen) 家族的最新迭代版本。它在 性能、多模态能力、长文本处理 等方面进行了显著升级,适用于 自然语言理解、代码生成、数学推理、多轮对话 等任务。

1、特性

  • 更强的性能 参数量级:涵盖 1.8B、7B、14B、72B 等多个规模,满足不同场景需求。 基准表现:在 MMLU、C-Eval、GSM8K、HumanEval 等中英文评测中领先同类模型。 长文本支持:上下文窗口扩展至 128K tokens,适合长文档分析、代码理解等任务。

  • 开源与生态 开源协议:部分模型采用 Apache 2.0 许可,允许商用和研究。 工具链支持:提供 量化、微调、API 等配套工具,适配 GPU/TPU 硬件(如BM1684X)。

  • 推理优化 低资源适配:支持 4-bit/8-bit 量化,可在消费级GPU(如RTX 4090)或边缘设备(如BM1684X TPU)部署。 动态计算:自适应调整计算资源,平衡速度与精度。

2、工程目录

个人演示的工程目录

    Qwen3
    ├── cpp_demo
    ├── Models
    │   └── BM1684X
    │       └── qwen3-4b_w4bf16_seq512_bm1684x_1dev_20250429_120231.bmodel    # BM1684X qwen3-4b模型
    ├── python_demo
    │   ├── config                        # 配置文件
    │   ├── chat.cpp                      # 启动程序
    │   ├── CMakeLists.txt                # 创建python chat模块
    │   ├── pipeline.py                   # 运行文件
    │   └── README.md                     # 说明文档
    └── README.md                      # 说明文档

二、意义和价值

1、技术结合的意义

Qwen3作为新一代开源大语言模型,具备强大的语言理解、多轮对话与长文本处理能力,但在实际部署中面临模型参数量大、推理延迟高、对算力要求苛刻等挑战。BM1684X算力盒子基于高性能TPU架构,专为边缘端AI推理设计,支持INT8/FP16混合精度计算与动态批处理,能够高效执行大规模神经网络模型推理。

二者的结合体现了大模型边缘化部署的重要趋势。通过将Qwen3模型量化、编译并部署至BM1684X平台,可在保持较高语言理解能力的同时,显著降低推理延迟与功耗,实现大模型在资源受限环境中的可行部署。这种软硬协同优化不仅扩展了大模型的应用边界,也为边缘智能提供了新的技术路径,推动AI从云端向终端、边缘端延伸。

2、技术实现与业务场景价值

从技术实现角度,Qwen3模型通过量化压缩与BM1684X专用编译工具链适配,可转化为高效的BModel格式,在TPU上实现并行化推理加速。BM1684X支持多核调度与内存优化,能够处理Qwen3的长序列输入(如128K上下文),满足复杂对话与文档分析场景对计算资源的需求。此外,该平台还支持多路并发推理,适用于高并发交互场景。

在业务场景价值方面,Qwen3与BM1684X的结合可广泛应用于:

  • 智能客服与对话系统:在本地部署可保障数据隐私与响应实时性,适用于金融、政务、企业服务等对安全性要求高的场景。

  • 边缘知识库与文档分析:支持长文档、技术手册、法律文本的本地化理解与问答,适用于教育、科研、专业服务等领域。

  • 嵌入式设备与工业终端:如智能巡检设备、工业控制器、车载系统等,实现本地语言交互与决策支持,降低对云端依赖。

  • 低延迟交互应用:如实时翻译、语音助手、智能写作辅助等,在边缘端完成推理,提升用户体验与系统可靠性。

通过将Qwen3的高水平语言能力与BM1684X的高效推理能力相结合,企业可在边缘端构建自主可控、低延迟、高安全的大模型应用,推动AI技术在真实业务场景中的规模化落地,具备显著的产业价值与竞争优势。

三、运行步骤

1、准备Python环境、数据与模型

(1)首先升级python版本为3.10

    sudo add-apt-repository ppa:deadsnakes/ppa
    sudo apt update
    sudo apt install python3.10 python3.10-dev

    # 创建虚拟环境(不含pip包)
    # !!!每次运行都要按照步骤切换虚拟环境!!!
    cd /data
    # 创建虚拟环境(不包含 pip)
    python3.10 -m venv --without-pip myenv

    # 进入虚拟环境
    source myenv/bin/activate

    # 手动安装 pip
    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    python get-pip.py
    rm get-pip.py

    # 安装依赖库
    pip3 install torchvision pillow qwen_vl_utils transformers --upgrade

(2)复制算能官方的Qwen3工程目录(或者复制后将Qwen3上传到盒子中的/data下)

    git clone https://github.com/sophgo/LLM-TPU.git
    cd sophgo/LLM-TPU/models/Qwen3
    cd /data/Qwen3  ##如果只上传了Qwen3,则只需进入此目录下操作

(3) 准备运行环境

内存配置(建议进行) 在PCIe上无需修改内存,以下为soc模式相关: 对于1684X系列设备(如SE7/SM7),都可以通过这种方式完成环境准备,使其满足Qwen2.5-VL运行条件。首先,确保使用V24.04.01 SDK,可以通过bm_version命令检查SDK版本,如需要升级,可从sophgo.com获取v24.04.01版本SDK,刷机包位于sophon-img-xxx/sdcard.tgz中,参考对应的产品手册进行刷机。

确保SDK版本后,在1684x SoC环境上,参考如下命令修改设备内存:

    cd /data/
    mkdir memedit && cd memedit
    wget -nd https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/09/11/13/DeviceMemoryModificationKit.tgz
    tar xvf DeviceMemoryModificationKit.tgz
    cd DeviceMemoryModificationKit
    tar xvf memory_edit_{vx.x}.tar.xz #vx.x是版本号
    cd memory_edit
    ./memory_edit.sh -p #这个命令会打印当前的内存布局信息
    ./memory_edit.sh -c -npu 7615 -vpu 2048 -vpp 2048 #如果是在1688平台上请修改为:./memory_edit.sh -c -npu 10240 -vpu 0 -vpp 3072
    sudo cp /data/memedit/DeviceMemoryModificationKit/memory_edit/emmcboot.itb /boot/emmcboot.itb && sync
    sudo reboot

(4)模型准备

    cd /data/
    mkdir memedit && cd memedit
    wget -nd https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/09/11/13/DeviceMemoryModificationKit.tgz
    tar xvf DeviceMemoryModificationKit.tgz
    cd DeviceMemoryModificationKit
    tar xvf memory_edit_{vx.x}.tar.xz #vx.x是版本号
    cd memory_edit
    ./memory_edit.sh -p #这个命令会打印当前的内存布局信息
    ./memory_edit.sh -c -npu 7615 -vpu 2048 -vpp 2048 #如果是在1688平台上请修改为:./memory_edit.sh -c -npu 10240 -vpu 0 -vpp 3072
    sudo cp /data/memedit/DeviceMemoryModificationKit/memory_edit/emmcboot.itb /boot/emmcboot.itb && sync
    sudo reboot

2、python例程

(1)环境准备

    cd /data/Qwen3/python_demo
    # 建议在/data/Qwen3/python_demo/下新建一个requirements.txt的文本文档,并添加如下内容
    transformers==4.49.0
    torch==2.4.1
    numpy==1.24.4
    requests==2.32.3
    torchvision==0.19.1
    packaging==24.2
    av==12.3.0
    psutil==5.9.1
    opencv-python-headless==4.11.0.86
    # 此外您可能还需要安装其他库
    pip3 install dfss -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade
    pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

    # 您需要安装SILK2.Tools.logger
    python3 -m dfss --url=open@sophgo.com:tools/silk2/silk2.tools.logger-1.0.2-py3-none-any.whl
    pip3 install silk2.tools.logger-1.0.2-py3-none-any.whl --force-reinstall
    rm -f silk2.tools.logger-1.0.2-py3-none-any.whl

    # 本例程依赖sophon-sail,可直接安装sophon-sail,执行如下命令:
    pip3 install dfss --upgrade
    python3 -m dfss --install sail

(2) 编译运行程序

    # 安装 pybind11 开发包
    sudo apt-get update
    sudo apt-get install pybind11-dev
    mkdir build cd build && cmake .. && make && cp *cpython* .. && cd ..

(3)运行测试

    # chat测试
    python3 pipeline.py -m qwen3_xxx.bmodel -c config   # 请将模型路径和config路径换成自己的路径

(4)使用效果

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐