LLMStick – อุปกรณ์ AI และ LLM ในรูปแบบ USB Stick ที่ใช้ Raspberry Pi Zero W สามารถทำงานร่วมกับ llama.cpp ได้

Binh Pham ยูทูบเบอร์และผู้ที่หลงใหลในเทคโนโลยี ได้สร้างอุปกรณ์ AI และ LLM แบบพกพาในรูปแบบ USB stick ชื่อว่า LLMStick โดยใช้ Raspberry Pi Zero W อุปกรณ์นี้นำเสนอแนวคิดของ LLM แบบ Plug-and-Play ที่สามารถใช้งานได้โดยไม่ต้องเชื่อมต่อกับอินเทอร์เน็ต

หลังจากที่ DeepSeek ได้สร้างความฮือฮาด้วยประสิทธิภาพและการเข้าถึงแบบโอเพ่นซอร์ส เราได้เห็นเครื่องมือเช่น Exo ที่ช่วยให้สามารถรันโมเดลภาษาใหญ่ (LLMs) บนกลุ่มอุปกรณ์ต่างๆ เช่น คอมพิวเตอร์ สมาร์ทโฟน และบอร์ดคอมพิวเตอร์ขนาดเล็ก (SBC) โดยการกระจายภาระการประมวลผลอย่างมีประสิทธิภาพ นอกจากนี้ Radxa ยังได้ออกคำสั่งในการรัน DeepSeek R1 (Qwen2 1.5B) บน บอร์ด SBC ที่ใช้ Rockchip RK3588 มี NPU 6 TOPS

LLMStick

Pham ตั้งใจที่จะใช้โปรเจ็กต์ llama.cpp เนื่องจากได้รับการออกแบบมาโดยเฉพาะสำหรับอุปกรณ์ที่มีทรัพยากรจำกัด แต่การรัน llama.cpp บน Raspberry Pi Zero W ไม่ใช่เรื่องง่าย เพราะต้องเจอกับปัญหาความเข้ากันได้ของสถาปัตยกรรม เนื่องจาก Pi Zero W ใช้สถาปัตยกรรมเก่า ARMv6 ในขณะที่ llama.cpp ได้รับการปรับแต่งให้ทำงานกับสถาปัตยกรรม ARM รุ่นใหม่กว่า (เช่น ARMv8-A บน Raspberry Pi 5) ซึ่งการปรับแต่งเหล่านี้อาศัยชุดคำสั่ง Arm Neon ที่ Pi Zero W ไม่มี ทำให้เกิดข้อผิดพลาดระหว่างการคอมไพล์

เพื่อแก้ไขปัญหานี้ Pham ได้แก้ไขซอร์สโค้ดของ llama.cpp โดยระบุการปรับแต่งที่ขึ้นอยู่กับสถาปัตยกรรม จากนั้นจึงลบหรือแก้ไขบางส่วนของโค้ดให้รองรับ ARMv6 จนสามารถสร้างโปรเจกต์ใหม่ที่เรียกว่า llama.zero กระบวนการนี้ซับซ้อนและใช้เวลานาน เนื่องจากต้องมีความเข้าใจเชิงลึกเกี่ยวกับโค้ดและสถาปัตยกรรมของ ARM นอกจากนี้ เขายังกล่าวว่า การคอมไพล์โค้ดนี้บน CPU ที่มีอายุ 23 ปีใช้เวลาถึง 12 ชั่วโมง

LLM on USB Stick

หลังจากเสร็จสิ้นกระบวนการคอมไพล์ Pham ก็เริ่มพัฒนาอินเทอร์เฟซ และตัดสินใจใช้ USB Gadget Mode ซึ่งทำให้ Raspberry Pi แสดงตัวเป็นอุปกรณ์จัดเก็บข้อมูล USB เมื่อเชื่อมต่อกับคอมพิวเตอร์ วิธีใช้งานนั้นง่ายมาก เพียงแค่สร้างไฟล์ที่มี Prompt แล้ว LLM จะเขียนคำตอบกลับลงไปในไฟล์เดิมโดยอัตโนมัติ วิธีนี้เปลี่ยน Raspberry Pi Zero W ให้กลายเป็น อุปกรณ์ AI แบบพกพา ที่สามารถใช้งาน LLM แบบออฟไลน์ ได้ในขนาดเล็กกะทัดรัด

ขณะเขียนบทความเกี่ยวกับโปรเจกต์นี้ ผู้เขียนสงสัยว่าทำไม Pham ไม่ใช้ Raspberry Pi Zero 2W ที่ใหม่กว่าเพราะมันสามารถใช้งานแทนกันได้เกือบ 100% และให้ประสิทธิภาพที่สูงขึ้นมาก ทำให้สามารถรันโมเดลที่ใหญ่และใช้งานได้จริงมากขึ้น อีกทั้ง Pi Zero 2W ยังใช้สถาปัตยกรรม ARMv8 ซึ่งช่วยตัดปัญหาการแก้ไขซอร์สโค้ดไปได้เลย โปรเจกต์นี้แสดงให้เห็นถึงศักยภาพของ LLM บนอุปกรณ์ฮาร์ดแวร์ขนาดเล็ก แม้ว่าประสิทธิภาพจะยังเป็นข้อจำกัดอยู่ก็ตาม โดยโครงการนี้ประกอบไปด้วย llama.cpp เวอร์ชันที่ถูกแก้ไข พร้อมคำแนะนำในการตั้งค่า Raspberry Pi Zero เป็นอุปกรณ์ USB ซึ่งสามารถดูรายละเอียดเพิ่มเติมได้จาก GitHub ของ Pham Tuan Binh

แปลจากบทความภาษาอังกฤษ : LLMStick – An AI and LLM USB device based on Raspberry Pi Zero W and optimized llama.cpp

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
โฆษณา