cactus

Local AI RunnersCLIC++

★ 6,007주당 +33조회 4

무엇인가

Cactus는 모바일·웨어러블·스마트홈·로봇 같은 엣지 기기에서 LLM·VLM·음성 모델을 직접 실행하기 위한 C++ 추론 스택이다. 클라우드 API 호출을 기기 내 연산으로 대체하는 자리에 놓이며, 양자화·커널·런타임·추론 엔진을 한 저장소에서 함께 다룬다.

어떻게 동작하나

구성은 Cactus Engine(추론 실행), Cactus Graph(연산 그래프), 양자화 커널, 모델 변환기로 나뉜다. HuggingFace 모델은 `cactus convert [HF-Name]`으로 변환하고, 미리 올려둔 모델은 `cactus download [HF-Name]`으로 받는다. `cactus run [HF-Name]`은 모델이 없으면 먼저 내려받거나 변환한 뒤 실행한다. 가중치는 CQ2·CQ3·CQ4 균일 양자화와 CQ3.26·CQ2.54 혼합 정밀도 포맷으로 저장된다. Swift·Kotlin·Flutter·React Native·Python·Rust 바인딩이 있어 같은 런타임을 각 플랫폼에서 호출한다.

무엇과 다른가

클라우드 추론 API와 달리 네트워크 왕복 없이 기기에서 디코드를 수행한다. 범용 데스크톱 추론기와 달리 모바일·웨어러블의 메모리와 전력 제약을 전제로 커널과 양자화를 설계했고, 1k 컨텍스트 기준 피크 RAM을 벤치마크 항목으로 측정한다. 추측 디코드나 MTP 없이 순수 디코드만 사용한다.

어떻게 쓰나

macOS에서는 `brew install cactus-compute/cactus/cactus`로 설치한 뒤 `cactus run`을 실행한다. 모델을 지정하려면 `cactus run [HF-Name]`을 쓴다. `cactus benchmark`에 `--ios` 또는 `--android`를 붙이면 해당 플랫폼에서 LLM·VLM·전사 성능을 측정한다.

전제와 한계

모든 HuggingFace 모델을 변환할 수 있지만 실험적이며, Liquid·Gemma·Whisper·Parakeet·Qwen 계열이 특히 검증되어 있다. 온디바이스 툴 호출용으로 26M 파라미터 Needle 모델을 별도로 둔다. 벤치마크 수치는 M5 Max에서 1k 컨텍스트 프리필과 100토큰 디코드 조건으로 측정된 값이다.

관련 논문 5

유사 도구