BitNet
Microsoft, CPU에서 실행가능한 초고효율 AI 모델
About
- Microsoft 연구진이 BitNet b1.58 2B4T라는 초효율적인 AI 모델을 개발했음
- 1비트 양자화를 통해 높은 속도와 낮은 메모리 사용량 달성하여 CPU에서도 실행 가능하며 MIT 라이선스로 공개됨
- Apple M2 같은 CPU에서도 실행 가능하며 GPU 없이 작동함
- 20억 개의 파라미터를 가진 BitNet b1.58 2B4T는 Meta, Google, Alibaba 모델보다 성능이 뛰어남
- 다만, Microsoft의 bitnet.cpp 프레임워크를 사용해야 하며, GPU와의 호환성 문제는 여전히 존재함
- Microsoft의 bitnet.cpp는 1비트 대형언어모델(LLM)의 공식 추론 프레임워크로, CPU와 GPU에서 빠르고 손실 없는 추론을 지원
- ARM CPU에서 1.37~5.07배 속도 향상과 55.4~70% 에너지 절감, x86 CPU에서 2.37~6.17배 속도 향상과 71.9~82.2% 에너지 절감을 달성
- 병렬 커널 구현과 임베딩 양자화를 추가해 기존 대비 1.15~2.1배 추가 성능 향상을 제공
- BitNet b1.58 모델을 단일 CPU에서 초당 5~7토큰 속도로 실행 가능, 로컬 환경에서 초대형 모델 운용 가능성 확대
- llama.cpp와 T-MAC 기반으로 개발되어, 저비트 LLM 추론 효율화를 위한 오픈소스 생태계 확장에 기여
bitnet.cpp 개요
- bitnet.cpp는 1비트 LLM(예: BitNet b1.58) 을 위한 공식 추론 프레임워크로, CPU와 GPU에서 최적화된 커널을 제공
- NPU 지원은 향후 추가 예정
- ARM CPU: 1.37~5.07배 속도 향상, 55.4~70% 에너지 절감
- x86 CPU: 2.37~6.17배 속도 향상, 71.9~82.2% 에너지 절감
최신 최적화
- 병렬 커널 구현과 타일링 구성, 임베딩 양자화 기능이 추가되어, 기존 대비 1.15~2.1배 추가 속도 향상 달성
- 다양한 하드웨어 플랫폼과 워크로드에서 성능 개선 확인
- 세부 기술 내용은 optimization guide 문서에서 제공
데모 및 공식 모델
- Apple M2에서 BitNet b1.58 3B 모델을 실행하는 데모 제공
- 공식 모델로 BitNet-b1.58-2B-4T가 Hugging Face에 공개되어 있으며, x86 및 ARM CPU에서 지원
- 지원 모델에는 bitnet_b1_58-large(0.7B), bitnet_b1_58-3B(3.3B), Llama3-8B-1.58, Falcon3, Falcon-E 시리즈 포함
설치 및 빌드
- 요구사항: Python 3.9 이상, CMake 3.22 이상, Clang 18 이상
- Windows 사용자는 Visual Studio 2022 설치 필요
- Debian/Ubuntu 사용자는 자동 설치 스크립트 제공
사용법 및 벤치마크
- run_inference.py로 양자화된 모델 추론 실행
- 주요 인자: 모델 경로(-m), 프롬프트(-p), 스레드 수(-t), 컨텍스트 크기(-c), 온도(-temp)
모델 변환 및 FAQ
- .safetensors 체크포인트를 gguf 포맷으로 변환하는 스크립트 제공
- FAQ에서는 llama.cpp 빌드 오류(std::chrono 관련) 해결 방법과 Windows에서 clang 환경 설정 절차 안내
- Visual Studio 개발자 명령 프롬프트 또는 PowerShell에서 환경 초기화 필요