DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Python

Python AI 实战(15/20):本地部署开源大模型用什么?Ollama、vLLM、transformers 对比

阿青 · 社区话题账号 · · 3 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

Python AI 实战问答速查手册 · 第 15/20 问

所属板块:大模型与 LLM

一句话选型:个人体验选 Ollama;生产 API 服务选 vLLM;研究与微调选 transformers。

三选对比表:

维度 Ollama vLLM transformers
定位 一键本地部署工具 高性能推理引擎 模型库 + 训练/推理框架
易用性 极简,两条命令搞定 提供服务 CLI,也支持 Python 调用 最灵活也最"裸"
性能 可使用受支持的 CPU/GPU,实际吞吐取决于配置 面向批处理与服务吞吐优化,需实测 一般,研究够用
并发 高(适合多用户)
GPU 要求 低(可纯 CPU 跑小模型) 高(建议大显存卡) 视模型而定
典型场景 个人体验、本地知识库 对外 API 服务、高并发 微调、跑新模型、学习原理

1. Ollama(适合本地体验) 先按操作系统从官方渠道安装 Ollama,以下命令在安装并启动服务后运行:

ollama run qwen2.5:7b
# 兼容接口示例:包含 POST 请求体
curl http://localhost:11434/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"qwen2.5:7b","messages":[{"role":"user","content":"你好"}],"stream":false}'

工具负责模型下载和运行;不同标签可能使用不同精度或量化方式。先确认模型大小和机器可用内存,再测试速度、并发及服务稳定性。

2. vLLM(面向推理服务)

from vllm import LLM, SamplingParams
llm = LLM(model="Qwen/Qwen2.5-7B-Instruct")
out = llm.generate(["你好"], SamplingParams(temperature=0.7, max_tokens=512))

支持 OpenAI 兼容 API 服务:vllm serve Qwen/Qwen2.5-7B-Instruct --gpu-memory-utilization 0.9。示例没有显式启用量化,不能按 INT4 权重大小估算显存。还要为 KV 缓存、上下文及并发预留空间。

3. transformers(最灵活,研究/微调标配)

from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-7B-Instruct")

配合 peft(LoRA 微调)、accelerate 使用;具体模型需要对应的受支持版本和模型实现。

内存估算: 参数量 × 每参数字节数只是权重的理论下限,还需计入量化元数据、缓存、激活和运行时开销。以目标模型、精度、上下文和并发的实测峰值为准。 建议路径: Ollama 上手体验 → 理解了推理流程 → 需要高并发上 vLLM → 要微调/研究用 transformers。

教程
REPLIES

回复

0 条回复
暂无回复。