JustVugg/colibri — Run frontier MoE models on hardware you already own — pure C, zero deps, experts streamed from disk. Tiny engine, immense model. 🐦
Colibrì — 가진 하드웨어로 프런티어 MoE 모델을 돌리는 순수 C 추론 엔진
Colibrì는 744B~2.8T 규모의 MoE 모델을 일반 소비자 하드웨어에서 실행하는 순수 C 추론 엔진입니다. VRAM·RAM·NVMe를 하나의 메모리 계층으로 취급하고 라우팅된 전문가(expert) 가중치를 디스크에서 스트리밍해, 빠른 메모리 부족이 속도만 바꿀 뿐 모델의 의미를 바꾸지 않도록 설계되었습니다.
- 주제
본문
Colibrì는 744B에서 2.8T 파라미터에 이르는 프런티어 MoE 모델을 GPU 없이도, 혹은 이종 하드웨어 위에서 실행할 수 있는 순수 C 추론 엔진입니다. GLM-5.2/5.3(744B), GLM-5.3-Flash(321B, 비전 포함), Inkling(975B), Kimi K3(2.8T), DeepSeek V4/V4.1 Flash, Qwen3.8-Flash-Next, Qwen3.6(35B-A3B), OLMoE(7B) 등 아홉 개 모델 패밀리를 지원하며, 각각 하나의 C 파일로 구현되어 같은 coli chat / coli serve / coli web 프런트엔드를 공유합니다.
가중치를 위한 JIT — 멀티티어 메모리 계층
엔진의 핵심 아이디어는 VRAM, RAM, NVMe를 '같은 가중치의 배치 계층'으로 보는 것입니다. GLM-5.2(744B)는 토큰당 약 40B만 활성화되고 그중 토큰마다 바뀌는 라우팅 전문가는 약 11GB에 불과하므로, 모델 전체를 빠른 메모리에 올릴 필요가 없습니다. 어텐션·공유 전문가·임베딩 등 dense 부분(~17B)은 int4로 RAM에 상주시키고(약 9.9GB), 19,456개의 라우팅 전문가(개당 int4 기준 약 19MB)는 디스크(약 370GB)에서 필요할 때 스트리밍합니다. 측정된 라우팅 열기(routing heat)가 계층별 LRU와 학습된 핫 스토어 핀을 결정하고, 라우터가 한 레이어 앞서 실행되어 프리페치로 스테이징 지연을 숨깁니다. 컴파일러 JIT가 전체를 컴파일하지 않고 핫 패스만 골라내듯, 사용할수록 맞는 전문가가 뜨거워져 엔진이 빨라지는 구조입니다.
I/O를 엔진의 일부로
디코드가 디스크 바운드라는 전제 아래, 배치된 전문가 유니온 읽기, 연산과 읽기 오버랩, O_DIRECT, 이중 SSD 가중 스트라이핑 등을 구현했습니다. 전문가는 결정론적 해시로 두 드라이브 중 하나에 배정되어 9GB/s + 3GB/s 조합이 단일 드라이브 대비 약 33% 빠른 읽기를 보입니다. 미러는 시작 시 바이트 동일성이 검증되고, 읽기 오류 시 주 드라이브로 조용히 폴백합니다. O_DIRECT는 실측에서 +34% 디코드 향상을 보인 사례가 있으나 드라이브 의존적이라 QLC/DRAM-less 디스크에서는 오히려 손해일 수 있다고 명시합니다.
최적화는 가설로 취급
프로젝트의 독특한 철학은 모든 최적화를 통제된 end-to-end A/B 실험을 통과해야 하는 '가설'로 취급한다는 점입니다. 라우팅 히스토리 기반 배치, 다중 SSD, 하드웨어 인식 플래너, 압축 표현, 라우팅 인식 스페큘레이션, CPU/GPU 오버랩 등 여섯 가지 열린 가설을 표로 정리해 공개하고, 기여자에게 음성 결과까지 공개하도록 요청합니다. MTP 스페큘레이션은 85% 전문가 히트율 부근에서 32% 손실이 측정된 사례도 있어, 수익분기점을 측정으로 찾으라고 안내합니다. 속도에 대한 SLA는 없지만 의미론에는 강한 보장을 둡니다 — 빠른 메모리 부족은 속도를 낮출 뿐 모델 정밀도나 라우터 동작을 조용히 바꾸지 않습니다.
실측 성능과 정확성
6× RTX 5090 전체 상주 시 5.8~6.8 tok/s, 128GB CPU 전용 데스크톱 ~1.8 tok/s, RTX 5070 Ti 노트북급 1.07 tok/s, 25GB 개발 머신 0.05~0.1 tok/s가 측정된 하한선입니다. MLA 어텐션의 KV 상태는 토큰당 576 float(기존 32,768 대비 57배 축소)로 압축해 재시작 간 대화를 바이트 동일하게 복원하고, 포워드 패스는 transformers 오라클과 토큰 정확도로 검증됩니다. CUDA, Metal, Vulkan(AMD 카드 포함) 백엔드가 이종 실행을 지원하며, TCP 기반 클러스터 모드로 여러 Mac에 전문가 워커를 분산할 수도 있습니다.
원문: GitHub / 번역·요약: Trawling