Orange Pi RV2 là một sản phẩm thuần RISC-V được ra mắt hồi đầu năm 2025 của hãng Orange Pi. Mặc dù mang tên là Orange Pi RV2 nhưng nó lại không có liên quan gì hết với sản phẩm Orange Pi RV đầu tiên của hãng, với việc sử dụng cấu trúc bo mạch khác nhau và con chip SoC cũng khác nhau.
Nếu như trước đây, sản phẩm Orange Pi RV1 được ra mắt như cú “chào sân” vào cuộc chạy đua RISC-V của hãng với chip thuần RISC-V StarFive JH7110, thì lần này Orange Pi RV2 được trang bị một chip SoC 100% RISC-V cực mạnh đến từ T-Head, một bộ phận của Tập đoàn Alibaba, đó chính là Ky X1.
Orange Pi RV2 – máy tính đơn bo mạch chuyên hiệu năng cho Trí tuệ nhân tạo (AI)
Ky X1 là một bộ xử lý 8 lõi RISC-V AI CPU, có sức mạnh NPU là 2 TOPS (2 triệu tỉ phép tính mỗi giây). Bộ xử lý này được tích hợp trên máy tính bo mạch đơn (SBC) như Orange Pi RV2, đánh dấu một bước tiến quan trọng trong lĩnh vực xử lý RISC-V và AI. Nhưng cũng giống như các sản phẩm khác, sau khi ra mắt, Hãng bắt đầu mới cập nhật User Manual và các phần mềm liên quan đế mở rộng khả năng sử dụng của bo mạch.
Với việc có 2 cổng LAN Gigabit, trước đây tôi dã nghĩ đến việc biến Orange Pi RV2 thành router chạy trên hệ đièu hành Ubuntu 24.04 (Noble Numbat) được built của hãng. Tuy nhiên sau đó, với việc ra đời phiên bản OpenWRT dành riêng cho Orange Pi RV2 thì việc chạy routing mạng trên Ubuntu có vẻ hơi thừa, vì OpenWRT là HDH mã nguồn mở quá chuyên dụng và quá nổi tiếng cho routing mạng rồi.
Ngoài ra, Canonical, nhà phát hành Ubuntu, mới đây vừa công bố phát hành các bản Ubuntu developer images dành cho Orange Pi RV2 – một máy tính đơn bảng (SBC) giá rẻ sử dụng kiến trúc RISC-V. Đây là bước tiến nhằm mở rộng hệ sinh thái phần cứng được chứng nhận của Ubuntu, giúp các nhà phát triển dễ dàng tiếp cận công nghệ phần cứng và phần mềm mã nguồn mở mới nhất. Link gốc: https://canonical.com/blog/ubuntu-developer-images-now-available-for-orangepi-rv2-a-low-cost-risc-v-sbc
Do vậy, việc sử dụng Ubuntu trên Orange Pi RV2 sau này sẽ thuận tiện hơn rất nhiều. Và gần đây, hãng đã đăng lên các phần mềm và model dể triển khai LLM trên OrangePi RV2, vì thế tôi đã tải về và nghiên cứu thử triển khai luôn cho nóng.
Chạy mô hình LLM trên Orange Pi RV2
🛠️ Các bước thực hiện:
-
Tải mã nguồn:
https://github.com/thanhtantran/RiscV-KyX1-LLM-Demo
cd RiscV-KyX1-LLM-Demo/python
-
Cài đặt thư viện:
pip3 install ./onnxruntime_genai-0.4.0.dev1-cp312-cp312-linux_riscv64.whl ./ky_ort-1.2.2-cp312-cp312-linux_riscv64.whl --break-system-packages export PATH="$PATH:/home/orangepi/.local/bin"
-
Tải mô hình đã chuyển đổi:
GDrive ID | File name | Model name |
---|---|---|
1XVLXUlrJZyOwDlrqOwyH4kxhAd9d5QWz | minicpm-1b-int4-blk64-fusion.tar.gz | minipcm |
1N9sHii6Cl5UyKS59l8DD3s2W23fF9t6k | phi-3-mini-int4-3.8b.tar.gz | phi3 |
1Q7qyorYStCm3gv2jQUNODBO6m63223mQ | llama3-int4-8b-blk64-fusion.tar.gz | llama3 |
1g3_Ni7sZg-_JR8u9Kx8hxHzPx9bE-Z-k | qwen2-int4-1.5b.tar.gz | qwen2 |
Trường hợp các bạn muốn tự mình tải về để nghiên cứu, đây là link GGDrive cho các bạn xem: https://drive.google.com/drive/folders/1_S2slyQPmSETDCaMOQqrd1hCZF3wqRPV
-
Chạy thử mô hình:
Để xem đầy đủ các tham số của câu lệnh, các bạn dùng
python3 llm_qa.py --help usage: llm_qa.py [-h] -m MODEL -e {qwen2,minicpm,tinyllama,phi2,gemma,phi3,llama3} [-i MIN_LENGTH] [-l MAX_LENGTH] [-ds] [-p TOP_P] [-k TOP_K] [-t TEMPERATURE] [-r REPETITION_PENALTY] [-v] [-g]
Convert các mô hình LLM khác sang định dạng chạy trên Orange Pi RV2
Lưu ý là Orange Pi RV2 có NPU chỉ thích hợp với việc chạy và triển khai mô hình, việc đào tạo (training) hay chuyển đổi (convert) mô hình từ định dạng khác sang định dạng chạy được trên Orange Pi RV2 cần phải được triển khai trên các máy tính có cấu hình mạnh, có GPU để làm.
Bạn cũng cần clone github này về: https://github.com/thanhtantran/RiscV-KyX1-LLM-Demo
- Chuẩn bị môi trường chuyển đổi
cd python/genai-builder
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
Clone the repo
https://github.com/thanhtantran/RiscV-KyX1-LLM-Demo
cd RiscV-KyX1-LLM-Demo/python
- Chuyển đổi mô hình
python builder.py \
-m Qwen/Qwen2-1.5B \
-o qwen2-1.5b-int4-blk64 \
-p int4 \
-e cpu \
-c model_cache \
--extra_options int4_accuracy_level=4 int4_block_size=64
# Recommended parameter accuracy_level=4 (W4A8 GroupWise quantization, block_size=64)
Hiện tại chỉ có các mô hình thuộc nhóm mô hình Qwen, Phi, LLAMA, Gemma, … là đang có thể chuyển đổi được.
Video hướng dẫn chi tiết:
[Youtube]Chúc các bạn thành công!