FareedKhan-dev/kimi-k3-in-c

A 2.78-trillion-parameter Kimi K3 running inference on a single CPU in 8.24 GB of RAM. Portable C99: no BLAS, no framework, no GPU.

해결하는 문제

이 프로젝트는 Kimi K3 추론 엔진의 휴대용 C99 구현을 제공하여, 거대한 2.78조 파라미터 모델을 소비자용 하드웨어에서 실행할 수 있게 합니다. 모델 가중치를 메모리에 완전히 상주시키는 대신 디스크에서 스트리밍함으로써 극단적인 메모리 요구 사항 문제를 해결하며, 기기의 총 메모리 용량과 관계없이 최소 8 GB RAM만으로 모델을 실행할 수 있습니다.

작동 원리

이 엔진은 메모리 사용량을 줄이기 위해 다음과 같은 기술을 사용합니다:

  • 가중치 스트리밍 (Weight Streaming): "트렁크"(dense layers)는 단일 파일로 패킹되어 디스크에서 스트리밍됩니다. 이에 할당되는 메모리 양은 프리셋(예: laptop, server)을 통해 조정할 수 있습니다.
  • 전문가 캐싱 (Expert Caching): 1.45 TB의 라우팅된 전문가 모델은 완전히 상주하지 않습니다. 대신 패킹된 4-bit 형식에서 직접 곱셈이 수행되며 LRU(Least Recently Used) 캐시를 통해 관리됩니다.
  • 아키텍처 최적화: KDA 어텐션(메모리가 증가하지 않음)과 MLA(Multi-head Latent Attention)를 구현하여 KV 캐시의 메모리 오버헤드를 줄였습니다.
  • 휴대용 C99: 엔진은 휴대용 C99로 작성되었으며 BLAS나 무거운 AI 프레임워크에 대한 의존성이 없습니다. 병렬 처리를 위해 OpenMP를, 하드웨어 가속을 위해 AVX2/NEON을 사용합니다.

대상 사용자

  • AI 연구자 및 개발자: 고효율 추론 및 메모리 제약 환경에 관심이 있는 분.
  • 하드웨어 제약이 있는 사용자: GPU 클러스터 없이 표준 노트북이나 데스크탑에서 Kimi K3 모델을 실행하고자 하는 분.

주요 특징

  • 극도의 메모리 효율성: 2.78T 파라미터 모델을 최소 8.24 GB의 피크 RSS로 실행.
  • GPU 의존성 제로: 완전히 CPU에서 작동.
  • 바이트 단위로 동일한 출력: 8 GB RAM에서 실행하든 224 GB RAM에서 실행하든 정확히 동일한 결과를 생성.
  • 최소한의 풋프린트: 전체 추론 엔진 크기가 176 KB에 불과함.
  • 크로스 플랫폼: Linux, macOS, Windows 지원.

관련

  • Dispatch
  • 프로젝트
  • 프로젝트
  • Dispatch
  • Dispatch