Tencent เปิดตัว WeMM-Embedding model ในสัปดาห์นี้ ซึ่งเป็นระบบมัลติโมดัลขนาด 2 พันล้านพารามิเตอร์ที่ถูกฝังอยู่ในระบบการค้นหา การแนะนำ และอีคอมเมิร์ซของ WeChat เรียบร้อยแล้ว การเปิดตัวครั้งนี้มีความสำคัญเพราะมันแสดงให้เห็นถึงโมเดลที่ให้คุณภาพการสืบค้น (retrieval) ในโลกแห่งความเป็นจริง มีความหน่วง (latency) ต่ำ และมีขนาดดัชนี (index) ที่เล็ก

ทำไมกระแส "เรื่องราวการนำไปใช้งานจริง" ถึงได้รับความสนใจ

โมเดล AI ใหม่ส่วนใหญ่มักมาพร้อมกับตาราง benchmark ที่สวยหรูซึ่งเปรียบเทียบคะแนนบนชุดข้อมูลที่คัดสรรมาอย่างดี ตัวเลขเหล่านั้นช่วยให้นักวิจัยพิสูจน์สมมติฐานได้ แต่ไม่ค่อยสะท้อนถึงตัวชี้วัดที่ขับเคลื่อนผลิตภัณฑ์จริง ๆ เช่น คิวรี (query) ตอบกลับเร็วแค่ไหน ดัชนีใช้หน่วยความจำเท่าไหร่ และโมเดลรับมือกับเนื้อหาที่สร้างโดยผู้ใช้ซึ่งมีความไม่เป็นระเบียบ (noisy) ได้ดีเพียงใด WeMM เปลี่ยนเกมด้วยการเป็นส่วนประกอบระดับ production-grade ตั้งแต่วันแรก มันไม่ใช่แค่การทดลองในห้องแล็บที่รอให้ทีมอื่นนำไปใช้ แต่มันขับเคลื่อน Channels, Moments และอีคอมเมิร์ซอยู่แล้ว

จุดเด่นทางเทคนิคที่นักพัฒนาควรทราบ

  • การจัดการมัลติโมดัลที่แท้จริง – โมเดลนี้รับข้อมูลทั้งข้อความ, รูปภาพ, เฟรมวิดีโอ และภาพตัวอย่างเอกสาร เข้าสู่ embedding space เดียวกัน ผู้ใช้สามารถพิมพ์คำว่า “sunset” และเรียกดูคลิปวิดีโอ, รูปภาพ หรือบทความข่าวที่ตรงกันได้ โดยไม่ต้องเชื่อมต่อไพป์ไลน์ที่แยกกันระหว่างข้อความและภาพ

  • ขนาดเป็นเรื่องสำคัญ แต่ไม่ใช่ในแบบที่คุณคิด – ด้วยพารามิเตอร์ 2 พันล้านตัว โมเดลนี้ถือว่า "เล็ก" เมื่อเทียบกับโมเดลขนาด 9 พันล้านพารามิเตอร์ขึ้นไปที่ครองตารางผู้นำ (leaderboards) อย่างไรก็ตาม มันสามารถตอบโจทย์เรื่องงบประมาณความหน่วง (latency budgets) ที่จำเป็นสำหรับบริการแบบโต้ตอบได้ โมเดลที่เหมาะสมกับฮาร์ดแวร์ของคุณสามารถทำงานได้ดีกว่าโมเดลที่ใหญ่กว่าและช้ากว่าในระบบที่ใช้งานจริง

  • Matryoshka embeddings ให้ความยืดหยุ่นด้านมิติ – WeMM รองรับ "Matryoshka" embeddings ซึ่งหมายความว่าเครือข่ายเดียวกันสามารถส่งออกเวกเตอร์ที่มีความยาวต่างกันได้ เช่น 256 หรือ 512 มิติ ผลการทดสอบแสดงให้เห็นว่าการลดมิติจาก 512 เหลือ 256 ยังคงรักษาประสิทธิภาพการสืบค้นไว้ได้เกือบทั้งหมด ในขณะที่ลดการใช้หน่วยความจำลงครึ่งหนึ่ง ซึ่งช่วยลดค่าใช้จ่ายในการจัดเก็บข้อมูลและเร่งความเร็วในการค้นหาแบบ nearest-neighbor ได้โดยตรง

กฎเชิงปฏิบัติ 3 ข้อสำหรับการสร้างระบบการสืบค้น

  1. ตรวจสอบด้วยข้อมูลของคุณเอง – Benchmark นั้นสะอาด แต่ข้อมูลในระบบจริงนั้นยุ่งเหยิง หากผู้ใช้ของคุณอัปโหลดภาพหน้าจอ, บันทึกที่เขียนด้วยลายมือ หรือวิดีโอความละเอียดต่ำ ให้ลองรันโมเดลด้วยข้อมูลผสมแบบนั้นก่อนตัดสินใจว่ามันเหมาะสมหรือไม่

  2. มองว่าความยาวเวกเตอร์คือเครื่องมือควบคุมต้นทุน – เวกเตอร์ที่ใหญ่ขึ้นจะเพิ่มทั้งการประมวลผลที่จำเป็นสำหรับการค้นหาความคล้ายคลึง (similarity search) และพื้นที่ดิสก์สำหรับดัชนี ให้เริ่มจากมิติที่เล็กที่สุดที่ยังคงบรรลุเป้าหมายด้านคุณภาพของคุณ และขยายขนาดขึ้นเมื่อคุณเห็นว่าค่า recall หรือ precision ลดลงอย่างชัดเจนเท่านั้น

  3. หลีกเลี่ยงไพป์ไลน์ที่แยกส่วนกัน (siloed pipelines) – การสร้าง encoder แยกกันสำหรับแต่ละรูปแบบ (modality) จะบังคับให้คุณต้องออกแบบวิธีการถ่วงน้ำหนัก (weighting schemes) ด้วยตัวเองสำหรับขั้นตอนการจัดอันดับสุดท้าย การใช้ embedding layer แบบสากลจะช่วยกำจัดโค้ดเชื่อมต่อ (glue code) เหล่านั้น ลดภาระงานด้านวิศวกรรม และทำให้การทำ A/B testing ง่ายขึ้น

เดิมพันที่กว้างกว่านั้น

สำหรับบริษัทที่พึ่งพาการค้นหาหรือการแนะนำ การเลือกโมเดล embedding สามารถกำหนดค่าใช้จ่ายด้านโครงสร้างพื้นฐานได้ งบประมาณความหน่วง (latency budgets) จะเข้มงวดขึ้นเมื่อความคาดหวังของผู้ใช้สูงขึ้น โมเดลที่เพิ่มความหน่วงเพียงไม่กี่มิลลิวินาทีต่อหนึ่งคิวรีอาจทำให้บริการนั้นมีประสิทธิภาพต่ำกว่าเกณฑ์ที่ยอมรับได้ และนำไปสู่การเลิกใช้งาน (churn)

การตัดสินใจของ Tencent ที่จะเปิดเผยน้ำหนัก (weights) แบบ open-source ภายใต้ใบอนุญาต Apache 2.0 ยังช่วยเปลี่ยนเส้นโค้งต้นทุนสำหรับนักพัฒนา แทนที่จะต้องเจรจาสัญญาที่เป็นกรรมสิทธิ์หรือสร้างโมเดลขึ้นมาใหม่ตั้งแต่ต้น ทีมงานสามารถดาวน์โหลด checkpoint มาปรับจูน (fine-tune) ด้วยข้อมูลเฉพาะทาง และประเมินผลกับกรณีที่ล้มเหลวเพียงไม่กี่กรณีได้

จุดที่โมเดลอาจยังทำได้ไม่ดีพอ

โมเดลนี้จัดการได้ 4 รูปแบบ ได้แก่ ข้อความ, รูปภาพ, วิดีโอ และเอกสาร แต่ยังไม่ครอบคลุมทุกประเภทข้อมูลที่อาจเป็นไปได้

สิ่งที่ต้องจับตามองต่อไป

บทสรุป

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