Bài viết hôm nay sẽ trình bày cách chạy AI cục bộ trên Raspberry Pi bằng Ollama và Open WebUI, dựa trên thử nghiệm thực tế chứ không phải lý thuyết. Hướng dẫn này giải thích cách chọn mô hình, thiết lập cục bộ và các giải pháp thực tế cho những vấn đề thường gặp như giới hạn dung lượng lưu trữ, lỗi bộ nhớ và quá nhiệt. Nó cho thấy những gì thực sự hoạt động trên Raspberry Pi khi triển khai các mô hình ngôn ngữ lớn (LLM) nhẹ để học tập ngoại tuyến và trình diễn.
Cấu hình phần cứng và hệ thống được khuyên dùng
Dựa trên kinh nghiệm, đây là những gì bài viết đặc biệt khuyên dùng:
- Raspberry Pi 4 (4GB hoặc 8GB) hoặc Raspberry Pi 5
- Thẻ nhớ SD ít nhất 32GB (thẻ 16GB đã gây ra nhiều vấn đề nghiêm trọng)
- Nguồn điện phù hợp
- Tản nhiệt và quạt
- Hệ điều hành Raspberry Pi OS 64-bit
Hướng dẫn từng bước cách chạy AI trên Raspberry Pi
Bước 1: Cập nhật Raspberry Pi OS
Trước khi cài đặt bất kỳ thứ gì liên quan đến AI, hãy đảm bảo rằng Raspberry Pi OS của bạn đã được cập nhật đầy đủ. Bước này rất dễ bỏ qua, nhưng theo kinh nghiệm, các gói phần mềm lỗi thời có thể gây ra những sự cố không mong muốn sau này khi cài đặt Ollama hoặc Docker.
sudo apt update && sudo apt upgrade -y
sudo rebootBước 2: Cài đặt Ollama
Ollama là thành phần cốt lõi thực sự chạy các mô hình AI. Nó loại bỏ hầu hết sự phức tạp liên quan đến việc quản lý các mô hình ngôn ngữ, điều này đặc biệt quan trọng trên phần cứng có tài nguyên hạn chế.
curl-fsSL https://ollama.com/install.sh | shSau khi cài đặt, hãy kiểm tra bằng lệnh:
ollama --versionBước 3: Tải xuống và chạy mô hình
Tải xuống một mô hình đơn giản có nghĩa là tải nó về máy để có thể chạy cục bộ. Trên Raspberry Pi, việc lựa chọn mô hình rất quan trọng. Các mô hình lớn hơn có thể tải xuống thành công nhưng bị lỗi trong quá trình thực thi.
Đối với bản demo, ví dụ đã chọn TinyLlama vì nó load ổn định và nằm trong giới hạn bộ nhớ của Raspberry Pi.
ollama run tinyllamaSau khi load xong, hãy thử nghiệm nó với các prompt có cấu trúc như tóm tắt, viết lại và danh sách kiểm tra. Chúng hoạt động tốt một cách nhất quán. Tránh các câu hỏi mở như “Bạn là ai?” vì TinyLlama không được thiết kế cho mức độ tương tác đó.
Thoát phiên bằng Ctrl + D.
Bước 4: Cài đặt Docker
Hãy cài đặt Docker để chạy Open WebUI trong một container. Cách tiếp cận này giúp thiết lập gọn gàng và dễ dàng khởi động lại hoặc gỡ bỏ WebUI mà không ảnh hưởng đến phần còn lại của hệ thống.
sudo apt install docker.io -y
sudo systemctl enable docker
sudo systemctl start dockerXác nhận Docker hoạt động bằng lệnh:
docker --versionBước 5: Cài đặt Open WebUI
Open WebUI cung cấp giao diện trò chuyện hoàn chỉnh trên trình duyệt trong khi vẫn sử dụng các mô hình AI cục bộ. Điều này làm cho toàn bộ thiết lập trở nên chuyên nghiệp hơn nhiều cho các bản demo.
sudo docker run -d \
-p3000:8080 \
-v ollama:/root/.ollama \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \ghcr.io/open-webui/open-webui:ollamaSau đó, truy cập giao diện người dùng tại:
- http://localhost:3000 trên Pi
- http://ip:3000 từ một thiết bị khác trên cùng mạng
Khắc phục sự cố: Các vấn đề thực tế thường gặp phải
Thẻ SD hết dung lượng (Thẻ 16GB bị lỗi)
Đây là một trong những sai lầm lớn nhất mọi người thường mắc phải ban đầu. Với thẻ SD 16GB, hệ thống nhanh chóng hết dung lượng sau khi tải các mô hình và cài đặt Docker. Khi điều này xảy ra, Raspberry Pi trở nên không phản hồi và các lệnh bắt đầu bị treo.
Kiểm tra mức sử dụng ổ đĩa bằng lệnh:
df -hViệc dọn dẹp đã giúp ích tạm thời, nhưng giải pháp thực sự là nâng cấp lên thẻ SD 16GB hoặc 64GB.
Lỗi bộ nhớ và lỗi “signal: killed”
Trong khi chạy các mô hình, nhiều người liên tục gặp lỗi trong đó Ollama bị hệ thống tắt. Điều này xảy ra khi Linux hết RAM và kích hoạt OOM killer.
Xác nhận điều này bằng lệnh:
dmesg -T | tail -n80 | egrep -i"oom|killed"
free -hThêm bộ nhớ ảo (swap memory) đã cải thiện đáng kể độ ổn định:
sudo fallocate -l 4G /swapfile
sudochmod600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfileQuá nhiệt khi tải mô hình
Trong quá trình tải và chạy mô hình, Raspberry Pi nóng lên rõ rệt. Nếu không có hệ thống làm mát phù hợp, hiệu năng sẽ giảm do thiết bị quá nóng.
Theo dõi nhiệt độ bằng cách sử dụng:
vcgencmd measure_tempThêm tản nhiệt và quạt đã tạo ra sự khác biệt rõ rệt.
Quản lý các mô hình
Mỗi khi cần giải phóng dung lượng hoặc chuyển đổi giữa các bản demo, hãy xóa các mô hình không sử dụng:
ollama list
ollama rm tinyllamaChạy AI trên Raspberry Pi hoàn toàn khả thi nếu bạn tôn trọng giới hạn phần cứng. Từ kinh nghiệm, những bài học quan trọng rất đơn giản:
- Dung lượng lưu trữ quan trọng hơn bạn nghĩ
- Bộ nhớ ảo (swap) rất cần thiết trên các hệ thống có RAM thấp
- Hệ thống làm mát là bắt buộc
- Các mô hình nhỏ cần những prompt có cấu trúc
Thiết lập này không nhằm mục đích thay thế AI đám mây, nhưng nó hoàn hảo cho việc học tập, trình diễn và hiểu AI trong các điều kiện thực tế.
Làm chủ AI
Học IT










Microsoft Word 2013
Microsoft Word 2007
Microsoft Excel 2019
Microsoft Excel 2016
Microsoft PowerPoint 2019
Google Sheets
Lập trình Scratch
Bootstrap
Ô tô, Xe máy