llama.cpp เพิ่มการรองรับวิชันแบบมัลติโมดัลให้กับเซิร์ฟเวอร์และเครื่องมือ CLI

ทีมบรรณาธิการ BigGo
llama.cpp เพิ่มการรองรับวิชันแบบมัลติโมดัลให้กับเซิร์ฟเวอร์และเครื่องมือ CLI

โครงการโอเพนซอร์ส llama.cpp ได้ขยายขีดความสามารถอย่างมีนัยสำคัญด้วยการเพิ่มการรองรับวิชันแบบมัลติโมดัลอย่างครอบคลุมให้กับทั้งเซิร์ฟเวอร์และเครื่องมือคอมมานด์ไลน์อินเตอร์เฟซ การผสานรวมนี้ช่วยให้ผู้ใช้สามารถรันโมเดลภาษา-วิชันบนฮาร์ดแวร์ของตัวเองได้ ทำให้สามารถอธิบายและวิเคราะห์ภาพได้โดยไม่ต้องพึ่งพาบริการคลาวด์

การใช้งานมัลติโมดัลแบบรวม

การพัฒนาใหม่นี้ได้รวมฟังก์ชันวิชันที่แยกกันก่อนหน้านี้ให้อยู่ภายใต้กรอบการทำงานเดียวกัน ตามการสนทนาในชุมชน นักพัฒนาที่ชื่อ ngxson มีบทบาทสำคัญในความพยายามนี้ โดยเริ่มจากการเพิ่มการรองรับโมเดลวิชันต่างๆ ด้วยโปรแกรม CLI แยกกัน จากนั้นรวมเข้าด้วยกันภายใต้เครื่องมือคอมมานด์ไลน์เดียวที่เรียกว่า llama-mtmd-cli และในที่สุดก็นำความสามารถนี้มาสู่ส่วนเซิร์ฟเวอร์ การรองรับมัลติโมดัลทำงานผ่านไลบรารีที่เรียกว่า libmtmd ซึ่งจัดการการประมวลผลก่อนแปลงภาพเป็นเอมเบดดิ้งแยกต่างหากจากโมเดลภาษาหลัก

แนวทางสถาปัตยกรรมนี้สะท้อนถึงวิธีที่การประมวลผลข้อความพัฒนาในระบบนิเวศทรานส์ฟอร์มเมอร์ โดยมีไลบรารีเฉพาะทางจัดการการแปลงเป็นโทเค็นแยกต่างหากจากโมเดลหลัก การแยกส่วนนี้ช่วยให้สามารถปรับแต่งประสิทธิภาพเฉพาะสำหรับการประมวลผลภาพ ในขณะที่ยังคงความเข้ากันได้กับกรอบการทำงาน llama.cpp โดยรวม

โมเดลที่รองรับและประสิทธิภาพ

การพัฒนานี้รองรับโมเดลมัลติโมดัลที่น่าประทับใจหลายตัว รวมถึง Gemma 3 (ในรุ่น 4B, 12B และ 27B), โมเดล SmolVLM, Pixtral 12B, Qwen2 VL, Qwen2.5 VL และ Mistral Small 3.1 ผู้ใช้รายงานประสบการณ์ที่ดีเป็นพิเศษกับโมเดล Gemma 3 4B ซึ่งแม้จะมีขนาดค่อนข้างเล็กแต่ให้คำอธิบายภาพที่น่าประทับใจ

รายงานประสิทธิภาพจากชุมชนระบุว่าบน M1 MacBook Pro ที่มี RAM 64GB โมเดล Gemma 3 4B ประมวลผลพรอมต์ที่ประมาณ 25 โทเค็นต่อวินาที และสร้างโทเค็นที่ 63 โทเค็นต่อวินาที การประมวลผลภาพใช้เวลาประมาณ 15 วินาทีไม่ว่าภาพจะมีขนาดเท่าใด ระดับประสิทธิภาพนี้ทำให้โมเดลเหล่านี้สามารถใช้งานได้จริงสำหรับแอปพลิเคชันในโลกแห่งความเป็นจริงบนฮาร์ดแวร์ระดับผู้บริโภค

โมเดลมัลติโมดัลที่รองรับ

  • Gemma 3 Series

    • ggml-org/gemma-3-4b-it-GGUF
    • ggml-org/gemma-3-12b-it-GGUF
    • ggml-org/gemma-3-27b-it-GGUF
  • SmolVLM Series

    • ggml-org/SmolVLM-Instruct-GGUF
    • ggml-org/SmolVLM-256M-Instruct-GGUF
    • ggml-org/SmolVLM-500M-Instruct-GGUF
    • ggml-org/SmolVLM2-2.2B-Instruct-GGUF
    • ggml-org/SmolVLM2-256M-Video-Instruct-GGUF
    • ggml-org/SmolVLM2-500M-Video-Instruct-GGUF
  • Pixtral

    • ggml-org/pixtral-12b-GGUF
  • Qwen 2 VL

    • ggml-org/Qwen2-VL-2B-Instruct-GGUF
    • ggml-org/Qwen2-VL-7B-Instruct-GGUF
  • Qwen 2.5 VL

    • ggml-org/Qwen2.5-VL-3B-Instruct-GGUF
    • ggml-org/Qwen2.5-VL-7B-Instruct-GGUF
    • ggml-org/Qwen2.5-VL-32B-Instruct-GGUF
    • ggml-org/Qwen2.5-VL-72B-Instruct-GGUF
  • Mistral Small

    • ggml-org/Mistral-Small-3.1-24B-Instruct-2503-GGUF

การประยุกต์ใช้งานจริง

สมาชิกในชุมชนได้เริ่มนำความสามารถเหล่านี้ไปใช้งานจริงแล้ว ผู้ใช้รายหนึ่งอธิบายถึงการสร้างระบบเพื่อสร้างคำสำคัญและคำอธิบายสำหรับภาพถ่ายวันหยุด โดยสังเกตว่าโมเดล Gemma 3 4B สามารถดึงข้อมูลที่มีความหมายรวมถึงการทำ OCR (การรู้จำอักขระด้วยแสง) พื้นฐานจากภาพที่มีข้อความและระบุข้อมูลตำแหน่งตามบริบทได้

ชุดโมเดล SmolVLM ได้รับการเน้นย้ำว่าเหมาะสำหรับแอปพลิเคชันแบบเรียลไทม์เช่นการเฝ้าระวังวิดีโอภายในบ้านเนื่องจากมีขนาดเล็กและเวลาตอบสนองที่รวดเร็ว โมเดลเหล่านี้มีขนาดตั้งแต่เพียง 256MB ไปจนถึง 2.2GB ทำให้สามารถเข้าถึงได้แม้บนอุปกรณ์ที่มีทรัพยากรจำกัด

ประสิทธิภาพการทำงาน (Gemma 3 4B บน M1 MacBook Pro 64GB)

  • การประมวลผลคำสั่ง: 25 โทเค็นต่อวินาที
  • การสร้างโทเค็น: 63 โทเค็นต่อวินาที
  • เวลาในการประมวลผลรูปภาพ: ประมาณ 15 วินาทีต่อรูป (ไม่ขึ้นกับขนาดรูปภาพ)

การติดตั้งและการใช้งาน

การเริ่มต้นใช้งานความสามารถมัลติโมดัลนั้นไม่ซับซ้อน ผู้ใช้สามารถดาวน์โหลดไบนารีที่คอมไพล์ไว้แล้วจากหน้า GitHub releases ของ llama.cpp หรือติดตั้งผ่านตัวจัดการแพ็คเกจเช่น Homebrew เครื่องมือสามารถรันด้วยคำสั่งง่ายๆ ที่ระบุโมเดลที่จะใช้ พร้อมตัวเลือกในการควบคุมการโอนงานไปยัง GPU เพื่อปรับปรุงประสิทธิภาพ

สำหรับผู้ที่ใช้ macOS ที่ใช้ Homebrew แพ็คเกจจะได้รับการอัปเดตเพื่อรวมความสามารถใหม่เหล่านี้ ช่วยให้ผู้ใช้สามารถรัน brew upgrade llama.cpp เพื่อรับฟีเจอร์ล่าสุดได้อย่างง่ายดาย การพัฒนานี้ใช้ประโยชน์จากการเร่งความเร็ว GPU โดยอัตโนมัติเมื่อมี โดยผู้ใช้ Metal backend จะได้รับประโยชน์จากการโอนเลเยอร์โดยอัตโนมัติ

การพัฒนานี้เป็นก้าวสำคัญสำหรับความสามารถของ AI ที่ทำงานบนอุปกรณ์ปลายทาง นำโมเดลภาษา-วิชันที่ทรงพลังมาสู่อุปกรณ์ท้องถิ่นโดยไม่จำเป็นต้องเชื่อมต่อกับคลาวด์หรือบริการสมัครสมาชิก เมื่อเครื่องมือเหล่านี้ยังคงพัฒนาต่อไป เราคาดว่าจะเห็นแอปพลิเคชันที่ใช้ประโยชน์จาก AI แบบมัลติโมดัลสำหรับกรณีการใช้งานส่วนตัวและมืออาชีพเพิ่มมากขึ้น

อ้างอิง: Multimodal