💻 本地 LLM 运行时问题
Ollama、LM Studio、llama.cpp、vLLM、MLX——模型加载、GPU、显存、量化、chat template、tool calling。
本地跑 LLM 的痛点和云端完全不同:模型下载到一半挂、GPU 探测不到、显存 OOM、量化版本掉智商、chat template 不匹配导致输出乱码、tool calling 模型不理你的 JSON schema。 这个 Hub 覆盖最常见的几个运行时:Ollama、LM Studio、llama.cpp、vLLM、MLX。每篇文章只解决一种症状——"我换了模型为什么变笨"、"为什么 GPU 一直没被用上"、"为什么 ollama list 看不到我刚 pull 的模型"。 不重复"怎么装 Ollama"那种入门内容;直接讲故障点 + 最短修法 + 验证清单。
常见问题
- Ollama 下载模型卡在某个百分比 中断后 ollama pull 续传;检查 proxy / DNS。
- Ollama 探测不到 GPU,全跑在 CPU 查 ollama serve 日志;CUDA / ROCm 驱动版本对齐。
- LM Studio 加载模型时显存 OOM 降量化精度 + 减 context size;调 n_gpu_layers。
- llama.cpp 换更激进量化后质量明显下降 回到 Q4_K_M / Q5_K_M baseline;用 perplexity 对比。
- vLLM 报 context length exceeded 调 --max-model-len;检查 chat template 是否额外计入。
- Ollama 启动报 port already in use lsof :11434;杀掉旧进程或换 OLLAMA_HOST。
- 本地模型输出在 token 中间被截断 调大 max_tokens;检查 stop sequence 是否撞上。
- Chat template 不匹配导致输出全是乱码 对照模型 README 选 template;不要复用错误模板。
- 本地 embedding 服务在 batch 请求下崩溃 降 batch size;前端加 backpressure。
- 本地 RAG 索引重建慢到无法忍受 改 incremental 索引;并行 embedding;持久化向量库。
- Ollama pull 成功但 list 看不到 确认 OLLAMA_MODELS 路径;HOST 与 list 是同一进程。
- llama.cpp 在网络盘上 mmap 失败 把权重复制到本地 SSD;或加 --no-mmap。
- 本地模型不遵守 tool calling 格式 改用支持 function-call 微调的模型;或自带 parser。
- 本地模型冷启动后首 token 极慢 预热请求;keep-alive;让 layer 留在显存。
- 多 GPU 没分配上,模型只跑在卡 0 --tensor-split 或 CUDA_VISIBLE_DEVICES;检查 runtime 支持。
- Modelfile 里的 SYSTEM prompt 被忽略 验证客户端是否覆盖;ollama show <model> 确认。
- vLLM 启动报 CUDA 版本不匹配 装与 driver 匹配的 wheel;或 docker 镜像锁版本。
- RoPE scaling 设错让长上下文输出乱掉 回到模型推荐的 scaling type / factor。
- Tokenizer 版本不一致导致 token 计数对不上 跟模型权重一同分发 tokenizer;不要从 HF cache 混用。
- MLX 转换 HuggingFace 模型失败 更新 mlx-lm;检查 config.json 字段;改用 GGUF 中转。