您正在浏览的是 FineBI6.1 帮助文档,点击跳转至: FineBI5.1帮助文档

【信创】Qwen大模型部署

  • 产品级协助
  • 文档创建者:Lily.Wang
  • 历史版本:13
  • 最近更新:Lily.Wang 于 2025-03-19
  • 1. 概述

    本文将介绍在信创环境下,Qwen 大模型如何部署。

    2. 环境准备

    硬件要求:

    配置项
    配置要求
    NPU支持昇腾 910b3、910b4
    服务器Atlas 800 和 Atlas 300I Duo
    显存单卡显存需达到 64GB

    软件要求:

    配置项
    配置要求
    操作系统宿主机要求为 openEuler 22.03 LTS(aarch64)
    mindie 容器内部为 Ubuntu 22.04.4 LTS
    Python宿主机要求 Python v3.8 及以上,推荐 3.9
    mindie 容器内部为 Python v3.11.10

    NPU 驱动

    版本为 24.1.rc3
    Docker版本为 26.1.3,且容器引擎必须为 1.11.2 版本及以上

    模型文件要求:

    在部署 Qwen 模型时,模型文件需满足以下特定要求,以确保模型能在华为昇腾硬件平台上正常运行:

    • Qwen 微调后的权重文件必须为全精度,支持的数据类型为 fp16 或 fp32,并且文件类型仅支持 safetensor 格式。在模型导出过程中,请勿使用量化操作,量化会降低模型精度,影响推理结果的准确性。

    • 如果使用 llama-factory 工具对模型进行微调,需要按照官方文档的要求配置 yaml 文件。

    • 如果使用 Atlas 300I Duo 服务器进行模型部署,模型的 torch dtype 只能设置为 float16,不支持 bfloat16。

    3. 部署步骤

    3.1 下载 mindie 镜像

    1)进入 mindie 镜像仓库 ,填写表单申请下载权限,审批通过后根据官方网站提供的配套版本选择合适的 mindie 镜像下载。

    2)以 root 登录服务器,并输入以下指令获取对华为镜像仓库的访问权限,执行此命令后,系统将提示你输入密码。

    # -u 后面跟着的是用户名,请更换为用户自己在镜像仓库的身份标识
    docker login -u cn - south - 1@1BWORLDNQR92OPTMVF02 swr.cn - south - 1.myhuaweicloud.com

    3)获得镜像仓库的访问权限后,即可下载 mindie 镜像。

    # 需根据用户要下载的镜像的实际地址和版本修改命令
    docker pull swr.cn - south - 1.myhuaweicloud.com/ascendhub/mindie:1.0.RC3 - 800I - A2 - arm64

    4)输入命令,检查镜像下载结果

    # 如果下载成功,你将看到包含镜像名称、标签(版本号)、镜像 ID、创建时间及镜像大小等相关信息的输出结果
    # 仔细核对版本号是否与你预期下载的一致,若一致则表示镜像已成功下载到本地
    docker images | grep mindie

    3.2 模型下载

    1)创建目录 /home/qwen2_5_sft_0929

    mkdir -p /home/qwen2_5_sft_0929

    2)使用 wget 命令将模型文件下载到指定目录

    wget -P /home/qwen2_5_sft_0929 <模型下载地址>

    3)解压模型文件

    # qwen_sft_0929.tar.gz为压缩包名,用户需根据实际更改
    tar -xvzf /home/qwen2_5_sft_0929/qwen_sft_0929.tar.gz -C /home/qwen2_5_sft_0929

    3.3 创建并运行容器

    注:910 系列芯片都不支持容器共享。使用的时候,一张卡只能挂载到一个容器。

    docker run -it -d \
        # 使用宿主机网络栈,使容器直接使用宿主机网络配置
        --net=host \
        # 设置容器的共享内存大小为 1GB,满足某些应用程序对共享内存的需求
        --shm-size=1g \
        # 为容器命名为 mindie-container,便于后续管理和识别
        --name mindie-container \
        # 映射昇腾 NPU 相关管理设备到容器内
        --device=/dev/davinci_manager \
        --device=/dev/hisi_hdc \
        --device=/dev/devmm_svm \
        # 映射NPU卡到容器内,让容器可使用 NPU 进行计算,要与 npu-smi 中的卡序号对应,相应卡槽没有卡的要删掉
        --device=/dev/davinci0 \
        --device=/dev/davinci1 \
        --device=/dev/davinci2 \
        --device=/dev/davinci3 \
        --device=/dev/davinci4 \
        --device=/dev/davinci5 \
        --device=/dev/davinci6 \
        --device=/dev/davinci7 \
        # 只读挂载宿主机的昇腾驱动目录到容器内
        -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
        # 只读挂载宿主机的 sbin 目录到容器内
        -v /usr/local/sbin:/usr/local/sbin:ro \
        # 只读挂载宿主机指定目录到容器的 /workspace/weights 目录
        -v /home/qwen2_5_sft_0929/qwen2_5_sft_0929:/workspace/weights:ro \
        # 使用指定的华为云 SWR 镜像
        swr.cn-south-1.myhuaweicloud.com/ascendhub/mindie:1.0.RC3-800I-A2-arm64 \
        # 在容器内启动 bash 终端,方便用户进行交互操作
        bash
    显示代码

    3.4 启动 mindie 服务

    1)进入 3.3 节创建的 mindie-container 容器

    # 进入 mindie-container 容器
    docker exec -it mindie-container bash

    2)进入 mindie 服务的启动路径

    # 执行此命令进入到 mindie 服务的启动路径
    cd $MIES_INSTALL_PATH

    3)启动服务

    # 执行此命令启动 mindie 服务,并将标准输出和错误输出重定向到 output.log 文件
    # 同时使用 nohup 让服务在后台持续运行
    nohup ./bin/mindieservice_daemon > output.log 2>&1 & 

    4)确认启动成功

    # 执行此命令实时查看服务启动日志
    # 若日志中出现 "Daemon start success!",说明服务启动成功
    tail -f output.log 

    4. Qwen 调用接口示例

    4.1 接口概览

    • 请求地址:http://127.0.0.1:1025/v1/chat/completions

    • 请求方式:POST

    4.2 接口示例

    qwen 接口示例如下:

    curl -X POST "http://127.0.0.1:1025/v1/chat/completions" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "qwen2_5_sft_0929",
      "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "what is your name"}
      ],
      "temperature": 1,
      "top_p": 0.95,
      "top_k": 20,
      "max_tokens": 4096,
      "stream": false
    }'

    参数说明:

    参数
    说明
    model模型名称(如示例中的 qwen2_5_sft_0929 
    messages对话历史记录,需包含 role 和 content
    temperature调节模型输出结果的随机性,值越大随机性越强,0为固定输出
    top_p从生成结果中按输出的概率选择输出结果
    top_k从生成结果中选择候选输出的数量(仅保留概率最高的前 k 个词)
    max_tokens生成输出 token 的最大长度,单位为个
    stream

    是否流式输出(true/false)


    附件列表


    主题: 非容器化FineBI6.0部署方案
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持

    反馈已提交

    网络繁忙