프로젝트 소개
bitnet.cpp는 BitNet b1.58과 같은 1비트 LLM을 위한 공식 추론 프레임워크입니다. CPU와 GPU에서 1.58비트 모델의 빠르고 무손실 추론을 가능하게 하는 최적화된 커널 모음을 제공하며, NPU 지원은 곧 제공될 예정입니다. 이 프로젝트는 llama.cpp 프레임워크를 기반으로 하며, 커널은 T-MAC에서 개척된 룩업 테이블 방법을 기반으로 합니다.
README에 설명된 주요 기능:
- 삼진/1비트 모델용 CPU 추론: 전체 정밀도 모델 대비 ARM CPU에서 1.37배~5.07배, x86 CPU에서 2.37배~6.17배의 속도 향상이 보고되었으며, 에너지 소비는 ARM에서 55.4%~70.0%, x86에서 71.9%~82.2% 절감됩니다.
- 단일 CPU에서 100B BitNet b1.58 모델을 사람이 읽는 속도(초당 5~7토큰)에 필적하는 속도로 실행 가능.
- 2025년 5월 출시된 공식 GPU 추론 커널.
- I2_S 및 TL1을 포함한 양자화 유형. 커널 지원은 모델 및 아키텍처(x86 대 ARM)에 따라 다릅니다.
- 헬퍼 스크립트를 통한 .safetensors 체크포인트에서 GGUF로의 모델 변환.
- 벤치마킹 유틸리티(e2e_benchmark.py) 및 지원되지 않는 레이아웃용 더미 모델 생성기.
- 인스트럭트 모델용 채팅/대화 모드.
강조된 공식 모델로는 BitNet-b1.58-2B-4T(2.4B 파라미터, 4T 토큰으로 학습), BitNet-embedding-0.6B, BitNet-embedding-270M이 있습니다. 지원되는 커뮤니티 모델로는 bitnet_b1_58-large, bitnet_b1_58-3B, Llama3-8B-1.58-100B-tokens, Falcon3 및 Falcon-E 계열이 있습니다.
설치에는 Python 3.10+, CMake 3.22+, Clang 18+가 필요하며 conda가 권장됩니다. 빌드 단계는 저장소를 재귀적으로 클론하고, Python 종속성을 설치하고, 모델을 다운로드하고, 선택한 양자화 유형으로 setup_env.py를 실행하는 것을 포함합니다. 추론은 run_inference.py를 통해 실행되며 프롬프트, 토큰 수, 스레드, 컨텍스트 크기, 온도, 대화 모드 옵션을 제공합니다.
README에는 llama.cpp의 std::chrono 오류 및 Windows의 conda 환경에서 clang 구성과 같은 일반적인 빌드 문제를 다루는 FAQ도 포함되어 있습니다. 이 프로젝트는 MIT 라이선스로 배포됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.