厦门无忧网站建设有限公司,wordpress 文章的各种调用,网站建设公司-跨界鱼科技,海外网站建设公司在此之前#xff0c;我们已成功利用Docker与Ollama框架#xff0c;在内网环境中部署了Qwen2模型。下面我们再来看一下使用Docker与vLLM框架部署Qwen2模型。
准备vLLM镜像
在一台具备网络环境的机器上执行以下命令#xff0c;拉取vLLM的镜像#xff1a;
# 官方镜像
docke…在此之前我们已成功利用Docker与Ollama框架在内网环境中部署了Qwen2模型。下面我们再来看一下使用Docker与vLLM框架部署Qwen2模型。
准备vLLM镜像
在一台具备网络环境的机器上执行以下命令拉取vLLM的镜像
# 官方镜像
docker pull vllm/vllm-openai:latest# 如果因为墙的原因以上命令拉取不到可以去看看下面这些仓库
Docker仓库https://docker.1panel.live ✅网友自建
Docker仓库https://docker.agsv.top ✅网友自建
Docker仓库https://docker.agsvpt.work ✅网友自建
Docker仓库https://dockerpull.com ✅网友自建
Docker仓库https://dockerproxy.cn ✅网友自建
下载Qwen2-7B-Instruct模型
我这里下载的是Qwen2-7B-Instruct-GPTQ-Int4的模型。下载地址
https://huggingface.co/Qwen/Qwen2-7B-Instruct-GPTQ-Int4 编写Dockerfile
我们将Qwen2模型打包上传到服务器然后编写Dockerfile
# 基础镜像
FROM vllm/vllm-openai:latest# 暴露端口
EXPOSE 8000# 将模型上传到基础镜像
ADD Qwen2-7B-Instruct-GPTQ-Int4 /home/Qwen2-7B-Instruct-GPTQ-Int4# 容器启动要执行的命令注意这里一定要是python3
ENTRYPOINT [python3,-m,vllm.entrypoints.openai.api_server,--served-model-name,Qwen2-7B-Instruct-GPTQ,--model,/home/Qwen2-7B-Instruct-GPTQ-Int4]
构建镜像
执行docker build命令构建docker镜像
docker build -t vllm_qwen2_7b:1.0 -f Dockerfile .
启动容器
执行以下命令启动docker容器
docker run -itd --runtime nvidia --gpus all --name vllm_qwen2 --env HUGGING_FACE_HUB_TOKENsecret -p 8000:8000 vllm_qwen2_7b:1.0 --max-model-len 8129 经过启动、测试模型运行没问题。
然后我们就可以将镜像导出提供给内网环境使用了
# 镜像导出 docker save -o vllm_qwen2.tar vllm_qwen2_7b:1.0 # 镜像导入 docker load -i vllm_qwen2.tar
问题解决
问题1、No CUDA GPUs are available
解决方法
1检查是否正确安装了CUDA驱动执行nvidia-smi可查看。
2docker run命令中没有添加--runtime nvidia --gpus all。
问题2unknown or invalid runtime name: nvidia
解决方法
当Docker容器需要使用GPU时需要配置Docker的default-runtime为nvidia然后重启Docker。
{runtimes:{
nvidia:{
path:nvidia-container-runtime,
runtimeArgs:[]
}
},
default-runtime:nvidia
} 如果是Windows版Docker需要在Docker Desktop中点击右上角的Setting然后点击Docker Engine在这里设置完上述配置后点击restart。 问题3、Try increasing gpu_memory_utilization or decreasing max_model_len when initializing the engine.
解决方法
因为GPU内存限制而需要调整模型的最大序列长度。在docker run命令最后加--max-model-len限制。
--max-model-len 8129