밥풀의 개발일지

[기술 리뷰] BitNet 간단 사용기(설치부터 사용까지) 본문

공부

[기술 리뷰] BitNet 간단 사용기(설치부터 사용까지)

밥풀42 2025. 5. 5. 23:18

안녕하세요 오랜만에 돌아온 스토리 작성인데요

최근에 발표가 되어서 큰 화제를 일으킨 마이크로소프트에서 만든 BitNet에 대해서 가져왔습니다.

 

https://github.com/microsoft/BitNet

 

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. 먼저 깃허브 저장소를 클론합니다.

git clone --recursive https://github.com/microsoft/BitNet.git
cd BitNet

 

2. 그 다음에 파이썬 의존성을 설치합니다.

# (Recommended) Create a new conda environment
conda create -n bitnet-cpp python=3.9
conda activate bitnet-cpp

pip install -r requirements.txt

 

혹시! 위 코드를 실행하기 전에 conda가 깔려 있지 않다면 

https://www.anaconda.com/docs/getting-started/miniconda/main

 

Miniconda - Anaconda

Miniconda is a free, miniature installation of Anaconda Distribution that includes only conda, Python, the packages they both depend on, and a small number of other useful packages. If you need more packages, use the conda install command to install from t

www.anaconda.com

위 링크의 미니콘다를 설치하기 바랍니다. 아나콘다 보다 용량이 훨씬 작기 때문에 가상 환경만 사용한다면 미니콘다가 더 유리하지요!

다시 돌아와서

 

3. 프로젝트를 빌드합니다.

# Manually download the model and run with local path
huggingface-cli download microsoft/BitNet-b1.58-2B-4T-gguf --local-dir models/BitNet-b1.58-2B-4T
python setup_env.py -md models/BitNet-b1.58-2B-4T -q i2_s

 

여기서도 어떤 CPU를 쓰느냐에 따라서 컴파일의 시간이 달라질 듯합니다.

그리고 만약에 cmake라는 디렉토리가 없다는 오류가 뜬다면 운영체제에 맞게 cmake를 설치하시면 될 것 같습니다!

 

cmake 설치 방법

# mac
brew install cmake
# linux
sudo apt install cmake

 

 

그리고 저 같은 경우에는 처음에는 MacBook에서 컴파일을 진행하였는데(제 맥북 스펙은 Apple M2 Pro 입니다)

20분이 넘어가도록 컴파일이 되지 않아서 intel 칩을 쓰는 윈도우 컴퓨터에서 wsl에서 진행을 하였더니 2분만에 컴파일이 완료되었습니다.

다른 게시글들을 보니 잘되는 사람도 있고 안되는 사람도 있는 것 같은데 intel 칩은 대체적으로 컴파일이 잘 되는듯 합니다.

 

CISC RISC의 차이점 때문일까요? 조금은 궁금한 부분이니 시간이 된다면 찾아봐야겠습니다.

인텔 칩으로 컴파일 했을때 2분 걸린 것을 확인할 수 있습니다.

 

4. 추론 시작

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

 

위 명령어를 입력하면 대화를 시작할 수 있습니다.

간단하게 대화를 진행한 내용입니다.

한국어 물어보면 추론을 잘 못한다고 해서 저의 짧은 영어 지식으로 열심히 물어보았습니다.

 

어느 정도 잘 대답하는 것을 알 수 있습니다.

다만 같은 질문에는 동일한 답변이 나오는 것을 확인할 수 있었고요.

cpu 사용량은 캡쳐하지 못했지만 대충 30-40%정도 사용한 것 같습니다.

토큰 수의 제한이 있는 것인지 꽤 길게 답변을 받고 싶었지만 많은 토큰을 생성하지는 못하는 듯 했습니다.(당연한건가?)

깊게 살펴보지는 못해서 RAM 크기와도 상관이 있는지는 확인을 해보아야 할 것 같습니다.

 

LLM의 가장 기초적인 기능인 번역은 잘 되는 것 같습니다.

 

지금까지 간단한 BitNet 사용기를 작성해보았는데요 2가지 정도의 의문이 있어서 이 부분에 대해서는 한번 더 관련 자료를 더 찾아보아야 할 것 같습니다.

 

느낀점

예전에 연구실에 있을 때 여러 큰 모델들을 GPU로 돌려볼 때 성능은 좋게 나오나 GPU가 돌아가는 소리를 들어보면 엄청나게 살벌하게 돌아가는 것을 알 수 있었는데(...) CPU로 엄청나게 좋은 성능은 아니지만 그래도 이렇게 LLM이 돌아간다는 것이 신기했습니다.

그리고 기술의 발전 방향이 점점 큰 퍼포먼스 보다는 최적화에 중점이 되어가는 것 같기도 하다는 생각도 들었구요.

그리고 CPU만 사용하다보니 번거롭게 Cuda 신경쓸 것도 없다보니 나름대로 편했었던(?) 설치 후기였구요.

모델 크기도 작다보니 다운로드하는데 큰 부담이 되지 않았던..!

아무튼 주저리 주저리 떠들었지만 대단한 것 같습니다.! ㅎㅎ

아직 학부 4학년인 저로써는 당장 취업 걱정도 많이 되는군요 ㅜㅜ

그래도 오랜만에 꽤나 재밌는 작업을 해보았던 것 같습니다.