为什么需要本地部署
本地部署大模型有三大优势:数据安全——数据不出本地,满足合规要求;成本可控——无API调用费用,适合高频使用场景;低延迟——无网络往返,响应更快。但同时也需要承担硬件成本和运维工作。
Ollama:最简单的一键部署
Ollama是最易用的本地大模型部署工具,支持macOS、Linux和Windows:
# 安装Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 拉取并运行模型
ollama run deepseek-r1:7b
ollama run qwen2.5:7b
ollama run llama3.1:8b
# API调用
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:7b",
"prompt": "解释什么是量子计算",
"stream": false
}'优点:安装简单、命令友好、自动管理模型文件、内置REST API。缺点:性能不如vLLM、不支持多GPU、并发能力有限。
llama.cpp:CPU推理之王
llama.cpp是纯C/C++实现的高性能推理引擎,支持CPU和GPU混合推理:
# 编译
make -j
# 运行模型(GGUF格式)
./llama-cli -m model.gguf -p "你好,请介绍一下自己" -n 512
# 服务器模式
./llama-server -m model.gguf --port 8080优点:CPU推理性能极佳、支持量化模型、内存占用低、跨平台。缺点:不支持张量并行、功能相对基础。
vLLM:生产级高性能推理
vLLM是目前性能最强的开源推理引擎,专为高吞吐量设计,支持PagedAttention和连续批处理:
# 安装
pip install vllm
# 启动API服务器
python -m vllm.entrypoints.openai.api_server \
--model deepseek-ai/deepseek-llm-7b-chat \
--tensor-parallel-size 2 \
--max-model-len 8192
# API调用
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1")
response = client.chat.completions.create(
model="deepseek-ai/deepseek-llm-7b-chat",
messages=[{"role": "user", "content": "你好"}]
)优点:吞吐量最高、支持多GPU张量并行、兼容OpenAI API、PagedAttention优化显存。缺点:配置相对复杂、需要GPU、启动较慢。
方案对比
| 维度 | Ollama | llama.cpp | vLLM |
|---|---|---|---|
| 易用性 | ★★★★★ | ★★★ | ★★★ |
| CPU推理 | ★★★ | ★★★★★ | ★ |
| GPU吞吐 | ★★★ | ★★★ | ★★★★★ |
| 多GPU | ★ | ★★ | ★★★★★ |
| 生产就绪 | ★★★ | ★★★★ | ★★★★★ |
选型建议
- 个人开发/学习:Ollama
- CPU服务器:llama.cpp
- GPU生产环境:vLLM
- 低资源设备:llama.cpp + GGUF量化模型