本地大模型部署

下面按主流框架+完整可复现教程+选型建议,给你一份本地部署大模型的全流程详解,覆盖个人/开发/生产全场景。


一、框架总览与选型(2026最新)

先看核心框架对比,按场景直接选:

框架 定位 硬件要求 优势 适合人群
Ollama 一键式、全平台 4GB+显存/CPU 零配置、自动API、模型库丰富 个人、快速原型、API集成
llama.cpp 极致轻量、C++推理 CPU/低配GPU 纯CPU流畅、GGUF量化、速度快 低配设备、嵌入式、边缘端
vLLM 高吞吐、GPU优化 NVIDIA GPU PagedAttention、高并发、快10–20倍 生产、高QPS、多GPU
TGI Hugging Face官方服务 多GPU 工程化、健康检查、容器友好 企业级、Hugging Face生态
LM Studio GUI可视化 6GB+显存 零命令行、对话界面、模型市场 普通用户、Mac、非技术
Open WebUI Web界面、多后端 任意 多用户、会话、插件、私有化 团队、私有化Web服务

二、Ollama 极速部署(最推荐,10分钟)

1. 安装(全平台)

# macOS / Linux 一键安装
curl -fsSL https://ollama.com/install.sh | sh

# Windows
# 1. 官网下载 OllamaSetup.exe:https://ollama.com/download
# 2. 安装时勾选「Add to PATH」
# 3. 重启终端,验证:ollama --version

2. 模型下载(中文首选:Qwen 2.5 7B)

# 下载7B中文模型(INT4量化,4GB显存可跑)
ollama pull qwen2.5:7b

# 其他常用模型
ollama pull llama3.1:8b    # 国际通用
ollama pull deepseek-r1:7b  # 代码/推理

3. 运行与交互

# 命令行对话
ollama run qwen2.5:7b

# API调用(自动开启,端口11434)
curl http://localhost:11434/api/chat -d '{
  "model": "qwen2.5:7b",
  "messages": [{"role": "user", "content": "你好"}]
}'

4. 模型管理

ollama list       # 查看本地模型
ollama rm qwen2.5:7b  # 删除模型
ollama create mymodel -f Modelfile  # 自定义模型

三、llama.cpp 轻量化部署(纯CPU/低配GPU)

1. 编译(支持CUDA/Apple Silicon)

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp

# CPU编译(通用)
make

# NVIDIA GPU加速(推荐)
make LLAMA_CUBLAS=1

# Apple Silicon(M系列)
make LLAMA_METAL=1

2. 模型转换与量化(关键)

# 1. 下载Hugging Face模型(如Qwen 2.5 7B)
git clone https://huggingface.co/Qwen/Qwen2.5-7B-Instruct

# 2. 转换为GGUF格式(llama.cpp专用)
python convert_hf_to_gguf.py Qwen2.5-7B-Instruct --outfile qwen2.5-7b.fp16.gguf

# 3. 量化为INT4(显存降75%,速度最快)
./llama-quantize qwen2.5-7b.fp16.gguf qwen2.5-7b.q4_k_m.gguf q4_k_m

3. 运行推理

# 命令行交互
./main -m qwen2.5-7b.q4_k_m.gguf -p "你好" -n 512

# 启动API服务(端口8080)
./server -m qwen2.5-7b.q4_k_m.gguf -c 2048

四、vLLM 高性能部署(生产级,NVIDIA GPU)

1. 环境准备

# 创建虚拟环境
conda create -n vllm python=3.12
conda activate vllm

# 安装vLLM(CUDA 11.8/12.1)
pip install vllm

2. 启动推理服务(OpenAI兼容API)

# 单GPU启动Qwen 2.5 7B(INT4量化)
python -m vllm.entrypoints.api_server \
  --model Qwen/Qwen2.5-7B-Instruct \
  --quantization gptq \
  --tensor-parallel-size 1 \
  --port 8000

# 多GPU(2卡)
python -m vllm.entrypoints.api_server \
  --model Qwen/Qwen2.5-7B-Instruct \
  --tensor-parallel-size 2 \
  --port 8000

3. API调用

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen2.5-7B-Instruct",
    "messages": [{"role": "user", "content": "你好"}]
  }'

五、TGI 企业级部署(Hugging Face官方)

1. Docker部署(推荐)

# 拉取TGI镜像
docker pull ghcr.io/huggingface/text-generation-inference:latest

# 启动服务(挂载本地模型)
docker run --gpus all \
  -p 8080:80 \
  -v /path/to/Qwen2.5-7B-Instruct:/model \
  ghcr.io/huggingface/text-generation-inference:latest \
  --model-id /model \
  --quantize bitsandbytes-nf4

2. 验证服务

curl http://localhost:8080/health

六、Open WebUI 可视化部署(团队/私有化)

1. 安装(Docker)

docker run -d -p 3000:3000 \
  -e OPENAI_API_BASE=http://host.docker.internal:11434/v1 \
  -e OPENAI_API_KEY=ollama \
  ghcr.io/open-webui/open-webui:main

2. 访问

打开浏览器:http://localhost:3000

  • 连接Ollama/vLLM/TGI后端
  • 多用户、会话管理、插件扩展

七、关键优化技巧(必看)

  1. 量化(核心)
    • 个人:INT4(q4_k_m),显存降75%,速度最快
    • 生产:INT8/FP8,精度损失小,吞吐高
  2. 模型选择
    • 中文:Qwen 2.5、DeepSeek、GLM-4
    • 代码:DeepSeek-Coder、Llama 3.1 Code
  3. 硬件加速
    • NVIDIA:vLLM、TensorRT-LLM
    • Apple Silicon:llama.cpp(METAL)、MLX
    • CPU:llama.cpp、Ollama CPU模式
  4. 服务优化
    • 高并发:vLLM/TGI
    • 可视化:Open WebUI
    • 容器化:Docker + Kubernetes

八、框架选型决策树

  1. 个人/快速原型 → Ollama
  2. 纯CPU/低配GPU → llama.cpp
  3. NVIDIA GPU/高并发 → vLLM
  4. 企业级/Hugging Face生态 → TGI
  5. 非技术/可视化 → LM Studio
  6. 团队/私有化Web → Open WebUI

posted @ 2026-03-31 10:17  蓝迷梦  阅读(268)  评论(0)    收藏  举报