微信扫码
添加专属顾问
我要投稿
探索vLLM如何优化大语言模型推理性能,对比vLLM与Ollama的不同优势。 核心内容: 1. vLLM的定义及其核心性能特点 2. vLLM与Ollama在量化与压缩策略、优化目标等方面的对比分析 3. DeepSeek-R1-Distill-Qwen-32B模型在两种框架下的性能对比
vLLM(Vectorized Large Language Model Serving System)是由加州大学伯克利分校团队开发的高性能、易扩展的大语言模型推理引擎。它专注于通过创新的内存管理和计算优化技术,实现高吞吐、低延迟、低成本的模型服务。
核心特点:
中文站点:https://vllm.hyper.ai/docs/
英文站点:https://docs.vllm.ai/en/latest/index.html
在LLM推理引擎的选择上,vLLM和Ollama是两个常见的选项。对比如下:
对比维度 | Ollama | vLLM | |
---|---|---|---|
量化与压缩策略 | |||
优化目标 | |||
显存管理机制 | |||
硬件适配 | |||
性能与资源平衡 | |||
适用场景 |
总结:Ollama更适合个人开发和轻量级应用,而vLLM则更适合企业级服务和高并发场景。
DeepSeek-R1-Distill-Qwen-32B模型在Ollama和vLLM框架下的显存占用、存储需求及性能对比
指标 | Ollama (4-bit) | vLLM (FP16) | 说明 |
---|---|---|---|
显存占用 | |||
存储空间 | |||
推理速度 | |||
硬件门槛 |
ModelScope是由阿里巴巴集团推出的开源模型即服务(MaaS)平台,旨在简化模型应用的过程,为AI开发者提供灵活、易用、低成本的一站式模型服务产品。
核心功能:
安装与使用:
下载DeepSeek模型
pip install modelscope -i https://pypi.tuna.tsinghua.edu.cn/simple
创建模型存放目录
mkdir -p /data/deepseek-ai/models/deepseek-70b
下载DeepSeek-R1-Distill-Llama-70B模型
modelscope download --local_dir /data/deepseek-ai/models/deepseek-70b --model deepseek-ai/DeepSeek-R1-Distill-Llama-70B
Docker 官方网站下载二进制包文件
wget https://download.docker.com/linux/static/stable/x86_64/docker-26.1.4.tgz
tar -zxvf docker-26.1.4.tgz
mv docker/* /usr/bin/
创建 Docker 组
groupadd docker
创建 Docker 用户,并将其添加到 Docker 组
useradd -s /sbin/nologin -M -g docker docker
创建并配置 docker.service
文件
打开或创建 docker.service
文件
vim /usr/lib/systemd/system/docker.service
添加以下内容:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
创建 Docker 配置目录:
mkdir -p /etc/docker
打开或创建 daemon.json
文件:
vim /etc/docker/daemon.json
添加以下内容:
{
"registry-mirrors": ["https://docker.rainbond.cc"]
}
启动 Docker 服务
systemctl start docker
设置 Docker 服务开机启动
systemctl enable docker
查看 Docker 版本
docker -v
更新软件包列表并安装NVIDIA容器工具包
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
配置NVIDIA容器运行时
sudo nvidia-ctk runtime configure --runtime=docker
重加载系统服务并重启Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
下载vllm/vllm-openai容器
docker pull vllm/vllm-openai
查看vllm/vllm-openai容器
docker images
docker run -itd --restart=always --name vllm_ds70 \
-v /data/deepseek-ai:/data \
-p 18005:8000 \
--gpus all \
--ipc=host \
vllm/vllm-openai:latest \
--dtype bfloat16 \
--served-model-name DeepSeek-R1-Distill-Llama-70B \
--model "/data/models/deepseek-70b" \
--gpu-memory-utilization 0.9 \
--tensor-parallel-size 8 \
--max-model-len 30000 \
--api-key token-abc123
参数解释:
--restart=always
-itd
命令选项组合,-i和-t、-d,保持容器在后台运行,同时允许用户通过Docker logs或attach命令查看输出。
--gpus all
--dtype bfloat16
--dtype {auto,half,float16,bfloat16,float,float32}
--tensor-parallel-size 8
--ipc=host
:配置容器的IPC(Inter-Process Communication)模式,允许容器与宿主机或其他容器共享共享内存,提升模型并行性能。
--served-model-name DeepSeek-R1-Distill-Llama-70B
:指定服务的模型名称,标识当前服务的模型,便于管理和路由
--model "/data/models/deepseek-70b"
指定模型文件的路径,告诉服务从哪里加载模型权重和配置文件,确保模型能够正确加载。
--gpu-memory-utilization 0.95
设置GPU内存使用率,限制模型使用的GPU内存占比,避免因内存不足导致服务崩溃。
--tensor-parallel-size 8
设置张量并行的大小,通过将模型分割到多个GPU上进行并行计算,提升模型推理的速度和效率。
--max-model-len 30000
设置模型的最大上下文长度,限制模型在一次推理中能处理的最大输入长度,避免因过长输入导致性能问题。
--api-key token-abc123
指定API密钥,用于身份验证和授权,确保只有有权限的用户才能访问服务。
docker logs -f b05b9c3646ec
docker exec -it b05b9c3646ec /bin/bash
curl http://192.168.1.34:18005/v1/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer token-abc123" \-d '{"model": "DeepSeek-R1-Distill-Llama-70B","prompt": "北京的著名景点有哪些","max_tokens": 1000,"temperature": 0.3}'
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-08-13
2024-06-13
2024-08-21
2024-09-23
2024-07-31
2024-05-28
2024-08-04
2024-04-26
2024-07-09
2024-09-17
2025-03-23
2025-03-22
2025-03-22
2025-03-22
2025-03-22
2025-03-22
2025-03-21
2025-03-21