为什么在本地运行 LLM?

  • 隐私:数据永远不会离开你的机器。
  • 成本:设置后零 token 费用。
  • 速度:推理无网络延迟。
  • 离线:无需互联网连接即可工作。

安装 Ollama

  • 从 [ollama.com](https://ollama.com) 下载——支持 macOS、Linux 和 Windows。
  • 运行 `ollama pull llama3` 下载模型。
  • 运行 `ollama run llama3` 开始对话。

热门模型

  • Llama 3 8B:通用模型,8GB 内存可运行。
  • Llama 3 70B:更智能,需 48GB+ 内存。
  • Qwen 2.5:中文和多语言任务表现出色。
  • Mistral 7B:编程任务快速高效。
  • Phi-3 Mini:微软的小型但能力强的模型。

API 使用

Ollama 在 `http://localhost:11434` 提供本地 REST API。

  • 可通过覆盖 base URL 兼容 OpenAI SDK。

性能预期

  • M2 MacBook 上 7B 模型:约 30 tokens/秒。
  • RTX 4090 上 7B 模型:约 60 tokens/秒。

选择合适的本地模型

选择取决于硬件和用例。笔记本上编程推荐 Qwen2.5-Coder 7B 或 Llama 3.1 8B(4-bit 量化)。通用对话推荐 Mistral 7B v0.3 或 Gemma 2 9B。有 24GB+ 显存可试 Llama 3.1 70B Q4 量化,接近云端质量。

性能调优

  • 量化:Q4_K_M 性价比最高。Q5_K_M 略好但大 20%。除非万不得已不要用 Q2/Q3——质量急剧下降。
  • 上下文长度:默认通常 2048 或 4096 token。仅在需要时增加——更长上下文消耗更多内存。
  • GPU 卸载:用 --n-gpu-layers 把尽可能多的层卸载到 GPU。层数越多 = 速度越快。
  • 批大小:显存允许时增加 --batch-size 以加快提示处理。

常见坑

第一个错误是运行超出硬件能力的模型。16GB 内存跑 70B 模型会极慢(1–2 token/秒)。不如跑 7B 模型达到 30+ token/秒。第二个错误是忽略系统提示词——本地模型对它非常敏感。精心编写的系统提示词能让平庸的模型变成有用的助手。