Hướng dẫn cài đặt và chạy LLaMA.CPP trên Orange Pi RV2 (RISC-V 64-bit)

🧠 Giới thiệu về llama.cpp

llama.cpp là một phần mềm mã nguồn mở được viết bằng C/C++, cho phép chạy các mô hình ngôn ngữ lớn như LLaMA 1/2, Mistral, Falcon… hoàn toàn offline, không cần GPU, và tối ưu để chạy trên CPU – kể cả trên các thiết bị nhỏ như SBC (Single Board Computer), đặc biệt là Orange Pi như Orange Pi RV2 (RISC-V 64-bit)

Điểm mạnh của llama.cpp:

  • Hỗ trợ nhiều định dạng mô hình .gguf hiệu quả

  • Hỗ trợ OpenBLAS, SIMD, AVX, NEON

  • Có thể chạy tốt trên các thiết bị ARM, x86, RISC-V với bộ nhớ giới hạn

  • Hữu ích cho các dự án AI edge/offline không cần đám mây.

Các bước cài đặt

🛠️ Bước 1: Cài đặt compiler RISC-V

llama.cpp yêu cầu compile C phiên bản 14, nếu bạn cài HDH Ubuntu 24.04 sẵn của hãng, bạn chỉ có bản version 12, do đó phải cài bản 14 cho phù hợp

sudo apt install gcc-14-riscv64-linux-gnu g++-14-riscv64-linux-gnu
sudo apt install libc6-riscv64-cross

📥 Bước 2: Tải mã nguồn llama.cpp

git clone https://github.com/ggml-org/llama.cpp && cd llama.cpp

⚙️ Bước 3: Cấu hình cmake để compile cho RISC-V

cmake -DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_C_COMPILER=/usr/bin/riscv64-linux-gnu-gcc-14 \
-DCMAKE_CXX_COMPILER=/usr/bin/riscv64-linux-gnu-g++-14 \
..

Nếu gặp lỗi, hãy cấu hình lại GCC mặc định:

sudo update-alternatives --install \
/usr/bin/riscv64-linux-gnu-gcc riscv64-linux-gnu-gcc /usr/bin/riscv64-linux-gnu-gcc-14 100

sudo update-alternatives --install \
/usr/bin/riscv64-linux-gnu-g++ riscv64-linux-gnu-g++ /usr/bin/riscv64-linux-gnu-g++-14 100

sudo update-alternatives --config riscv64-linux-gnu-gcc


🧱 Bước 4: Cài thư viện OpenBLAS và build

sudo apt-get install libopenblas-dev
make LLAMA_OPENBLAS=1 # Bật tăng tốc OpenBLAS

🧠 Bước 5: Chọn mô hình phù hợp

Thiết bị RAM Mô hình đề xuất Ghi chú
Orange Pi RV2 (4GB RAM) 4GB TinyLlama 1.1B, Phi-2 Q4 Nhẹ, tốc độ nhanh, đủ cho tác vụ đơn giản
Orange Pi RV2 (8GB RAM) 8GB LLaMA-2 7B Chat Q4_K_M, Mistral Q4_K_M Cần tối ưu zram/swap để không bị thiếu bộ nhớ

📦 Bước 6: Tải mô hình .gguf

👉 Dành cho Orange Pi RV2 4GB:

mkdir -p models/tinyllama-1.1b-chat
cd models/tinyllama-1.1b-chat
wget https://huggingface.co/cg123/TinyLlama-1.1B-Chat-v1.0-GGUF/resolve/main/TinyLlama-1.1B-Chat-v1.0.Q4_K_M.gguf

👉 Dành cho Orange Pi RV2 8GB:

mkdir -p models/llama-2-7b-chat
cd models/llama-2-7b-chat
wget https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF/resolve/main/llama-2-7b-chat.Q4_K_M.gguf

🧪 Bước 7: Chạy thử mô hình

./main -m ./models/tinyllama-1.1b-chat/TinyLlama-1.1B-Chat-v1.0.Q4_K_M.gguf -p "What is the capital of France?" -n 64

Hoặc với LLaMA 2 7B:

./main -m ./models/llama-2-7b-chat/llama-2-7b-chat.Q4_K_M.gguf -p "Tell me a joke." -n 64

📊 Bước 8: Benchmark hiệu năng

./benchmark -m ./models/TinyLlama-1.1B-Chat-v1.0.Q4_K_M.gguf -t 4 -n 128

Hoặc:

./benchmark -m ./models/llama-2-7b-chat.Q4_K_M.gguf -t 4 -n 128

-t: số luồng CPU (nên = số lõi thực), -n: số lượng token


🧩 Bước 9: Tối ưu bộ nhớ bằng zram hoặc swap (khuyến nghị cho 8GB)

Các mô hình như LLaMA-2 7B yêu cầu nhiều RAM, nên nếu bị lỗi killed khi chạy, bạn nên kích hoạt zram hoặc swap để tránh quá tải bộ nhớ.

✅ Cài zram (ưu tiên)

sudo apt install zram-tools

Sau đó chỉnh file cấu hình (nếu có):

sudo nano /etc/default/zramswap

Đảm bảo dòng sau có:

PERCENT=100 # Sử dụng 100% RAM làm zram (tuỳ chỉnh)

Khởi động lại dịch vụ:

sudo systemctl restart zramswap

Kiểm tra:

swapon --show

✅ Hoặc tạo swap thủ công

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Thêm vào /etc/fstab để tự động bật mỗi lần khởi động:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

✅ Kết luận

Với llama.cpp, bạn hoàn toàn có thể triển khai AI offline ngay trên thiết bị Orange Pi RV2. Dù là 4GB hay 8GB, chỉ cần chọn mô hình phù hợp và tối ưu bộ nhớ tốt, bạn đã có một hệ thống AI mini cho riêng mình.

 

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *