Cách chạy AI trên Raspberry Pi cục bộ với Ollama (LLM) và Open WebUI

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 reboot

Bướ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 | sh

Sau khi cài đặt, hãy kiểm tra bằng lệnh:

ollama --version

Bướ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 tinyllama

Sau 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 docker

Xác nhận Docker hoạt động bằng lệnh:

docker --version

Bướ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:ollama

Sau đó, 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 -h

Việ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 -h

Thê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 /swapfile

Quá 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_temp

Thê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 tinyllama

Chạ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ế.

Chủ Nhật, 22/03/2026 14:15
51 👨 35
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
    ❖ Làm chủ AI