← 返回

本地运行开源模型

不想依赖 API?可以在自己的电脑上运行开源模型。数据隐私、无网络依赖、成本可控。

为什么本地部署?

硬件要求参考

配置 显存/内存 可运行模型 场景
Mac M1/M2/M3 16GB+ Qwen-7B, Llama-3-8B 个人开发
Mac M2/M3 Max 32GB+ Qwen-14B, Llama-3-70B (量化) 重度使用
RTX 3060 12GB Llama-3-8B, Mistral-7B 入门玩家
RTX 3090/4090 24GB Llama-3-70B, Qwen-72B (4bit) 发烧友
2× RTX 3090 48GB Qwen-72B (8bit) 小团队
CPU + 大内存 64GB+ 小模型(速度慢) 实验性

推荐工具

1. Ollama - 最简单

# 安装
curl -fsSL https://ollama.com/install.sh | sh

# 运行模型
ollama run llama3
ollama run qwen2.5
ollama run codellama

# 聊天模式
ollama run llama3 "你好"

# API 服务(默认 localhost:11434)
curl http://localhost:11434/api/generate -d "{
  \"model\": \"llama3\",
  \"prompt\": \"你好\"
}"

2. llama.cpp - 最灵活

# 安装
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make

# 下载模型
# 从 Hugging Face 下载 GGUF 格式模型
wget https://huggingface.co/.../qwen2.5-7b-q4_k_m.gguf

# 运行
./main -m qwen2.5-7b-q4_k_m.gguf \
       -p "你好,世界" \
       -n 400 \
       --temp 0.7

3. LM Studio - GUI 图形界面

4. vLLM - 生产级服务

pip install vllm

# 启动服务
vllm serve meta-llama/Llama-3-8B \
    --host 0.0.0.0 \
    --port 8000

# 调用(兼容 OpenAI)
curl http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d "{
      \"model\": \"meta-llama/Llama-3-8B\",
      \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]
    }"

5. text-generation-webui - 最功能全

git clone https://github.com/oobabooga/text-generation-webui
cd text-generation-webui
bash start_linux.sh

模型格式与量化

常用格式

格式 特点 工具
Safetensors 安全,标准 Hugging Face
GGUF 量化,CPU 优化 llama.cpp
GPTQ GPU 量化 AutoGPTQ
AWQ 激活权重量化 AutoAWQ

量化等级

一般推荐 Q4_K_M 或 Q5_K_M,平衡质量和大小。

模型下载

Hugging Face

pip install huggingface_hub

# 下载模型
huggingface-cli download \
    Qwen/Qwen2.5-7B-Instruct \
    --local-dir ./models/qwen2.5-7b

ModelScope(阿里,国内快)

pip install modelscope

import modelscope
modelscope.snapshot_download(
    "Qwen/Qwen2.5-7B-Instruct",
    cache_dir="./models"
)

MagicModel (镜像站)

性能优化

1. 量化

2. Flash Attention

3. 批处理

4.投机采样

常见问题

Q: 显存不够怎么办?

Q: 速度太慢?

Q: 如何选择模型?

学习资源