본문 바로가기

AI 소식/오픈소스 AI 모델

마이크로 소프트에서 개발한 CPU만으로 작동하는 초경량 AI, Bitnet을 소개합니다.

안녕하세요,

LLM 경량화와 온디바이스 AI 기술이 주목받고 있는 요즘, 마이크로소프트에서 공개한 BitNet은 GPU 없이도 CPU만으로 실행 가능한 초경량 대형 언어 모델로 많은 관심을 받고 있습니다. 특히 b1.58-2B-4T와 같은 모델은 효율성과 성능을 모두 고려한 구조로 설계되어, 개인 PC나 로컬 장치에서도 실행 가능한 것이 큰 특징입니다.
이번 포스팅에서는 BitNet b1.58-2B-4T 모델의 주요 특징과 구조, 그리고 직접 설치 및 실행해보는 과정을 단계별로 자세히 소개해드리겠습니다.


반응형

bitnet 이란

BitNet(비트넷)은 마이크로소프트에서 개발한 초경량 대규모 언어 모델(LLM)로, 기존 AI 모델과 달리 극도로 낮은 비트(1비트 또는 약 1.58비트)로 파라미터를 양자화하여 모델의 효율성과 접근성을 극대화한 혁신적인 기술입니다. 이 방식은 메모리 사용량과 계산 복잡도를 획기적으로 줄이면서도 높은 성능을 유지할 수 있게 해줍니다. 특히 CPU에 최적화되어 있어 누구나, 어디서나, 저렴한 하드웨어 환경에서도 강력한 AI 모델을 실행할 수 있습니다. BitNet은 AI의 대중화, 온디바이스 AI 구현, 에너지 절감 등 다양한 분야에서 큰 파급 효과를 기대할 수 있는 기술입니다.

 

GitHub - microsoft/BitNet: Official inference framework for 1-bit LLMs

Official inference framework for 1-bit LLMs. Contribute to microsoft/BitNet development by creating an account on GitHub.

github.com

 

 

주요 특징

1. 1.58비트 양자화

  • 삼진 양자화 방식(모델의 가중치를 {-1, 0, +1}로 표현)을 채택 → 메모리 사용량 대폭 감소
  • 곱셈 연산을 덧셈으로 대체 계산 효율 향상

2. CPU 중심의 고효율 설계

  • 전용 C++ 추론 엔진(bitnet.cpp) 사용 → CPU에서 빠르고 효율적인 추론 가능
  • 고성능 GPU 없이도 작동 가능 → ARM: 1.37~5.07배, x86: 2.37~6.17배 속도 향상 & 최대 82.2% 에너지 절감

3. 초경량 모델 크기

  • 모델 크기 약 400MB → 기존 소형 LLM 대비 10배 이상 작음
  • 엣지 디바이스, 모바일, IoT 환경에서도 실행 가능 → 클라우드 없이 온디바이스 AI 구현 가능

4. 다양한 활용성과 높은 성능

  • 낮은 비트 수에도 불구하고 높은 성능 유지 → 자연어 이해, 수학 추론, 코딩, 대화 응답 등 가능
  • LLaMA 3 2B 등 기존 모델과 비교 시 유사하거나 더 나은 성능

5. 오픈소스와 쉬운 접근성

  • 모델 가중치 및 추론 코드를 오픈 소스로 공개

 

 

라이선스

BitNet 모델은 MIT 라이선스로 공개되어 누구나 자유롭게 사용할 수 있습니다. MIT 라이선스는 오픈소스 라이선스 중에서도 가장 관대한 형태로, 모델의 수정, 재배포, 통합은 물론, 상업적 이용까지 별도의 제한 없이 허용됩니다. 덕분에 연구자뿐만 아니라 기업들도 별도의 허가나 라이선스 비용 없이 이 모델을 자사 제품이나 서비스에 자유롭게 통합하고 활용할 수 있습니다.

다만, BitNet b1.58 모델은 아직 연구 및 개발 용도로 제공되며, 상용 서비스나 실제 환경에 적용하기 전에는 충분한 테스트와 검증이 필요합니다. SFT와 DPO를 통해 정렬 작업이 이루어졌지만, 여전히 예상치 못한 결과나 편향, 부정확한 응답이 발생할 수 있으므로 책임 있는 사용이 권장됩니다.

 

 

사전준비사항

BitNet 모델은 일반적인 Python 기반 LLM 프로젝트와는 달리, C 또는 C++로 구현된 커널 최적화 코드를 사용하므로 CMake와 Clang/ClangCL을 활용한 C++ 개발 환경 구성이 필수입니다. 이를 위해 먼저 Visual Studio Installer를 설치해 C++ 빌드 도구를 준비합니다.

또한, 프로젝트 코드를 git clone 명령어로 다운로드할 예정이므로, Git 프로그램도 함께 설치해주셔야 합니다.

 

목차
1. 실행 환경
2. 개발 도구 설치 및 모델 세팅
3. Bitnet 모델 실행

1. 실행 환경

  • 운영체제 : Windows 11
  • Python : 3.10.0
  • CMake : 3.27.0
  • Clang : 18.1.8
  • CPU : i5 - 13세대

 

 

2. 개발 도구 설치 및 모델 세팅

[CMake & Clang tool 설치]

먼저, 위에서 설치한 "Visual Studio Installer"를 실행하여 다음 도구들을 함께 설치해줍니다.

 

  • C++을 사용한 데스크톱 개발 (Desktop Development with C++)
  • Windows용 C++ CMake Tools
  • Windows용 C++ Clang 컴파일러
  • LLVM Toolset (Clang)용 MS-Build 지원

 

설치 방법:

Visual Studio Installer 실행 → 설치 또는 수정 클릭 → "C++을 사용한 데스크톱 개발" 선택 → 오른쪽의 개별 구성 요소에서 위 항목 체크 → 설치 또는 수정 진행

CMake, Clang 설치 예시 이미지 (클릭시 이미지 확대)

 

[코드 다운로드 및 패키지 설치]

아래 명령어를 PowerShell에 입력하여 BitNet 코드를 깃허브에서 클론하고, 실행에 필요한 Python 패키지를 설치합니다.

# Windows PowerShell
cd /Path/to/  # 모델 설치를 원하는 경로로 이동
git clone --recursive https://github.com/microsoft/BitNet.git  # Bitnet 코드 다운로드
cd BitNet  # Bitnet 폴더로 이동
pip install -r requirements.txt  # 필요 패키지 설치
pip install ipython psutil  # 누락 시 오류가 발생할 수 있으므로 함께 설치 권장

 

[bitnet-b1.58-2B-4T 모델 파일 다운로드 및 위치 설치]

아래 Hugging Face 링크에서 bitnet-b1.58-2B-4T 모델 파일을 다운로드합니다.

출처: 마이크로소프트 허깅페이스

 

다운로드한 모델 파일들은 다음 위치에 복사하거나 이동해줍니다.

(BitNet 폴더)
   └── (models 폴더)
           └── (BitNet-b1.58-2B-4T 폴더)  ← 해당 이름으로 폴더 생성 및 모델 파일 배치
⚠️ 이후 과정이 정상적으로 진행되려면 폴더 이름이 위와 정확히 일치해야 합니다.

Bitnet 모델 위치 예시

 

[환경 셋팅]

이제 다음 명령어로 환경을 자동으로 설정할 수 있습니다. 이 명령어는 모델 변환, 코드 최적화, C++ 빌드 과정을 자동으로 실행하여 실행 준비를 마무리합니다.

# Windows PowerShell
python setup_env.py -md models/BitNet-b1.58-2B-4T -q i2_s

 

 

3. Bitnet 모델 실행

이제 모든 환경 설정이 완료되었습니다. 아래 명령어를 통해 bitnet-b1.58-2B-4T 모델을 실행하고 프롬프트 기반으로 텍스트 생성을 시작할 수 있습니다.

# Windows PowerShell
python run_inference.py -m models/BitNet-b1.58-2B-4T/ggml-model-i2_s.gguf -p "You are a helpful assistant" -cnv

"You are a helpful assistant"는 bitnet-b1.58-2B-4T 모델에게 부여할 역할을 지정하는 문장입니다. 원하는 역할이 있다면 이 문장을 자유롭게 수정하셔도 됩니다.

 

[실행 결과]

이 모델의 가장 큰 특징은 GPU 없이도 CPU만으로 충분히 빠르고 안정적으로 작동한다는 점입니다. 실제로 테스트해본 결과, 별도의 GPU 없이 일반 CPU 환경에서도 빠른 속도로 텍스트를 생성하는 모습을 확인할 수 있었습니다. 이러한 성능을 바탕으로, BitNet은 온디바이스 형태로도 충분히 활용 가능하다는 가능성을 보여줍니다.

하지만 몇 가지 아쉬운 점도 있었습니다. 먼저, 한국어 입력에 대한 처리 성능이 아직 부족한 부분이 있어, 일부 프롬프트에서는 에러가 발생하거나 응답이 비정상적으로 출력되는 경우가 있었습니다. 또한, 생성할 수 있는 토큰 수의 한계로 인해 응답이 도중에 끊기거나 끝맺음이 어색해지는 상황도 종종 발생했습니다. 그럼에도 불구하고, 이 모델은 경량 LLM의 가능성을 잘 보여주는 사례로, 향후 멀티언어 지원과 긴 텍스트 생성을 보완해 나간다면 더 넓은 활용이 기대됩니다.

 

실행 결과 이미지 (클릭시 이미지 확대)


 

종합적으로 볼 때, BitNet은 가볍고 효율적인 LLM 구조를 GPU 없이도 CPU 환경에서 충분히 구현할 수 있다는 가능성을 잘 보여줍니다. 아직 한국어 처리 성능이나 긴 응답 생성 측면에서는 개선이 필요한 부분이 있지만, 이러한 한계는 오히려 향후 발전 방향을 제시해주는 요소로 볼 수 있습니다.

 

앞으로 이러한 경량 AI 모델들이 지속적으로 발전하고 고도화된다면, 온디바이스 AI의 실현과 AI 기술의 대중화에 중요한 역할을 하게 될 것으로 기대됩니다.

 

 

읽어주셔서 감사합니다. 😊

 

반응형