Here are the current steps for builing BitNet.cpp for Raspberry Pi 5
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 40.3k
- Forks
- 3.7k
- PR merge metrics
- No merged PRs in 30d
Description
It took me a while to get this all working properly, so I thought I'd share steps that work:
#!/bin/bash
# Flash the latest Rasbperry Pi OS Lite onto an 32GB+ SD card, and run it on a Pi 5.
# Log in via SSH, a then:
# Prepare
sudo apt update
sudo apt install python3-pip python3-dev cmake build-essential git clang
wget -O - https://apt.llvm.org/llvm.sh | sudo bash -s 18
# Get the working version of BitNet.cpp
git clone --recursive https://github.com/microsoft/BitNet.git
cd BitNet
git reset --hard 404980e
git pull
# An alternative command would be:
# git clone --recursive --revision=c1e9a9a237f847f8aac9f7015b756cf4faf66d0e --depth=1 https://github.com/microsoft/BitNet.git
# ..but the version of Git available on Raspberry Pi OS doesn't support --revision yet
# Create and activate a new conda environment with Python 3.9
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh
bash Miniconda3-latest-Linux-aarch64.sh
source ~/.bashrc
conda create -n bitnet-cpp python=3.9
conda activate bitnet-cpp
# Install Python dependencies
conda install "pip<21.0.2"
pip install -r requirements.txt
# Build BitNet.cpp
python utils/codegen_tl1.py --model bitnet_b1_58-3B --BM 160,320,320 --BK 64,128,64 --bm 32,64,32
export CC=clang-18 CXX=clang++-18
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
cd ..
# Download the model
pip install huggingface_hub
hf download microsoft/BitNet-b1.58-2B-4T-gguf --local-dir models/BitNet-b1.58-2B-4T
# Test if everything works
python run_inference.py -m "models/BitNet-b1.58-2B-4T/ggml-model-i2_s.gguf" -p "You are a helpful assistant." -cnv
Related issues:
https://github.com/microsoft/BitNet/issues/195
https://github.com/microsoft/BitNet/issues/240
https://github.com/microsoft/BitNet/issues/305
https://github.com/microsoft/BitNet/issues/348
https://github.com/microsoft/BitNet/issues/411
https://github.com/microsoft/BitNet/issues/470
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by checking the repository documentation entry points, then verify the commands involving requirements.txt, utils/codegen_tl1.py, the CMake build, and run_inference.py on Raspberry Pi 5. Done means the tested steps are placed in the appropriate documentation with prerequisites, the pinned revision, and a successful inference check.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp, git, huggingface, linux, python, raspberry-pi, shell
- Domain
- build-system, documentation, embedded-iot, machine-learning
- Issue type
- Documentation
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100