
GPU 없이 NVMe SSD에서 MoE 전문가 가중치를 스트리밍하는 Rust 추론 엔진을 구축했습니다
요약
VRAM 부족 문제를 해결하기 위해 NVMe SSD에서 MoE 전문가 가중치를 직접 스트리밍하는 Rust 기반 추론 엔진 Micro-Expert-Router를 소개합니다. Apple의 연구를 바탕으로 PCIe 대역폭을 활용해 제한된 메모리 환경에서도 대규모 모델을 실행할 수 있도록 설계되었습니다.
핵심 포인트
- io_uring과 O_DIRECT를 활용한 NVMe SSD 가중치 스트리밍
- SSD-RAM-VRAM으로 이어지는 다계층 전문가 캐시 구조
- AVX2/AVX-512/AMX를 지원하는 다양한 양자화 방식 적용
- 투기적 디코딩 및 연속 배치 기능을 통한 추론 최적화

아이디어는 간단합니다. "LLM in a flash: Efficient Large Language Model Inference with Limited Memory"라는 제목의 Apple의 획기적인 연구 논문에 기반하여, NVMe SSD는 충분히 빨라졌습니다. PCIe Gen5 어레이는 ~56 GB/s에 도달하고 있으므로, 이를 단순한 저장 장치가 아닌 LLM 추론을 위한 일급 메모리 계층(first-class memory tier)으로 취급할 수 있습니다. 특히 Mixture-of-Experts (MoE) 모델의 경우, 특정 토큰 단계에서 8개의 전문가 중 2개만 활성화하면 되기 때문에 매우 흥미롭습니다. Mixtral 8x7B의 경우 활성 가중치는 24GB가 아니라 약 6GB입니다.
그 결과물이 Micro-Expert-Router입니다. 이것은 io_uring과 O_DIRECT를 통해 NVMe에서 MoE 전문가 가중치를 직접 스트리밍하고, 실제 SwiGLU FFN 커널을 통해 토큰을 라우팅하며, SSE 스트리밍을 지원하는 OpenAI 호환 HTTP API를 제공하는 Rust 추론 엔진입니다.
포함된 기능:
- io_uring 고정 버퍼 및 O_DIRECT pread를 통한 SSD 스트리밍 전문가 로딩
- 다계층 전문가 캐시: SSD → RAM (pinning이 있는 LRU) → VRAM
- AVX2/AVX-512/AMX 디스패치를 지원하는 Q4_0, Q4K, Q8_0, F16 양자화 (quantization)
- 메인 모델 임베딩(embeddings)과 연결된 초안 엔진(draft engine)을 사용한 투기적 디코딩 (Speculative decoding)
- 가중치 기반 라운드 로빈(weighted round-robin) 승인을 통한 연속 배치 (Continuous batching)
- SafeTensors 로더, SIGHUP 핫 리로드, TUI 대시보드, Helm 차트
수치에 대한 솔직한 고지:
아직 전체 벤치마크 (Benchmarks)를 실행할 수 있는 하드웨어를 갖추지 못했습니다. 저장소(Repo)에 기재된 텔레메트리 (Telemetry) 수치(에지 워크스테이션, 소버린 박스(Sovereign box), RPC 샤딩된 클러스터 토폴로지 전반에 걸친 초당 1115 토큰)는 실제 측정 결과가 아니라, 80%의 캐시 히트율 (Cache hit rate) 상태에서 활성 가중치 점유 공간 (Active weight footprint)과 원시 NVMe 순차 대역폭 (Raw NVMe sequential bandwidth)을 바탕으로 도출된 이론적 상한선입니다. 콜드 I/O 레이턴시 (Cold I/O latency) 예측치는 Quad Gen5 U.2 어레이에서의 108ms부터 PCIe Gen4 M.2에서의 1010ms까지의 범위를 가집니다. 이와 가장 유사하게 발표된 기존 연구는 Apple의 'LLM in a Flash' 논문이며, 본 프로젝트는 해당 아이디어를 오픈 소스로 실행 가능한 구현체로 만들려는 시도입니다.
테스트할 수 있는 하드웨어가 있다면 모든 코드가 준비되어 있습니다. 이 예측치들이 실제로 유지되는지 진심으로 알고 싶습니다.
GitHub: Micro Expert Router
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기