마이크로소프트의 공식 엔진을 가져와서 우리 숙주(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 <<<< 이게 무진장 오래걸립니다. **전 위 경우가 안되더라구요 저건 비트넷 공식 문서에서 발췌한건데 되면 되는거고~
# 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을 탑재한 자율 첩보 에이전트
"클라우드 꺼라. 내 폰은 인터넷 없어도 생각한다."
"2B 모델이 1.5GB? 램 6기가 A35에겐 껌이다."
"지잡대 ㅈ소+하청 개발자가 만든 에이전트가 삼성 기본 AI(빅스비)보다 말 잘 듣는다."
댓글