【华为昇腾服务器使用docker部署大模型方案】
背景描述
市面上使用的高级大模型都有资费,或者涉及公司业务的话;就不太方便;所以这次有机会可以在本地基于服务器搭建大模型;搭建前具备基础的硬件知识,linux命令,docker等
服务器配置
使用的麒麟系统,华为昇腾910B,两块显卡,每块32G,用显卡跑大模型最好,5-6个SSD硬盘,总内存8-9T,运行内存250G;
- 安装显卡驱动 : 去华为昇腾官网根据型号,系统版本,下载驱动,CANN版本最好下最新的;我这边安装驱动时,安装了不下3-5次;因为在启动昇腾官网的大模型镜像时,需要使用设备的显卡,每次服务器重启后,卡在40%或者0%,查了很多资料,问过其他大模型,博客,客服;给的答案是CANN版本有可能低,反正最后也没用【昇腾官网镜像】只是借鉴了部分参数,如设备映射。
- docker:我用docker-compose部署(一开始只是用docker一步步搭建每个容器,后面全部建好后,再统一版本使用docker-compose,可以清晰管理容器的版本信息,关联信息)镜像如下:
【quay.io/ascend/vllm-ascend:v0.18.0-openeuler (运行大模型的镜像,大模型单独下载,NPU加载)】
【ollama/ollama:latest(因显卡不够,向量模型和排序模型直接在ollama里下载,用CPU加载)】
【qdrant/qdrant:latest (向量数据库)】
【ghcr.nju.edu.cn/open-webui/open-webui:main (大模型可视化平台,可管理访问大模型)】
3.大模型搭建思路:先把大模型下载出来,通过容器映射大模型的目录,显卡目录,再使用VLLM框架运行大模型,也就是镜像容器【quay.io/ascend/vllm-ascend:v0.18.0-openeuler】,如果不知道怎么下载大模型,可以先用官网镜像操作步骤,启动容器(启动时会自行拉取对应镜像的大模型)
4.docker重要命令解析:自启【restart】,设备映射【devices】,目录映射【volumes】,端口映射【ports】,容器互相共用的网络【networks】,容器运行环境【runtime】,容器内环境【environment】,运行命令【command】,操作命令中有几个命令参数要注意:【–safetensors-load-strategy eager】,【–enable-auto-tool-choice】,【–tool-call-parser hermes】,第一个参数可以让你的大模型成功加载不会卡主;第二,三个参数,可以让大模型可以正常会话,且允许调用其他工具,如:
大模型容器启动配置文件示例图
openwebui容器示例图:
openwebui界面配置示例图(可连接大模型,配置角色账号,提供接口秘钥访问):

大模型管理示例图(可以统一管理ollama的大模型及其他大模型)

管理账号API秘钥示例图:

常见问题
一、服务器启动后,容器没启动?
答:容器有延时启动,因会话大模型要使用显卡NPU加载,服务器启动后,大约20-60S;
二、docker启动了,大模型的容器启动失败,其他都成功启动?
答:需要给docker容器配置延时启动,因为大模型需要npu显卡启动,显卡在电脑开机时,还没加载完,就启动大模型,当然会失败;
三、大模型接口访问不了?
答:检查服务器IP地址是否变更?如果间接通过openwebui访问的会话模型,请查询openwebui的openapi的访问地址是否与服务器地址一致?API秘钥是否正确?
以上只是作者在本地搭建部署后,提供的一个方案,以及遇到问题的解决思路,没有描述详细的操作每一步,需要自己实际操作。
更多推荐


所有评论(0)