sqliteai/warp
Run the full 2.78-trillion-parameter Kimi K3 model or GLM-5.3-Flash beyond available RAM by streaming activated weights directly from NVMe. A dependency-free, embeddable C inference engine.
해결하는 문제
WARP (Weight-Aware Runtime and Paging)는 2.78조 파라미터의 Kimi K3와 같은 거대한 프론티어 모델을 소비자용 하드웨어에서 실행할 수 있도록 설계된 임베디드 가능한 추론 엔진입니다. 메모리 용량이 부족한 상황에서도 모델 가중치가 사용 가능한 RAM을 초과하더라도, 고속 로컬 스토리지(NVMe SSD)를 주요 가중치 저장소로 활용하여 모델을 실행할 수 있도록 메모리 한계를 극복합니다.
작동 방식
WARP는 모델의 공유 '트렁크'를 RAM에 유지하면서, 각 토큰에 필요한 특정 전문가만 디스크에서 직접 스트리밍합니다. 성능을 최적화하기 위해 다음과 같은 기술을 사용합니다:
- 전문가 캐싱: 사용되지 않는 RAM을 제한된 크기의 캐시로 활용하여 자주 접근되는 전문가를 저장함으로써 디스크 읽기 횟수를 줄입니다.
- 미리 읽기 라우팅: 다음 레이어에서 필요한 전문가를 예측하고, 실제로 필요하기 전에 디스크에서 미리 읽기 시작합니다.
- 정렬된 읽기: 모델 컨테이너 구조를 최적화하여 한 전문가에 대해 정확히 한 번의 정렬된 읽기만 필요하게 하여 디스크 I/O와 계산을 겹치게 합니다.
- 양자화: 전문가는 3비트 잔차 벡터 양자화를 사용하고, 공유 가중치는 4비트 또는 8비트를 사용합니다.
- 효율적인 어텐션: 선형 어텐션과 압축된 잠재 KV 캐시를 활용하여 메모리 요구량을 낮춥니다 (예: K3의 4K 컨텍스트에서 0.21GB).
대상 사용자
RAM이 제한된 기계(예: 16GB~64GB)에서 고속 NVMe 스토리지를 사용해, 조각 파라미터급 멀티모달 모델을 로컬에서 실행하고자 하는 개발자 및 연구자에게 적합합니다.
주요 특징
- 대규모 모델 지원: Kimi K3(2.78T 파라미터) 및 GLM-5.3-Flash(313B 파라미터)를 실행 가능.
- 의존성 없음: C 언어로 작성되어 제3자 런타임 의존성 없음 (BLAS, CUDA, Python 등 추론 시 필요 없음).
- 멀티모달 기능: Kimi K3 및 GLM-5.3-Flash 모두 텍스트 및 이미지 입력을 지원.
- 하드웨어 효율성: 최소 16GB RAM의 시스템에서도 313B 모델을 실행 가능.
- 광범위한 호환성: macOS, Linux(arm64/x86_64), Windows(MinGW-w64 경유)를 지원.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch