Rust로 만든 추론 엔진, llama.cpp와 맞먹는 성능 달성
Building a Rust Inference Engine That Matches Llama.cpp
Ferrox는 순수 Rust로 작성된 로컬 LLM 추론 엔진으로, CPU, Apple Metal, CUDA를 지원하며 GGUF 모델을 메모리 매핑 방식으로 로드합니다. llama.cpp와 동일한 성능을 목표로, 특히 Apple M2 Pro에서 Llama-3.1-8B Q4_K_M 모델이 28.3 tok/s로 llama.cpp보다 약간 빠른 성능을 기록했습니다. 양자화된 가중치를 행렬 곱셈에 통합하고, 모델별 GPU 커널을 구현해 Qwen, SmolLM2 등에서 큰 성능 향상을 얻었습니다. OpenAI 호환 서버를 제공해 기존 도구를 그대로 사용할 수 있으며, 벤치마크 결과를 JSON으로 공개해 재현 가능성을 높였습니다.
양자화된 가중치(4비트, 8비트)는 전체 정밀도 버퍼로 확장되지 않으며, 양자화 해제 수학은 내적의 일부로 인라인으로 발생하므로 별도의 메모리 바인딩 패스가 아닌 캐시에서 한 번만 비용을 지불합니다.