본문 바로가기
AI Project/Edge AI Agent - LLM(연구,분석,검증)

#3: BitNet.cpp 이식 및 1-bit LLM 가동

by 으노으뇨 2026. 3. 23.
728x90
SMALL

안녕하세요~! 요즘 일감도 없고 연봉도 안오르고 해서 계속 축축처지는 와중에도 

열심히 블로그를 작성해서 하나의 거름을 뿌리는 마음으로 임해볼게요!

블로그를 작성한지 벌써 5년이나 지났지만 성과는 하나도 없군요! 인생~

1. 작전 준비물 (Requirements)

A35의 엑시노스 1380은 ARMv8.2-A 아키텍처를 기반으로 하며, dotprod 명령어를 지원합니다. 

이게 왜 중요하냐고요? 1비트 연산의 속도를 미친 듯이 끌어올릴 수 있는 핵심 열쇠이기 때문입니다.

필수 패키지 설치 (터미널 딸깎):

pkg update && pkg upgrade -y
pkg install -y git cmake ninja clang python-pip binutils
pkg install python-numpy

저는 sshd를 열어서 터미널환경도 노트북에서 진행하고 있어요.

코드서버도 ssh 터미널도 ssh~ 편한대로 하셔요~ 어짜피 AI가 뭐 일다한다잖아요 ㅋ AI 시키세요 ㅋㅋ

2. BitNet.cpp 소스코드 확보 및 빌드

마이크로소프트의 공식 엔진을 가져와서 우리 숙주(A35)에 맞게 최적화 빌드를 때려야 합니다.

cd ~/projects/ameva/models
git clone --recursive https://github.com/microsoft/BitNet.git
cd BitNet

# 2. 아메바 전용 환경 구성 및 llama.cpp 자동 패치
# 이 과정에서 llama.cpp 소스가 BitNet 전용으로 개조된다.
python3 setup_env.py

# 빌드 디렉토리 생성
mkdir build && cd build

# CMake 설정 (A35의 ARMv8.2 dotprod 최적화 타겟팅)
# Termux 내의 Clang을 사용하여 네이티브 빌드를 진행합니다.
cmake .. -G Ninja \
    -DCMAKE_C_COMPILER=clang \
    -DCMAKE_CXX_COMPILER=clang++ \
    -DBITNET_ARM_DOTPROD=ON \
    -DCMAKE_BUILD_TYPE=Release

# 빌드 시작 (A35의 8코어를 다 써서 빠르게 구워봅시다)
ninja

빌드가 성공하면 

python3 setup_env.py <<<< 이게 무진장 오래걸립니다.
**전 위 경우가 안되더라구요 저건 비트넷 공식 문서에서 발췌한건데 되면 되는거고~

혹시 빌드 안된다면 아래 반드시 확인하세요!!!!! ++대부분이 안되는것같은 ㅋ

저도 똑같이 겪었었어요 ㅠ

저는 AI랑 다르게 직접 쳐맞고 글쓰는사람입니다!@@@@

https://uno-kim.tistory.com/440

 

[BitNet빌드]BitNet Ninja Build Error 증상 및 해결방법

안녕하세요 남들은 라즈베리 파이같은 것에 설치를 할때 갤럭시 A35를 이용해서 AI 머신으로그리고 엣지 AI 등등을 하기위해 터뮤즈를 이용하여 BitNet cpp 를 Ninja를 이용하여 빌드하는 도중오류가

uno-kim.tistory.com

ls -l bin/llama-cli

갈겨서 상태확인해봅니다. 위처럼 나타나면 성공입니다 ㅎ

3. 1-bit 모델 내려받기 (The Intelligence)

70억 개의 파라미터를 가진 모델(7B)도 1비트로 깎으면 용량이 1.5GB~2GB 내외로 줄어듭니다. 

A35의 6~8GB 램에서도 충분히 기생할 수 있는 사이즈죠.

HuggingFace에서 BitNet b1.58 모델을 가져와야 합니다. 

용량 관계상 미리 깎인 .gguf 파일을 쓰는 게 정신 건강에 좋습니다.

microsoft/bitnet-b1.58-2B-4T-gguf · Hugging Face

 

microsoft/bitnet-b1.58-2B-4T-gguf · Hugging Face

We’re on a journey to advance and democratize artificial intelligence through open source and open science.

huggingface.co

요기가 허깅페이스라는 곳인데 모델들의 깃허브라고 이해하시면 됩니다.

# 1. 모델 저장소 건설
mkdir -p ~/projects/BitNet/models/BitNet-b1.58-2B-4T
cd ~/projects/BitNet/models/BitNet-b1.58-2B-4T

# 2. 실탄(1.1GB) 다시 땡겨오기 (와이파이 풀가동 하십쇼)
echo -e "\e[1;31m[!] 사라진 1-bit 실탄 재보급 중...\e[0m"
wget -c https://huggingface.co/microsoft/BitNet-b1.58-2B-4T-gguf/resolve/main/ggml-model-i2_s.gguf

참고: 만약 파일명이 다르다면 허깅페이스 'Files and versions' 탭에서 가장 용량이 큰 .gguf 파일의 링크를 복사해서 붙여넣으세요.

두근두근 이제 다운로드 시작~~~~~~~~~~~~~~~~~~~하겠읍니다!@

ls -lh ~/projects/BitNet/models/BitNet-b1.58-2B-4T/ggml-model-i2_s.gguf

모두 끝나면 이걸 통해서 잘 설치가 되었는지 확인합니다!!@

대략 위처럼 나오면 성공입니다.!

 


첫 번째 '자의식' 가동 테스트 (The Awakening)

자, 이제 아메바의 뇌를 처음으로 깨워봅시다. 

A35의 성능을 쥐어짜기 위해 강제하고 가동합니다.

cd ~/projects/BitNet/build

# 이번엔 진짜입니다. 아메바의 첫마디를 들으시죠.
./bin/llama-cli \
    -m ../models/BitNet-b1.58-2B-4T/ggml-model-i2_s.gguf \
    -t 8 --temp 0 -n 128 --color \
    -p "<|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\nHi! Tell me your name and how it feels to be born on a Galaxy A35.<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n"

ㅈ되는 '아메바' 완성 및 킥(Kick)

세계 최초(?)로 1비트 LLM을 탑재한 자율 첩보 에이전트
  1. "클라우드 꺼라. 내 폰은 인터넷 없어도 생각한다."
  2. "2B 모델이 1.5GB? 램 6기가 A35에겐 껌이다."
  3. "지잡대 ㅈ소+하청 개발자가 만든 에이전트가 삼성 기본 AI(빅스비)보다 말 잘 듣는다."
추론 한 번 돌릴 때마다 폰 온도가 2도씩 올라가니, 아메바에게 선풍기를 양보하라
728x90
LIST

댓글