ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

AI大模型-vLLM实现本地部署大模型

AI大模型-vLLM实现本地部署大模型 大家好我是木木自从2022年11月30日OpenAI发布ChatGPT后大模型迅速火热起来人工智能作为当下最火的行业之一。现在大模型基本上已经进入日常工作场景大模型部署是最基础的AI底座接下来我们一起使用vLLM部署大模型。环境与工具准备Linux操作系统 vLLMvLLM原生支持在linux系统下部署Windows和mac部署需要使用其他的插件辅助,并且有太多的坑。详细的部署环境文档可以参考vLLM官网Installation - vLLMvLLM适配主流的大模型并且开箱即用大幅度降低大模型部署门槛和时间成本专注于优化大模型推理的吞吐量、时延等指标在企业级的场景被广泛使用。部署前的准备下载大模型到本地1、查找模型打开modelscope的官网:链接首页 · 魔搭社区搜索需要的模型。下载模型大小根据自己的GPU情况选择需要注意多模态比纯文本更加的吃GPU。博客主给出几个常用的模型链接供大家选择DeepSeek-R1-Distill-Qwen模型是基于DeepSeek-R1进行知识蒸馏后得到的模型。纯文本DeepSeek-R1-Distill-Qwen-1.5BDeepSeek-R1-Distill-Qwen-1.5B · 模型库DeepSeek-R1-Distill-Qwen-7BDeepSeek-R1-Distill-Qwen-7B · 模型库DeepSeek-R1-Distill-Qwen-14BDeepSeek-R1-Distill-Qwen-14B · 模型库DeepSeek-R1-Distill-Qwen-32BDeepSeek-R1-Distill-Qwen-32B · 模型库多模态Qwen3.5-4B千问3.5-4B · 模型库2、下载模型文件到本地选择下载模型模型有几种下载模式本次使用“命令行下载”方式打开电脑的存放位置输入“cmd”弹出命令框——输入命令注意如果没有安装modelscope包就会如下图一样报错3、安装modelscope包pip install modelscope4、下载模型库modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B等待模型下载完成。5、默认模型下载位置C:\Users\电脑用户名\.cache\modelscope\models\deepseek-ai\deepseek-ai--DeepSeek-R1-Distill-Qwen-1.5B安装vLLM框架1、安装uvcurl -LsSf https://astral.sh/uv/install.sh | sh重新刷新环境变量或者重启系统。2、安装虚拟环境创建一个文件夹用于管理当前vllm包的虚拟环境博客主在此位置创建了一个文件夹。进入到big_model目录中执行下面的命令# 创建虚拟环境 uv venv --python 3.12 --seed --managed-python source .venv/bin/activate # 激活虚拟环境3、安装PyTorchPyTorch官网Get Started根据自己电脑的情况选择对应的版本信息。如果是多模态需要手动在安装命令添加torchaudiopip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126验证如果输出的是cu和True说明是GPU版本如果是CPU会出现CPU字符和Falsetorch为CPU版本。python -c import torch; print(torch.__version__); print(torch.cuda.is_available())4、安装vLLM安装pytorch是为了避免vllm直接拉取的版本不是GPU而是cpu导致vllm无法运行出现其他的报错。# 安装vllm pip install vllm安装vllm包下载一直出错报错或者太慢的话网上可以找找国内源的地址。可以尝试pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple完成安装如图。5、验证安装pip show vllm6、验证vllm是否使用python -c import vllm; print(vllm.__version__)上传模型到服务器博客主用的是windows的WSL2虚拟出来的ubuntu系统2个系统的文件是共享所以不需要上传。你们如果是用的真实ubuntu或者虚拟机虚拟出来的都需要自己上传模型文件到服务器因为他们文件系统是独立的。部署模型并验证一般企业中都会有自己的启动脚本脚本中会定义启动前的环境检查nvidia驱动、GPU、模型是否存在等信息、资源的优化等内容。本次测试使用vllm一键部署。1、确认模型是否上传到服务器2、模型部署启动进入到虚拟环境目录激活cd big_model/ source .venv/bin/activate遇到启动报错可以看下面常见问题vllm serve /mnt/c/Users/Admin/.cache/modelscope/models/Qwen--Qwen3.5-2B/snapshots/master --host 0.0.0.0 --port 8000 --gpu-memory-utilization 0.8 --served-model-name Qwen3.5-2B 解析 vllm serve vllm启动命令启用一个OpenAI API风格的推理服务。 /mnt/c/Users/Admin/.cache/modelscope/models/Qwen--Qwen3.5-2B/snapshots/master 本地存储的模型路径 host 0.0.0.0 服务器IP port 8000 服务器的监听端口 gpu-memory-utilization 0.8 设置GPU最的使用率避免GPU占满导致服务崩溃 served-model-name Qwen3.5-2B 对外暴露的模型名称下图为启动成功的图片3、模型验证新开一个Linux窗口发送一个次HTTP请求对话curl http://localhost:8000/v1/chat/completions \ -H Content-Type: application/json \ -d { model: Qwen3.5-2B, messages: [{role: user, content: hello}] } # 8000启动时名称设置的端口 curl http://localhost:8000/v1/chat/completions # 模型名称启动时名称设置的模型名称 model: Qwen3.5-2B, # role:角色content咨询AI的问题 messages: [{role: user, content: hello}]常见问题1、下载模型库出现TypeError: type object is not subscriptable答一般是python版本过低建议使用3.10或者3.11版本1.1 建议安装uv包它可以对包进行安装、虚拟环境等进行管理。1.2 安装虚拟环境并进入到虚拟环境位置激活uv venv --python 3.12 --seed --managed-python.venv\Scripts\activate # 激活虚拟环境环境重新执行安装modelscope包 和 下载模型库操作2、运行vllm报RuntimeError: Detected that PyTorch and TorchAudio were compiled with different CUDA versions. PyTorch has CUDA version 13.0 whereas TorchAudio has CUDA version 12.6. Please install the TorchAudio version that matches your PyTorch version.PyTorch是cu13.0但是torchaudio是cu12.6CUDA 版本不匹配torchaudio加载失败直接导致 vllm 启动崩溃解决方案pip uninstall torchaudio -y pip install torchaudio --index-url https://download.pytorch.org/whl/cu1303、运行vllm报 RuntimeError: UVA is not available 和 RuntimeError: Engine core initialization failed. See root cause above. Failed core proc(s): {}原因WSL2的CUDA环境不支持UVA,尝试几种方式都不行只能降级处理如果是原生linux系统不会有此问题。解决方案pip uninstall vllm -y pip install vllm0.28.0如果提示没有0。28版本看下图提示有哪些版本安装离29最近的版本4、运行VLLM报RuntimeError: Could not find nvcc and default cuda_home/usr/local/cuda doesnt exist原因gpu运行成功没有完整CUDA ToolkitCUDA编辑器包含nvcc无法做GPU并行运算Pytorch、vllm这些框架底层都依赖它。解决方案更换启动命令即可VLLM_USE_FLASHINFER_SAMPLER0 vllm serve /mnt/c/Users/Admin/.cache/modelscope/models/Qwen--Qwen3.5-2B/snapshots/master --host 0.0.0.0 --port 8000 --gpu-memory-utilization 0.8 --served-model-name Qwen3.5-2B --trust-remote-code
返回列表