การเปิดตัวการรองรับ Llama 3.2 Vision ใน Ollama ล่าสุดถือเป็นก้าวสำคัญทางเทคนิค แต่การสนทนาในชุมชนได้เผยให้เห็นทั้งความซับซ้อนทางเทคนิคเบื้องหลังการพัฒนานี้ และข้อควรพิจารณาต่างๆ สำหรับผู้ใช้งาน
การปรับเปลี่ยนทางเทคนิคครั้งใหญ่
การนำ Llama 3.2 Vision มาใช้ใน Ollama เกี่ยวข้องกับการเปลี่ยนแปลงสถาปัตยกรรมอย่างมาก ทีมพัฒนาได้เขียนโค้ดใหม่ในส่วนสำคัญหลายส่วน โดยเปลี่ยนจาก C++ เป็น Golang สำหรับองค์ประกอบหลัก ซึ่งรวมถึงระบบประมวลผลภาพใหม่ ตัวเข้ารหัสภาพ และกลไกการให้ความสนใจแบบไขว้ รวมทั้งการออกแบบสถาปัตยกรรมใหม่ทั้งหมดของตัวจัดการโมเดล
นี่เป็นงานที่หนักมากสำหรับเราในการพัฒนา จึงเป็นเหตุผลที่ใช้เวลานาน นอกจากการเขียนระบบประมวลผลภาพใหม่ ตัวเข้ารหัสภาพ และการทำ cross attention แล้ว เรายังต้องออกแบบสถาปัตยกรรมใหม่ในส่วนของวิธีการที่โมเดลทำงานกับตัวจัดการด้วย Source
ประสิทธิภาพและความต้องการด้านฮาร์ดแวร์
การสนทนาในชุมชนได้เน้นย้ำข้อควรพิจารณาที่สำคัญสำหรับผู้ใช้:
- โมเดล 11B ต้องการ VRAM ขั้นต่ำ 8GB
- โมเดล 90B ต้องการ VRAM อย่างน้อย 64GB
- การทดสอบเบื้องต้นแสดงผลลัพธ์ที่หลากหลายในงานจดจำภาพพื้นฐาน
- โมเดลสามารถทำงานบนฮาร์ดแวร์สำหรับผู้บริโภคอย่าง MacBook ได้ แม้ว่าประสิทธิภาพจะแตกต่างกันไป
ข้อจำกัดและข้อกังวลในปัจจุบัน
ผู้ใช้ได้ระบุประเด็นที่น่ากังวลหลายประการ:
- การทดสอบเบื้องต้นพบปัญหาด้านความแม่นยำในงานพื้นฐาน เช่น การนับวัตถุและการระบุสี
- มีรายงานเกี่ยวกับการเซ็นเซอร์เนื้อหาที่เข้มงวดเมื่อเทียบกับโมเดลวิชั่นอื่นๆ
- ปัญหาเกี่ยวกับอินเตอร์เฟซในการแก้ไขหลายบรรทัดและการจัดการชื่อไฟล์
- ข้อกังวลด้านความปลอดภัยเกี่ยวกับการตรวจจับและอ่านไฟล์อัตโนมัติ
การพัฒนาในอนาคต
ทีม Ollama ได้แสดงแผนการขยายความสามารถมัลติโมดัล โดยอาจมีการผสานรวมโมเดลอื่นๆ เช่น Pixtral และ Qwen2.5-vl ในอนาคต นอกจากนี้ยังมีความสนใจจากชุมชนในการรองรับ Vulkan Compute แม้ว่า pull request ยังอยู่ระหว่างการตรวจสอบ
การพัฒนานี้แสดงให้เห็นถึงความแตกต่างอย่างมีนัยสำคัญจากโค้ดต้นฉบับของ llama.cpp โดยมีการพัฒนาระบบประมวลผลภาพและตัวเข้ารหัสแบบกำหนดเองโดยใช้ GGML การเปลี่ยนแปลงสถาปัตยกรรมนี้อาจส่งผลต่อการพัฒนาและความเข้ากันได้ในอนาคต
Source: Ollama Blog - Llama 3.2 Vision Source: Hacker News Discussion