📌 评测对象:JustVugg/colibri(colibrì,重音在 i) | 星数:35,211 · Fork 3,702(2026-09-17) | 协议:Apache-2.0 | 语言:C(引擎本体,零引擎依赖)+ Python(launcher/API gateway) | 创建:2026-07-01 · 约 2.5 个月 | 今日 GitHub Trending +1,546(连续霸榜) | 作者:Vincenzo Fornaro(一人项目起家于 25GB/12 核笔记本)
一句话定位:"传统推理引擎问'模型塞得进 VRAM 吗',colibri 问'每个权重此刻该在 VRAM、RAM 还是 NVMe'——把 744B 模型当 JIT 编译器对待:不预载全部参数,而是按路由热力按需 stage。" colibrì 是 Vincenzo Fornaro 在 2026 年 7 月开仓的纯 C MoE 推理引擎:以 GLM-5.2(744B)为参考模型,今天同一套引擎跑九大家族——GLM-5.2/5.3(744B)、GLM-5.3-Flash(321B 含视觉)、Inkling(975B)、Kimi K3(2.8T)、DeepSeek V4/V4.1 Flash(284B/552B)、Qwen3.8-Flash-Next(125B+51B n-gram)、Qwen3.6(35B-A3B)、OLMoE(7B)。2.5 个月 35.2k 星,今天仍以 +1,546 增量霸 Trending 第二(仅次于已评测的 alibaba/open-code-review)。
站内昨天刚发过 YuE2 前沿音乐生成教程,同样属于"把大模型跑在有限硬件"的工程流派——YuE2 的符号规划让音乐生成可编辑,colibrì 的 multitiering 让 744B 不再被 hyperscaler 硬件卡住,思路同源:把稀缺资源换成可工程的算法。
| 维度 | 评分 | 说明 |
|---|---|---|
| 理念与定位 | 9.5 | "placement not residence"+"JIT for weights"是对"必须塞进 VRAM"传统范式的正面颠覆,把 744B MoE 的稀疏性(每 token 仅 ~40B 激活、仅 ~11GB 变化)当成可工程化的资源,2026 年推理系统最清醒的设计哲学之一 |
| 工程含金量 | 9.5 | 纯 C 单文件引擎 + 共享 headers、per-layer LRU + learned pins + 一层 ahead 预取(71.6% 可预测)、双 SSD 加权镜像(带宽聚合 33%+)、CPU/CUDA/Metal/Vulkan 多 backend、本地集群 + Tauri 桌面 + web dashboard——每个机制都有 measured end-to-end 数据 |
| 实证效果 | 8.5 | benchmark 表、实验 issue、cross-hardware datapoint 一应俱全;6×5090 全驻留 5.8-6.8 tok/s、128GB CPU ~1.8 tok/s warm、25GB 底线 0.05-0.1 tok/s 都明文写出。扣分在"对话级流畅"对硬件要求高,普通人能跑但慢 |
| 安全与规则 | 8.5 | 设计宪法"never silently change precision or router semantics"是硬约束;int4 容器量化成本+scale-granularity/rotation ablation 有数据;Apache-2.0 + NOTICE;但无独立安全审计 |
| 上手成本 | 6.5 | 预编译包+coli launcher 入门尚可,但 GLM-5.2 模型 372GB 必放 NVMe、gs64 容器选错就触发 think-mode 死循环、Python+C 双层、CLI 命令众多——非"npm install 一行跑起来"那种 |
| 文档质量 | 9.5 | README 715 行写满理念/技术/模型矩阵/集群/经验/致谢;docs/ 体系含 quickstart/benchmarks/tuning/cuda/vulkan/metal/api/grammar-draft/ENVIRONMENT 等;中英日意多语 README;实验日志 docs/experiments/ 公开 |
| 生态与扩展 | 8.5 | 9 大模型家族、CPU/CUDA/Metal/Vulkan 四 backend、本地集群协调器、OpenAI 兼容 API、Tauri v2 桌面壳、web dashboard、WebGPU 实验中。扣分在无 MCP/agent 工具调用集成(与 Open Code Review 那种代理生态不同路线) |
| 社区与维护 | 8.5 | 2.5 个月 35.2k 星、3,702 fork、141 open issues、最新 push 9-15、Discord 活跃;单一作者主导但社区硬件数据点驱动;启动资金来自"一台 12 核 25GB 笔记本" |
colibrì 的革命性不在某个 trick,而在一个范式转换:权重不是要"装下"的状态,而是要"按需 stage"的数据。一个 744B MoE 模型每 token 仅激活 ~40B 参数,且每 token 只让 ~11GB(routed experts)改变——其余都是冷数据。把这块冷数据当成 JIT 编译器对待的程序路径:
| 层 | 内容 | 位置 | 体积 |
|---|---|---|---|
| dense 部分 | attention、shared experts、embeddings | 常驻 RAM(int4) | ~17B 参数 ≈ 9.9GB |
| routed experts | 19,456 个(75 MoE 层 × 256 + MTP head) | NVMe 存盘 + 按需流式 | 每 ~19MB int4 / 总 ~370GB |
| 学习缓存 | per-layer LRU + learned pins + 一层 ahead 预取 | RAM/VRAM 热层 | 由 .coli_usage 记录路由热力驱动 |
| KV 状态 | MLA 压缩 KV + 持久化 | .coli_kv 文件 | 576 floats/token(57× 压缩) |
这五层加起来构成"AI memory multitiering"——一个跨 VRAM/RAM/NVMe 的单一推理层级,快内存只决定速度,绝不改语义。25GB 笔记本一切走盘(慢但正确),128GB 桌面 cache warm 后 ~1.8 tok/s,6× RTX 5090 全驻留 5.8-6.8 tok/s——同一个 int4 容器,硬件只改变 experts 存在哪里。这与 Open Code Review 的"确定性管道"哲学同源:把不该出错的环节用工程焊死,让智能的部分才能动起来。
| 技术 | 做什么 | 测量结果 |
|---|---|---|
| 权重 JIT | per-layer LRU + learned pinned hot-store + 一层 ahead 预取 | 路由 71.6% 一层 ahead 可预测;history 可 overfit、lookahead 在某些主机上反而亏——两者都保留为可测策略而非承诺 |
| I/O 即引擎 | batched expert unions、读算 overlap、O_DIRECT、双 SSD 加权镜像 | Blackwell/Windows +34% decode;9GB/s+3GB/s 双盘比单盘快 ~33%;O_DIRECT 对 QLC/DRAM-less 是 neutral-to-negative(驱动依赖,不画大饼) |
| 异构执行 | CPU、CUDA、Metal、NUMA、部分或全驻留共享 runtime | 同引擎跨硬件档位; profitable 组合按 compute/bandwidth/residency/workload 而变 |
| 压缩状态不改模型 | MLA KV 576 floats/token(vs dense 32,768)、持久化 warm 会话、DSA sparse attention 忠实实现 | 57× 压缩;强制 full-key selection 复现 dense attention 验证 token-exact;forward pass 对 transformers oracle teacher-forcing 30-32/32 |
| speculation 必须赚回 | GLM-5.2 原生 MTP 头 + grammar-forced drafts | 2.2-2.8 tokens/forward 当其有效;int8 头(int4 → 0-4% 接受)、SPEC_PIN=1 同核族;不赚时 DRAFT=0 关闭,speculation 永不改 token(accepted token 仍是 target 的 argmax) |
| 双 SSD 镜像 | 第二块盘放完整副本,按带宽加权路由 | 启动时 safetensors header+size 字节验证;部分镜像可用(小盘只装部分 shard 仍生效);镜像从不写、读错自动回退主盘; unplugging 中途 degrade 不崩 |
每条都有 issue 编号(#8 int4 MTP 头崩溃、#82 NUMA、#163 spec pin 法医级分析、#200 128GB 桌面 datapoint、#273 笔记本 GPU 管线、#455 think-mode 死循环根因)——这套"实验先于承诺"的风格,在 2026 年的 AI 工具里相当稀有,与站内 pentagi 教程里"全自主多智能体"的工程严谨度是一脉的。
| 硬件 | decode | TTFT | 说明 |
|---|---|---|---|
| 6× RTX 5090 全驻留 | 5.8-6.8 tok/s | ~13s | 旗舰档;experts 全 VRAM,盘退出 decode 路径 |
| 128GB CPU-only 桌面 | ~1.8 tok/s warm | - | 纯 CPU + 大 RAM cache warm |
| 单 RTX 5070 Ti 笔记本 | 1.07 tok/s | - | GPU 驻留管线(COLI_CUDA_PIPE=2) |
| 25GB dev box | 0.05-0.1 tok/s | - | 项目起始诚实底线 |
| RTX 5080 + 2 NVMe(DeepSeek V4) | ~1.6 tok/s @3k ctx | 3324-token prefill 90s | 后续会话/turn 6-9s(prefix checkpoint) |
关键:"同一 int4 容器,硬件只改变 experts 存在哪里"——你不必为不同硬件换模型格式。质量有 独立 quality benchmark,量化成本与 scale-granularity/rotation ablation 都在 docs/benchmarks.md 与 issue #108/#81 公开。token-exact forward validation 让"压缩"和"忠实"绑在一起,不是"压一压看效果还行"的营销式量化。
# 前提:Python 3(launcher 与 API gateway 用);gcc+OpenMP(源码编译才需要)
# 第一步:装引擎(预编译包,几百KB)
mkdir colibri && tar xzf colibri-v1.8.0-linux-x86_64.tar.gz -C colibri && cd colibri
python3 coli info # engine ready ✓
# 或源码构建
git clone https://github.com/JustVugg/colibri && cd colibri/c
./setup.sh # 检查 gcc/OpenMP、编译、自测
# 第二步:下模型(GLM-5.2 int4-gs64-with-int8-mtp,约372GB,放NVMe大盘)
# HuggingFace: mastouri/GLM-5.2-colibri-int4-g64-with-int8-mtp
# ⚠️ 必须用 gs64 容器,老 per-row int4 镜像质量低 9pp 且触发 #455 think-mode 死循环
# ⚠️ MTP 头必须 int8(int4 → 0% 接受率,#8)
# 或自己从 FP8 源转换(resumable,无需一次性 756GB 盘空间)
./coli convert --model /nvme/glm52_i4 # download+convert shard by shard(python,one-time)
# 第三步:运行(同一套 CLI 跨九大模型家族)
COLI_MODEL=/nvme/glm52_i4 ./coli chat # TUI
COLI_MODEL=/nvme/glm52_i4 ./coli plan # 看VRAM/RAM/盘 placement 计划
COLI_MODEL=/nvme/glm52_i4 ./coli doctor # 只读就绪检查
COLI_MODEL=/nvme/glm52_i4 ./coli doctor --deep # 严格 tensors/shards/index/mirror preflight
COLI_MODEL=/nvme/glm52_i4 ./coli tune # 测并保存这台机最快的执行 profile
./coli web --model /nvme/glm52_i4 # API + dashboard,开浏览器
./coli serve --model /nvme/glm52_i4 # API + dashboard,headless
# 切到别的模型家族:make 一次对应 engine,COLI_MODEL 指向新目录即可
make -C c glm # GLM-5.2
make -C c inkling # Inkling
make -C c kimi_k3 # Kimi K3
make -C c deepseek-v4 # DeepSeek V4 Flash
make -C c qwen38 # Qwen3.8-Flash-Next
make -C c qwen36 # Qwen3.6-35B-A3B
make -C c olmoe # OLMoE
# 双 SSD 镜像(带宽聚合)
COLI_MODEL=/fast/glm52_i4 COLI_MODEL_MIRROR=/second/glm52_i4 ./coli chat
COLI_DISK_WEIGHTS=9,3 ... # 可选:primary,mirror 带宽比(否则启动时测)
# 本地集群(多 Mac 协作,dense 留 coordinator,routed FFN 走 worker)
./coli cluster coordinator --host 0.0.0.0 --port 8765
./coli cluster worker --model /nvme/glm52_i4 --port 9100 \
--coordinator http://COORDINATOR:8765 --advertise-host WORKER_IP
./coli serve --model /nvme/glm52_i4 --cluster-coordinator http://127.0.0.1:8765
# Windows:release 包带 coli.cmd,双击或 coli.cmd chat --model D:\glm52_i4
上手体验:预编译包加 coli launcher 把入门压到最低,coli plan 让你提前看 placement 计划、coli doctor --deep 做 preflight、coli tune 自动测最快 profile——这套工具链设计很周到。真实成本:软件 $0(Apache-2.0),但 GLM-5.2 模型 372GB 必须放 NVMe 大盘(HDD 实测会慢到不可用),入门门槛在硬件而非软件;想试水可从 OLMoE(7GB,int8)入手——同一引擎同一 CLI,只换 COLI_MODEL。
| 家族 | total / active | weights 体积 | build | 说明 |
|---|---|---|---|---|
| GLM-5.2/5.3 | 744B / 40B | 372GB(int4-g64-with-int8-mtp) | make -C c glm | 参考模型,Z.ai MIT 开放 |
| Inkling(Thinking Machines) | 975B / 41B | 469GB int4 / bf16 dense 49.4GB | make -C c inkling | RAM 紧张可用一键工具把 dense 压到 15.3GB 跑 25GB box |
| GLM-5.3-Flash(Z.ai) | 321B / 40B | 195GB int4-gs64 | make -C c glm53 | 含视觉;dense BF16,precision 是 load-time 选择 |
| Kimi K3(Moonshot) | 2.8T / 104B | ~1.6TB 原始 snapshot | make -C c kimi_k3 | 无需转换:QAT-trained MXFP4 experts 直接流式 |
| DeepSeek V4 Flash | 284B / 13B | 167GB(REAP 150B:85GB) | make -C c deepseek-v4 | native fp4 experts、fp8-e4m3 dense;CUDA 可选(Pascal/Turing via portable-pre-ampere) |
| DeepSeek V4.1 Flash | 552B / 16B | 203GB n-gram + routed | make -C c deepseek_v41 | 原生无需转换;视觉+tool calling+DSpark draft head 全 on |
| Qwen3.8-Flash-Next(Alibaba) | 125B + 51B n-gram / 6B | 185.5GB FP8 | make -C c qwen38 | CPU only;PLE pageable、experts native block-FP8 |
| Qwen3.6(Alibaba) | 35B / 3B | 20GB int4-gs64 | make -C c qwen36 | Gated Attention+Gated DeltaNet;CUDA=1 两 8GB 卡测得 1.44→10.05 tok/s(7.0×) |
| OLMoE(AI2) | 7B / 1B | ~7GB int8 | make -C c olmoe | 入门首选,最小家族 |
| 方案 | 哲学 | 适合 |
|---|---|---|
| colibrì | VRAM/RAM/NVMe 单一层级,权重 JIT,placement 决定速度不决定语义 | 有 NVMe 大盘、想跑 744B+ MoE 不租 hyperscaler 的人;推理系统研究者;老硬件持有者(含 AMD 老卡) |
| llama.cpp | GGUF 量化塞 VRAM 或 CPU,工程老牌 | dense 模型为主、硬件够大、追求稳定通用 |
| vLLM | GPU 优先、PagedAttention 高吞吐服务化 | 生产级 GPU 服务、dense 与中小 MoE |
| kTransformers | 专家 offload 思路类似但 Python 优先 | 研究实验性、Python 工程栈 |
| hyperscaler API(GPT/Claude) | 租用而非持有 | 不介意数据出境、要 SLA 速度 |
1. 入门门槛在硬件,不在软件。软件 $0 Apache-2.0、预编译包几百 KB、Python+C 上手简单;但 GLM-5.2 模型 372GB 必须放 NVMe 大盘,HDD 实测不可用。想低成本试水从 OLMoE(7GB)开始——同引擎同 CLI 只换 COLI_MODEL。
2. "能跑"≠"流畅"。25GB dev box 0.05-0.1 tok/s 是诚实底线,128GB CPU ~1.8 tok/s warm、6× RTX 5090 才到 5.8-6.8 tok/s。colibrì 把 744B 拉到你已有的硬件上跑——速度看你的盘和 RAM,不是"调一下参数就起飞"。
3. 一人作者 + 社区数据点驱动。Vincenzo Fornaro 一人在 12 核 25GB 笔记本上起家,今天的性能数字来自社区真实机器贡献。141 个 open issues、Discord 活跃,但生产引入建议先在预发分支跑一段时间——这与 Open Code Review 那种阿里 Aone 内部两年生产验证的背书完全不同。
推荐:有 NVMe 大盘、想跑 744B+ MoE 但不想租 hyperscaler 的人(GLM-5.2/Kimi K3 2.8T 在本地真实可跑);推理系统研究者(每个机制都有 measured end-to-end 数据 + 实验日志,expert atlas 路由可预测性 71.6% 是公开 hypothesis);老硬件持有者(Vulkan/Mesa RADV 让 RX 580 这种被 ROCm 弃的卡都能跑);想从 OLMoE 7GB 入门学 MoE 推理工程的人。不建议:追求"一键起飞"流畅对话的人(25GB 底线 0.05-0.1 tok/s);没有 NVMe 大盘的人(HDD 不可用);需要 agent 工具调用生态的人(colibrì 是推理引擎不是 agent harness,要 agent 看 Pi 评测)。
综合评分 8.7/10:colibrì 不是又一个"模型推理 wrapper"——它是一个范式转换。把 744B MoE 当 JIT 编译器对待,让"必须塞进 VRAM"的范式显得过时;每个技术机制(权重 JIT、I/O 即引擎、压缩状态不改语义、双 SSD 加权镜像、speculation 必须赚回)都有 measured end-to-end 数据和实验 issue,"实验先于承诺"是 2026 年 AI 工具里稀有的诚实。扣分在入门门槛(372GB NVMe)、对话级体验对硬件要求高、一人作者主导的可持续性。当整个 AI 推理生态在卷"更大 GPU 集群"的时候,它反着来——让大模型依赖更少的硬件——这本身就该进教科书。
JustVugg/colibri(35.2k星,Apache-2.0,纯C)是单一作者 Vincenzo Fornaro 发起的MoE推理引擎:把744B到2.8T参数的MoE前沿模型(GLM-5.2/5.3、Inkling、Kimi K3、DeepSeek V4 Flash、Qwen3.6/3.8、OLMoE九大族)跑在你已有的硬件上。区别在于内存哲学:llama.cpp/vLLM传统思路是'把模型塞进VRAM',塞不下就量化或切到CPU;colibri把VRAM、RAM、NVMe当成同一权重的三个placement层级——快内存只决定速度,绝不悄悄改语义。dense部分(~17B)常驻RAM int4约9.9GB,19,456个routed experts存盘约370GB按需流式加载,路由热力驱动per-layer LRU+learned pins+一层ahead预取(71.6%可预测),MLA KV状态57×压缩。引擎本体是一个C文件加共享headers,无BLAS无Python无GPU依赖。
能跑,但'流畅'要看硬件档位。官方benchmark:6× RTX 5090 全驻留5.8-6.8 tok/s(TTFT约13秒);128GB CPU-only桌面约1.8 tok/s warm;单张RTX 5070 Ti笔记本级约1.07 tok/s(GPU驻留管线);25GB dev box 0.05-0.1 tok/s cold——这是项目起始的诚实底线。关键是同一个int4容器跨硬件档位,硬件只改变experts存在哪里(VRAM/RAM/盘)。speculative decoding用GLM-5.2原生MTP头,2.2-2.8 tokens/forward,但MTP头必须int8(int4会0-4%接受率),且speculation是否净赚取决于缓存温度,不赚时DRAFT=0关掉。
两步:①装引擎:从Releases下预编译包(Linux/macOS/Windows,几百KB),解压后python3 coli info确认就绪;或git clone后cd c && ./setup.sh自检gcc/OpenMP编译。需要Python 3(launcher和API gateway是Python脚本,引擎本体是纯C)。②下模型:GLM-5.2的int4-gs64-with-int8-mtp容器约372GB,放NVMe大盘上(HuggingFace: mastouri/GLM-5.2-colibri-int4-g64-with-int8-mtp)。注意必须用gs64组缩放容器,老per-row int4镜像质量低9pp且会触发think-mode死循环。启动:COLI_MODEL=/nvme/glm52_i4 ./coli chat开TUI,./coli web开API+dashboard,./coli serve无浏览器headless。coli plan看VRAM/RAM/盘placement计划,coli doctor做只读就绪检查,coli tune测并保存这台机最快的执行profile。
双SSD:第二块SSD放一份完整模型副本,引擎按两盘实测带宽加权路由每个expert到固定盘,聚合带宽等于两盘之和——9GB/s+3GB/s对读比单独9GB/s快约33%。镜像启动时验证字节一致(safetensors header+size),部分镜像也行(小盘只装部分shard仍生效),镜像从不写、读错自动回退主盘。本地集群:coordinator保留token生成/路由/KV状态,disk-backed expert workers在其它Mac上跑routed FFN,一个layer的batch-union打包一次TCP请求(不是一个expert一次往返);./coli cluster coordinator --host 0.0.0.0 --port 8765起协调,./coli cluster worker --model ... --coordinator ... 起worker,./coli serve --cluster-coordinator ... 启用。
colibri的设计宪法:placement只能改速度,绝不能悄悄改模型语义。意思是:一个expert从VRAM答还是从盘答,路由决策和权重精度必须一致;快内存不够只能降速,不能静默redefine模型。这把'容错'和'语义不变'两个目标切干净——量化精度、router决策是模型定义的一部分,placement是执行细节。MLA KV状态576 floats/token(比dense 32,768小57×)持久化到.coli_kv,重启会话零re-prefill且字节与未中断会话一致;DSA sparse attention忠实实现并通过强制full-key selection复现dense attention验证token-exact。speculation也守这条:每个accepted token仍是target自己的argmax,draft永远不改token。forward pass对transformers oracle做teacher-forcing验证(通常30-32/32)。