Atlas 300l Duo部署qwen3_32b_light

目录

一. 检查OS版本及操作系统配置

博主这里服务器的显卡为华为的Atlas 300l Duo,安装的操作系统为openEuler 22.03 LTS。具体如下图。

二. 驱动和固件下载与安装

查看显卡实际参数,下载对应的固件和驱动。

① firmware:初始化、控制硬件本身。存在于显卡的BIOS芯片中。电脑开机时,它初始化GPU核心、显存,设置基础显示模式(让你在进入Windows前能看到BIOS画面)。

② driver:翻译OS指令,管理硬件资源,提供OS标准接口。

下载地址:
https://www.hiascend.com/hardware/firmware-drivers/community?product=2&model=17&cann=8.2.RC2&driver=Ascend+HDK+25.2.0

驱动安装参考:https://blog.csdn.net/mizhiakk/article/details/147305068

NPU Chip有几行,就是有几个npu卡,下图中就有2块npu。

具体参数含义,参考下面链接:
https://www.hiascend.com/document/detail/zh/Atlas 200I A2/2550/re/npu/topic_0000002481546300.html

三.下载mindie镜像并打包

1.下载Docker Desktop

博主是使用windows下载Docker的,所以要安装Docker Desktop。

I.下载最新版本

下载地址:https://www.docker.com/products/docker-desktop/

II.下载历史版本

下载地址:https://docs.docker.com/desktop/release-notes/
Docker最好下载版本稍低的,否则拉取的mindie镜像可能有问题。博主下载的4.39.0

先在右侧边栏选择合适的版本,再下载对应架构的Docker Desktop

2.下载mindie镜像

下载地址:https://www.hiascend.com/developer/ascendhub/detail/af85b724a7e5469ebd7ea13c3439d48f

根据服务器指令集的类型,选择合适的架构镜像来下载。

因为博主要部署的服务器是arm架构的,所以我这里选择arm架构来下载。

3.镜像打包

I.先进入指定目录,然后打包

进入想要存放tar包的目录,执行以下命令:

bash 复制代码
docker save -o mindie1.tar 02efebd6ce64

II.命令中指定目录,然后打包

bash 复制代码
docker save -o "D:\docker_image\image\mindie1.tar" 02efebd6ce64

这里mindie1是镜像的tar包名字,可以自定义。02efebd6ce64是想要打包的镜像,可以通过docker images来查看。

执行完之后,当前目录下会生成对应的tar包。

之后将mindie1.tar拷贝到服务器中相应目录。(eg:/opt/mindie_image)

四.下载权重文件

根据显卡及操作系统相关参数,这里提供三种权重文件的下载地址。

以量化版32B为例:

这里建议使用modelscope指定目录来下载,因为modelscope默认下载到C盘目录下。

1.安装modelscope

建议下载Anaconda来管理包,使用conda,直接用base环境执行 pip install modelscope 可能会报包错误。

bash 复制代码
conda create -n virtual1 python=3.11
conda activate virtual1
pip install modelscope

这里的python版本,要和上面下载mindie镜像中命令的版本一致。

2.下载权重文件

之后按照红框中的命令下载权重文件。

这里建议使用modelscope指定目录来下载,因为modelscope默认下载到C盘目录下。

bash 复制代码
modelscope download --model rubick321/qwen3-32b-w8a8-mindie-300I --cache_dir "D:\docker_image"

五.下载openai_web

1.下载地址

下载地址:https://docs.openwebui.com/getting-started/quick-start/

因为博主是用windows下载的镜像,然后再导入的,所以这里选择Diocker、WSL

按照下面的步骤拉取镜像。

将拉取好的镜像打包成open_webui.tar。

六.加载镜像

将mindie1.tar和open_webui.tar包拷贝至带安装服务器上。

bash 复制代码
// 加载大模型镜像
docker load -i mindie1.tar
//加载openai镜像
docker load -i open_webui.tar

加载完毕后,可以使用docker images 命令来检查是否加载成功。

七.创建并启动容器

1.启动大模型的容器

bash 复制代码
#!/usr/bin/sh 
docker run -it -d --shm-size 200g --net=host --name qwen3-32b-1 --privileged  --device=/dev/davinci_manager --device=/dev/hisi_hdc --device=/dev/devmm_svm  --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     -v /usr/local/sbin:/usr/local/sbin     -v /opt/tools/qwen3-32b-w8a8-mindie-300I/rubick321/:/opt/tools/qwen3-32b-w8a8-mindie-300I/rubick321  02efebd6ce64 /bin/bash

将以上内容复制进model_start.txt,然后通过sh model_start.txt来创建并启动qwen3-32b-1容器。

这里注意,尽量不要使用换行符,如果使用,可能会报格式错误。

02efebd6ce64是大模型对应的image id,根据实际情况修改。

2.启动open_webui的容器

bash 复制代码
#!/usr/bin/sh
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open_webui fa72924fe8da

将以上内容复制进open_webui_start.txt,然后通过sh model_start.txt来创建并启动open_webui容器。

这里注意,尽量不要使用换行符,如果使用,可能会报格式错误。

fa72924fe8da是open_webui对应的image id,根据实际情况修改。

八.修改配置文件

1.查看正在运行的容器

bash 复制代码
docker ps -a

2.进入容器内部

bash 复制代码
docker exec -it 9889d616d775 /bin/bash 

9889d616d775 是容器的id

3.修改conf.json文件

bash 复制代码
cd /usr/local/Ascend/mindie/latest/mindie-service/conf
vim conf.json

博主修改的内容为红框中的参数。

  • ipAddress:部署大模型的ip地址。
  • httpsEnabled:关闭HTTPS通信。
  • npuDeviceIds:[[0,1,2,3...]] NPU编号,一般是从0号开始,按顺序使用。
  • worldSize:使用NPU卡的数量。
  • maxSeqLen:输入和输出的最大总长度,需大于等于maxInputTokenLen和maxIterTimes的和。
  • maxInputTokenLen:输入部分的最大token数量,必须小于maxSeqLen,如果输入被截断,可能需要增加这个参数的值。
  • maxIterTimes:最大迭代次数,即输出的最大token数,必须小于maxSeqLen。
  • modelName:模型名称,自定义。调用模型时即使用此名称。
  • modelWeightPath:容器内模型映射路径,与docker run设置保持一致
  • maxPrefillBatchSize:预填充阶段一个batch中的请求个数上限,范围在[1,maxBatchSize]之间,建议设置为maxBatchSize的一半。
  • maxPrefillTokens:预填充阶段一个batch中包含的Input token总数的上限,设置为与maxInput-TokenLen相同。
  • maxBatchSize:解码阶段的最大batch size,影响并发能力,取值范围[1,5000]。

九.启动大模型

bash 复制代码
cd /usr/local/Ascend/mindie/latest/mindie-service/bin
./mindieservice_daemon

验证大模型是否能正常使用,这里推荐使用postman进行测试。

完整请求体如下:

powershell 复制代码
{
    "messages": [
        {
            "role": "system",
            "content": "you are a helpful assistant."
        },
        {
            "role": "user",
            "content": "帮我写一篇日记"
        }
    ],
    "max_tokens": 256,
    "stream": false,
    "do_sample": true,
    "temperature": 0.6,
    "top_p": 0.95,
    "top_k": 20,
    "model": "qwen3_32b_light"

观察输出内容,相信你能看出来是否成功。

十.启动open_webui

1.验证open_webui是否安装成功

打开http://<ip地址>:3000,如果能打开,即安装成功。

(eg:http://192.168.1.155:3000

2.添加大模型接口

点击头像->管理员面板->设置->外部连接。OpenAI接口中默认接口全部禁用,并添加大模型暴露的接口地址。

(eg:http://192.168.1.155:1025/v1)

3.禁用相关接口

将Ollama接口连接,全部禁用。

4.选择模型

主页面->选择模型->选择已部署的模型(这里的名字是八.3中modelName,eg:qwen3_32b_light)

参考:
https://blog.csdn.net/mizhiakk/article/details/147305068
https://blog.csdn.net/qq_32793161/article/details/151833692?sharetype=blog&shareId=151833692&sharerefer=APP&sharesource=qq_39671159&sharefrom=qq

相关推荐
铁蛋AI编程实战2 小时前
Agentic AI/GPT-4o替代/Spring AI 2.0/国产大模型轻量化
java·人工智能·spring
Mr. zhihao2 小时前
从 Word2Vec 到 Transformer:Attention 是如何被“逼出来的”?
人工智能·transformer·word2vec
hit56实验室2 小时前
【易经系列】《屯卦》九五:屯其膏,小贞吉,大贞凶
人工智能
沃达德软件2 小时前
人脸模糊图像清晰化技术
人工智能·深度学习·神经网络·机器学习·计算机视觉
witAI2 小时前
**AI漫剧一键生成2025指南,解锁零门槛动画创作新体验*
人工智能·python
ktoking2 小时前
Stock Agent AI 模型的选股器实现 [七]
人工智能·python·django
微露清风2 小时前
系统性学习Linux-第三讲-进程概念
linux·运维·学习
请你喝好果汁6412 小时前
Linux-sh -c \dirname
linux·运维·服务器
Trouvaille ~2 小时前
【Linux】线程同步与互斥(四):线程池与任务管理
linux·运维·服务器·c++·操作系统·线程池·日志系统