不租云也能跑模型:10 个开源仓库搭一套自己的 AI 实验室
Rodman 那条推文的说法是:想在本机跑大模型、微调、起 API、记实验,又不想把账单全交给云厂商,可以用这 10 个 GitHub 仓库拼出一套自己的实验室。
我把 10 个仓库逐个查了一遍(星数、语言、许可、最新版本、最近推送都取 2026-10-24 的 GitHub 数据),发现清单里没写分工:10 个仓库分在四层,彼此有重叠,也有先后顺序。
一、先分层:四层栈,别同时开 10 个
| 层 | 仓库 | 解决什么 |
|---|---|---|
| 本地跑模型 | Ollama、llama.cpp、MLX | 把权重跑起来,管量化、管显存、管 CPU/GPU/Mac |
| 高并发服务 | vLLM | 把模型变成能扛并发的 API |
| 微调 | Unsloth、Axolotl、LitGPT、LLaMA-Factory | 把通用模型改造成你要的那一个 |
| 实验管理 | MLflow、Ax | 记录每次训练,决定下一组参数试什么 |
四层里只有「本地跑模型」是必装的。其余三层按需上:不微调就跳过四个微调框架,不做并发服务就用 Ollama 自带接口。
二、本地跑模型:三条路,三种取舍
1. Ollama:两条命令换来一个能聊的模型
184,478 星,Go 写的,MIT 许可,最新版 v0.40.10(10 月 23 日)。
curl -fsSL https://ollama.com/install.sh | sh
ollama run gemma4
装完就有一个 REST 服务挂在 11434 端口,/api/chat 直接能用,Python 侧还有 pip install ollama 的客户端。
它适合第一次验证机器:显卡认不认、内存够不够、模型能不能出字,五分钟内就有答案。不适合的是多用户并发:ollama serve 走的是单机便利优先的路线,要吞吐得往下走。
2. llama.cpp:最底层的那一层,什么都能调
132,159 星,C++,MIT,最新版 v0.7.0(10 月 15 日)。
2026 年的 llama.cpp 已经不只是「源码编译」了:
curl -LsSf https://llama.app/install.sh | sh
llama cli -hf ggml-org/Qwen3.5-0.8B-GGUF
llama serve -hf ggml-org/Qwen3.5-0.8B-GGUF
llama cli 直接从 Hugging Face 拉 GGUF 并推理,llama serve 起 OpenAI 兼容接口。也可选 Docker、预编译二进制,或者按 docs/build.md 用 CMake 自己编。它建在 ggml 上,后端覆盖 CUDA、ROCm、CANN、BLAS 等一长串加速路径。
想在 CPU 上跑、想自己压到 4bit 甚至更低、想改算子,用这个。Ollama 的底层也是它,所以两条路可以平滑迁移。
3. MLX:苹果官方的数组框架,Linux 也能装 CUDA 后端
28,902 星,C++ 核心,MIT,最新版 v0.32.4(10 月 14 日)。
pip install mlx
pip install mlx[cuda]
Apple machine learning research 出的框架,为 Apple silicon 的统一内存设计,mlx 是纯 CPU/GPU 基础层(mlx[cpu] 也有)。README 里明确写了 Linux 上装 CUDA 后端的方式,所以它不再只是 Mac 专属。
Mac 上想吃满 Metal、又嫌 llama.cpp 的抽象层太厚,走这条。
三、高并发服务
4. vLLM:单机聊天用不上的吞吐机器
95,244 星,Python,Apache-2.0,最新版 v0.32.0(10 月 18 日)。
uv pip install vllm
vllm serve <模型名>
它快的原因写得很具体:PagedAttention 管 KV cache、continuous batching 拼请求、chunked prefill、prefix caching,加上一串专门的 kernel。量化支持列了 FP8、MXFP8/MXFP4、NVFP4、INT8、INT4、GPTQ/AWQ、GGUF 等。
接口方面除了 OpenAI 兼容,还带 Anthropic Messages API 和 gRPC;硬件从 NVIDIA/AMD/Intel GPU 到 x86/ARM/PowerPC CPU,另外有 TPU、Gaudi、Spyre、Ascend 等插件。
什么时候别用:只有你一个人用、或者机器是 Mac。它吃的是 GPU 吞吐,单机能聊天的场景用 Ollama 更省事。
四、微调:四个框架,选一个跑通再换
5. Unsloth:省显存的那条路,现在是个桌面应用
78,483 星,Python,Apache-2.0,最新版 v0.1.910-beta(10 月 23 日)。
curl -fsSL https://unsloth.ai/install.sh | sh
brew install --cask unsloth
它现在支持 Windows、Linux、WSL、macOS,多卡、NVIDIA/AMD/Intel GPU、CPU 和 Vulkan 后端都在列表里,Docker 镜像是 unsloth/unsloth。训练侧覆盖 LoRA、QLoRA、全参、预训练、RL、GRPO、DPO、FP8,模型侧一路跟到新发布的那批。
单卡、显存紧张、想最快看到 loss 下降,先用它。
6. Axolotl:把训练写进 YAML,换机器也能复现
12,627 星,Python,Apache-2.0,最新版 v0.21.0(10 月 16 日)。
uv pip install --no-build-isolation axolotl[deepspeed]
axolotl train examples/llama-3/lora-1b.yml
或者直接用官方镜像:docker run --gpus all --ipc=host -it axolotlai/axolotl:main-latest。
它的卖点是把数据、LoRA 参数、并行策略全放进一个 YAML,跑过的配置能原样交给别人复现。DDP、DeepSpeed、FSDP 都支持,最近还给 LoRA/QLoRA 做了显存与速度优化,并加了长序列训练(ALST)。
7. LitGPT:读得懂的实现,学原理用
13,726 星,Python,Apache-2.0,最新版 v0.5.13(6 月 29 日)。
pip install 'litgpt[extra]'
litgpt finetune microsoft/phi-2
litgpt chat out/custom-model/final
litgpt serve out/custom-model/final
20 多个模型,每个实现尽量放在单文件里,fp4/8/16/32 精度可选,官方说能撑 1 到 1000+ GPU/TPU。命令行三件套 finetune / chat / serve,微调、对话、部署一条线走完。
想搞明白训练循环里到底发生什么,或者要把某个模块拆出来改,用它比读大框架省力。
8. LLaMA-Factory:不想写代码就用它
75,696 星,Python,Apache-2.0,最新版 v0.9.5(5 月 30 日)。
git clone --depth 1 https://github.com/hiyouga/LlamaFactory.git
cd LlamaFactory
pip install -e .
llamafactory-cli webui
llamafactory-cli train examples/train_lora/qwen3_lora_sft.yaml
号称零代码支持 100 多个模型,网页界面叫 LlamaBoard,选模型、传数据、点开始,训练完还能 export 合并 LoRA、chat 直接试,全程一条 CLI 命令对应一个 YAML。
团队里有人不做工程,只想调数据、看效果,这层的价值就出来了。
五、实验管理:记下来,再决定下一组参数
9. MLflow:把每次训练钉在墙上
28,512 星,Python,Apache-2.0,最新版 v3.17.2(10 月 21 日)。
uvx mlflow server
服务起来后 UI 在 5000 端口,代码里 mlflow.set_tracking_uri("http://localhost:5000") 就能往里记。除了实验跟踪(参数、指标、产物),现在还有模型评估、trace、prompt registry、AI gateway 这一套 LLMOps 的东西。
不记实验的微调等于白跑:同一份数据改三个超参,回头就分不清哪次是哪个配置。
10. Ax:决定下一组参数试什么
2,829 星,Python,MIT,最新版 1.3.1(6 月 9 日)。
pip install ax-platform
Ax 是可做自适应实验的平台,探索策略支持贝叶斯优化和 bandit,贝叶斯部分由 BoTorch 驱动。翻成日常说法:你给它一组已经试过的参数和结果,它算下一组最值得试的。
它不做训练,也不部署模型,只解决「第 11 次实验该调哪个旋钮」。这是 10 个仓库里星最少的一个,也是唯一一个在这个环节能替代人工试错的东西。
六、10 个仓库的核对表
| 仓库 | 星数 | 语言 | 许可 | 最新版 | 最近推送 |
|---|---|---|---|---|---|
| ollama/ollama | 184,478 | Go | MIT | v0.40.10 | 2026-10-23 |
| ggml-org/llama.cpp | 132,159 | C++ | MIT | v0.7.0 | 2026-10-23 |
| vllm-project/vllm | 95,244 | Python | Apache-2.0 | v0.32.0 | 2026-10-23 |
| unslothai/unsloth | 78,483 | Python | Apache-2.0 | v0.1.910-beta | 2026-10-23 |
| hiyouga/LLaMA-Factory | 75,696 | Python | Apache-2.0 | v0.9.5 | 2026-10-21 |
| ml-explore/mlx | 28,902 | C++ | MIT | v0.32.4 | 2026-10-23 |
| mlflow/mlflow | 28,512 | Python | Apache-2.0 | v3.17.2 | 2026-10-23 |
| Lightning-AI/litgpt | 13,726 | Python | Apache-2.0 | v0.5.13 | 2026-10-13 |
| axolotl-ai-cloud/axolotl | 12,627 | Python | Apache-2.0 | v0.21.0 | 2026-10-23 |
| facebook/Ax | 2,829 | Python | MIT | 1.3.1 | 2026-10-22 |
十个仓库合计约 65.3 万星。4 个 MIT、6 个 Apache-2.0。
七、硬件对得上吗
下面这张表按「权重 + KV cache + 优化器状态」粗算,给的是能不能跑起来的经验区间。实际情况取决于量化方式、上下文长度和 batch 大小,模型参数量永远是第一变量。
| 手上有什么 | 能跑什么 | 用哪几个 |
|---|---|---|
| 只有 CPU,内存 32GB | 量化到 4 | llama.cpp、Ollama |
| 单卡 16GB 显存 | 8B 级模型对话;7B 级 QLoRA 微调 | Ollama、llama.cpp、Unsloth |
| 单卡 24GB 及以上 | 14B 级对话与并发;更大模型的 LoRA | vLLM、Unsloth、Axolotl |
| 多卡 | 高并发服务、全参微调、长序列训练 | vLLM、Axolotl、LitGPT |
| Apple silicon,统一内存 32GB+ | Metal 加速推理,小模型微调 | MLX、llama.cpp、Ollama |
显存不够时的顺序是:先降量化(fp16 → 8bit → 4bit),再减上下文,再减 batch,最后才换小模型。微调则是先上 LoRA/QLoRA,别一上来就全参。
八、真装一遍的话,按这个顺序
- 先 Ollama 拉一个小模型,确认显卡/内存/SHM 都正常,能聊天再往下。
- 需要更细的量化控制就换 llama.cpp,
llama serve同样给 OpenAI 兼容接口,客户端代码基本不用改。 - 有并发需求再上 vLLM,先测单请求延迟,再压并发;PagedAttention 的收益要在多请求同时打进来时才明显。
- 微调从 Unsloth 起步:单卡 QLoRA 先跑通一轮,确认数据格式没错。要交给别人复现或上多机,再迁到 Axolotl;想读训练循环,用 LitGPT;不想写配置,用 LLaMA-Factory 的 Web UI。
- 开 MLflow 再开始跑,不是为了好看,是为了两周后还知道哪次实验是哪次。
- 参数优化放到最后,等你有几十次跑过的记录,Ax 才有可学的数据。
- Mac 上想吃满 Metal,换 MLX,别在 ARM 上折腾 CUDA 那套。
九、几句实话
「不依赖昂贵云」的前提是硬件已经在你手里。 这 10 个仓库省的是云服务费和按 token 计费,显卡、电费、调试时间一样不少。vLLM 的吞吐优势来自 GPU,Unsloth 省的是显存不是电费。
重叠部分比清单看起来多。 Ollama 包装了 llama.cpp;四个微调框架在 LoRA/QLoRA 上做的事高度重合。清单的价值是让你知道有哪些路线;全装一遍没有意义。
星数不是选型依据。 Ax 只有 2,829 星、最新版停在 6 月,可它是这一层少见的成熟实现;反过来,星多的仓库未必适合你的硬件。
许可证说的是代码,不是权重。 10 个仓库都是 MIT 或 Apache-2.0,商用前仍要单独看你要用的模型的许可条款。
数据说明: 上面所有星数、版本号、推送时间取于 2026-10-24 的 GitHub API;命令取自各仓库 README(llama.cpp 的 llama.app 安装脚本、MLflow 的 uvx mlflow server、LLaMA-Factory 的 llamafactory-cli 均为 README 原文写法)。推文本身只给了 10 个仓库名和一句话介绍,没有版本、许可、硬件要求这些信息。
原文清单:ml-explore/mlx、unslothai/unsloth、axolotl-ai-cloud/axolotl、Lightning-AI/litgpt、hiyouga/LLaMA-Factory、ggml-org/llama.cpp、ollama/ollama、vllm-project/vllm、facebook/Ax、mlflow/mlflow。