Docker部署Qwen2.5-7B-Instruct实战:从镜像拉取到对话测试,步步详解
Docker部署Qwen2.5-7B-Instruct实战从镜像拉取到对话测试步步详解1. 准备工作与环境配置1.1 硬件与系统要求在开始部署Qwen2.5-7B-Instruct之前请确保您的系统满足以下最低要求操作系统推荐使用CentOS 7或Ubuntu 18.04及以上版本GPU至少需要NVIDIA Tesla V100 32GB显存CUDA版本12.2与驱动版本匹配内存建议42GB以上存储空间至少50GB可用空间用于模型存储1.2 Docker环境安装如果您的系统尚未安装Docker可以按照以下步骤进行安装# 更新系统 sudo yum update -y # 安装必要依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 设置Docker仓库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装Docker sudo yum install -y docker-ce docker-ce-cli containerd.io # 启动Docker服务 sudo systemctl start docker sudo systemctl enable docker # 验证安装 sudo docker run hello-world1.3 NVIDIA容器工具包安装为了支持GPU加速需要安装NVIDIA容器工具包# 添加NVIDIA Docker存储库 distribution$(. /etc/os-release; echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo # 安装NVIDIA Container Toolkit sudo yum install -y nvidia-docker2 # 重启Docker服务 sudo systemctl daemon-reload sudo systemctl restart docker2. 模型准备与部署2.1 下载Qwen2.5-7B-Instruct模型您可以从以下两个平台下载模型Hugging Facegit clone https://huggingface.co/Qwen/Qwen2.5-7B-InstructModelScopegit clone https://www.modelscope.cn/qwen/Qwen2.5-7B-Instruct.git下载完成后将模型放置在合适的位置例如/data/model/qwen2.5-7b-instruct2.2 拉取vLLM镜像使用以下命令拉取最新的vLLM镜像docker pull vllm/vllm-openai:latest如果遇到网络问题可以尝试配置Docker镜像加速源# 编辑/etc/docker/daemon.json { registry-mirrors: [ https://mirror.aliyuncs.com, https://docker.mirrors.ustc.edu.cn ] } # 重启Docker服务 sudo systemctl daemon-reload sudo systemctl restart docker3. 启动vLLM服务3.1 基本启动命令使用以下命令启动vLLM服务docker run --runtime nvidia --gpus all \ -p 9000:9000 \ --ipchost \ -v /data/model/qwen2.5-7b-instruct:/qwen2.5-7b-instruct \ -it --rm \ vllm/vllm-openai:latest \ --model /qwen2.5-7b-instruct --dtype float16 --max-parallel-loading-workers 1 \ --max-model-len 10240 --enforce-eager --host 0.0.0.0 --port 90003.2 参数说明--runtime nvidia启用NVIDIA GPU支持--gpus all使用所有可用GPU-p 9000:9000将容器端口映射到主机端口--ipchost共享主机的IPC命名空间-v /data/model/qwen2.5-7b-instruct:/qwen2.5-7b-instruct挂载模型目录--model /qwen2.5-7b-instruct指定模型路径--dtype float16使用半精度浮点数--max-model-len 10240设置最大模型长度3.3 远程下载模型启动方式如果尚未下载模型可以使用以下命令直接从Hugging Face拉取docker run --runtime nvidia --gpus all \ -p 9000:9000 \ --ipchost \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env HUGGING_FACE_HUB_TOKENyour_token \ -it --rm \ vllm/vllm-openai:latest \ --model Qwen/Qwen2.5-7B-Instruct --dtype float16 --max-parallel-loading-workers 1 \ --max-model-len 10240 --enforce-eager --host 0.0.0.0 --port 90004. 测试与使用4.1 使用Python客户端测试以下是一个简单的Python客户端测试代码from openai import OpenAI # 配置API参数 openai_api_key EMPTY openai_api_base http://localhost:9000/v1 model_name /qwen2.5-7b-instruct # 创建客户端 client OpenAI(api_keyopenai_api_key, base_urlopenai_api_base) # 创建聊天请求 response client.chat.completions.create( modelmodel_name, messages[ {role: system, content: You are a helpful assistant.}, {role: user, content: 广州有什么特色景点?} ], temperature0.7, max_tokens1024 ) # 打印响应 print(response.choices[0].message.content)4.2 使用cURL测试您也可以直接使用cURL进行测试curl http://localhost:9000/v1/chat/completions \ -H Content-Type: application/json \ -d { model: /qwen2.5-7b-instruct, messages: [ { role: system, content: You are a helpful assistant. }, { role: user, content: 广州有什么特色景点? } ] }4.3 使用Chainlit前端界面如果您希望使用更友好的Web界面可以使用Chainlit确保vLLM服务已启动安装Chainlitpip install chainlit创建一个简单的Python脚本import chainlit as cl from openai import OpenAI client OpenAI(base_urlhttp://localhost:9000/v1, api_keyEMPTY) cl.on_message async def main(message: cl.Message): response client.chat.completions.create( model/qwen2.5-7b-instruct, messages[{role: user, content: message.content}], temperature0.7, ) await cl.Message(contentresponse.choices[0].message.content).send()启动Chainlit服务chainlit run your_script.py5. 常见问题解决5.1 Docker GPU支持问题如果遇到错误docker: Error response from daemon: could not select device driver with capabilities: [[gpu]]请确保已正确安装NVIDIA驱动已安装NVIDIA Container ToolkitDocker已正确配置5.2 模型加载缓慢模型首次加载可能需要较长时间约5-10分钟请耐心等待。您可以通过查看Docker日志来监控加载进度docker logs container_id5.3 显存不足问题如果遇到显存不足的问题可以尝试减少--max-model-len参数值降低--gpu-memory-utilization参数值默认0.9增加--swap-space参数值默认4GB6. 总结与建议通过本教程您已经成功部署了Qwen2.5-7B-Instruct模型并使用vLLM进行了加速。以下是一些优化建议性能优化根据您的硬件调整--max-model-len和--gpu-memory-utilization参数考虑使用--quantization参数进行量化以减少显存占用安全建议不要将服务端口9000直接暴露在公网考虑添加--api-key参数进行身份验证扩展应用可以结合LangChain等框架构建更复杂的应用考虑使用Kubernetes进行容器编排以实现高可用部署Qwen2.5-7B-Instruct作为一款强大的开源大语言模型在知识问答、文本生成、代码编写等场景都有出色表现。通过Docker和vLLM的结合您可以轻松地在本地或云端部署这一先进模型。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2433678.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!