Modder Crams LLM lên Pi Zero USB
Sử dụng LLM cục bộ đang gia tăng, với nhiều người thiết lập PC hoặc hệ thống để chạy chúng, ý tưởng chạy LLM trên máy chủ đám mây đang dần lỗi thời. Binh Pham đã thử nghiệm với Raspberry Pi Zero, biến thiết bị này thành một ổ USB nhỏ có thể chạy LLM cục bộ mà không cần thêm phần cứng nào. Dự án này được hỗ trợ chủ yếu nhờ vào llama.cpp và llamafile, một bộ lệnh kết hợp với các gói thiết kế để cung cấp trải nghiệm chatbot nhẹ nhàng ngoại tuyến.
Tuy nhiên, do Pi Zero đã ra đời được tám năm, việc cài đặt llama.cpp lên Pi Zero không hề đơn giản. Đầu tiên, Pham đã gắn thiết bị vào giao diện USB và in 3D vỏ cho nó. Sau khi giải quyết những vấn đề đó, dự án trở nên phức tạp hơn do hạn chế 512MB RAM của Pi Zero W. Sau khi cố gắng biên dịch llama.cpp, thiết bị đã thất bại và không ai dám thử nghiệm xây dựng llama.
Để chạy cpp trên Pi Zero hoặc Pi One, vấn đề chính là CPU của Pi Zero sử dụng ARMv6. Để khắc phục, anh ấy đã phải chuyển đổi mã lệnh ARMv8 của llama.cpp và loại bỏ các chú thích hoặc tối ưu hóa dựa trên phần cứng hiện đại. Sau khi chỉnh sửa mã nguồn llama.cpp để hoạt động trên Pi Zero, anh ấy cần làm cho phần mềm của thiết bị USB hoạt động.
Sau đó, anh chú trọng vào việc tạo ra trải nghiệm phần mềm mượt mà nhất có thể. LLM được thiết kế để nhận tệp văn bản làm gợi ý chính. Phạm đã phát triển ứng dụng của mình để tạo ra một câu chuyện dựa trên gợi ý văn bản và xuất ra tệp đầy đủ với các kết quả đã được tạo. Với giới hạn token là 64, anh đã thiết lập nhiều tiêu chuẩn với các mô hình từ 15M đến 136M.
Mô hình Tiny15M đạt tốc độ 223ms mỗi token, trong khi hai mô hình lớn hơn là Lamini-T5-Flan-77M và SmolLM2-136M có tốc độ lần lượt là 2.5s và 2.2s mỗi token. Tốc độ này cho thấy chúng sẽ quá chậm để sử dụng trong nhiều ứng dụng thực tế. Dù là một dự án thú vị, việc sử dụng phần cứng cũ và nhẹ để chạy LLM cục bộ có thể không mang lại nhiều lợi ích thực tiễn.
Thay vào đó, bạn có thể sử dụng một mô hình phức tạp hơn, như chạy Deepseek trên Raspberry Pi 5.
Nguồn: www.tomshardware.com/raspberry-pi/raspberry-pi-zero/pi-zero-llm-usb-stick