voyage-multimodal-3: โมเดล embedding แบบ all-in-one สำหรับข้อความ รูปภาพ และสกรีนช็อต
(blog.voyageai.com)voyage-multimodal-3ที่ Voyage AI เปิดตัว เป็นโมเดลสำหรับ RAG และ semantic search ที่ต้องการค้นหา knowledge base ซึ่งมีทั้งข้อความและรูปภาพปะปนกันด้วย โมเดล embedding เดียว- จุดแตกต่างสำคัญคือสามารถ แปลงเป็นเวกเตอร์ได้โดยไม่ต้อง parse เอกสาร สำหรับข้อมูลที่ layout สำคัญ เช่น PDF, สไลด์, ตาราง, รูปภาพ และสกรีนช็อตของเอกสาร
- เพื่อลดข้อจำกัดของการค้นหาแบบ mixed modality ในโมเดลตระกูล CLIP โมเดลนี้ประมวลผลข้อความและข้อมูลภาพใน Transformer encoder เดียวกัน และรักษาความสัมพันธ์เชิงบริบทของอินพุตที่ผสมหลาย modality ไว้
- ในชุดข้อมูล multimodal retrieval 20 ชุด ให้ความแม่นยำในการค้นหาเฉลี่ยสูงกว่าโมเดล multimodal embedding ที่ดีที่สุดลำดับถัดไป 19.63% และในชุดข้อมูล text retrieval 34 ชุด ก็เหนือกว่า OpenAI v3 large
- เมื่อสัดส่วนสกรีนช็อตสูงขึ้น โมเดลที่ใช้ CLIP มีคุณภาพลดลง แต่
voyage-multimodal-3มีการลดลงของประสิทธิภาพน้อยตลอดทุกช่วง จึงใช้งานได้จริงกับ pipeline การค้นหาที่อิงจากภาพหน้าจอ
กรณีใช้งานที่ voyage-multimodal-3 มุ่งเป้า
voyage-multimodal-3เป็น โมเดล multimodal embedding ตัวแรกของ Voyage AI โดยมุ่งไปที่ RAG และ semantic search สำหรับ knowledge base ที่มีสื่อภาพและข้อความอยู่จำนวนมาก- อินพุตที่รองรับคือข้อความและรูปภาพที่มีเนื้อหาจำนวนมาก ตัวอย่างหลักมีดังนี้
- สกรีนช็อตข้อความ
- รูปภาพและตาราง
- สกรีนช็อต PDF
- ชุดสไลด์
- รูปภาพเอกสารอื่น ๆ
- เวกเตอร์ที่สร้างขึ้นสะท้อนทั้งความหมายของข้อความและคุณลักษณะทางภาพ เช่น ขนาดฟอนต์, ตำแหน่งข้อความ และระยะขอบ
- เอกสารที่มี layout ซับซ้อนหรือมีรูปวาด·ภาพถ่ายปะปนกันอาจเกิดปัญหาความแม่นยำเมื่อใช้ heuristic-based parsing ดังนั้นโมเดลจึงใช้แนวทางแปลงหน้าจอต้นฉบับเป็นเวกเตอร์สำหรับค้นหาโดยตรง
- ดูตัวอย่างฟังก์ชันได้จาก sample notebook
วิธี embedding ที่แตกต่างจากตระกูล CLIP
- โมเดล multimodal embedding เดิม เช่น Amazon Titan Multimodal G1, Google Vertex AI multimodal, Cohere multimodal v3 ใช้สถาปัตยกรรมที่อิงกับ OpenAI CLIP
- สถาปัตยกรรมตระกูล CLIP ประมวลผล modality ที่ต่างกันด้วย เครือข่ายแยกกัน
- รูปภาพถูกแปลงเป็นเวกเตอร์ผ่าน vision tower
- ข้อความถูกแปลงเป็นเวกเตอร์ผ่าน text tower
- ด้วยโครงสร้างนี้ จึงประมวลผลอินพุตที่มีข้อความและรูปภาพผสมกันในครั้งเดียวได้ยาก
voyage-multimodal-3แปลงทั้งสอง modality เป็นเวกเตอร์โดยตรงภายใน Transformer encoder เดียวกัน- ข้อความและคุณลักษณะทางภาพไม่ได้ถูก扱เป็นองค์ประกอบแยกกัน แต่เป็นส่วนหนึ่งของ representation แบบรวม
- เป็นรูปแบบที่นำสถาปัตยกรรมของ vision-language model สมัยใหม่มาใช้กับการแปลงเป็นเวกเตอร์ แทนที่จะใช้เพื่อการสร้าง
- ด้วยเหตุนี้ เวกเตอร์จึงบรรจุความสัมพันธ์เชิงบริบทระหว่างข้อมูลภาพและข้อมูลข้อความได้พร้อมกัน ในข้อความและรูปภาพที่ปะปนกัน สกรีนช็อตเอกสาร PDF ซับซ้อน และรูปภาพที่มีคำอธิบายประกอบ
ความแตกต่างที่เห็นในการค้นหาที่มีสกรีนช็อตปะปน
- โมเดลคล้าย CLIP อาจมีประสิทธิภาพลดลงในการค้นหาแบบ mixed modality เพราะ modality gap
- ในตัวอย่าง เวกเตอร์ที่ใกล้กับชิ้นส่วนข้อความ “I address you, members of the Seventy-Seventh Congress…” มากที่สุดไม่ใช่สกรีนช็อตที่เกี่ยวข้อง แต่เป็นข้อความอื่น
- ปรากฏการณ์นี้นำไปสู่อคติในการค้นหา ซึ่งเวกเตอร์ข้อความอยู่ใกล้กับรายการ modality เดียวกันที่ไม่เกี่ยวข้องมากกว่ารูปภาพที่เกี่ยวข้อง
- Voyage AI จัดการทดลองเชิงปริมาณด้วยเอกสาร PyTorch
- สร้างชุดเอกสารที่มีเนื้อหาเดียวกันแยกเป็นสตริงข้อความธรรมดาและสกรีนช็อต
- สร้างชุดข้อมูล mixed modality โดยผสมเอกสารบางส่วนแบบข้อความกับสกรีนช็อตของเอกสารที่เหลือ
- ตั้งค่าสัดส่วนสกรีนช็อตแตกต่างกันตั้งแต่ 0% ถึง 100%
- แต่ละโมเดลค้นหาผลลัพธ์ 10 อันดับแรกด้วย cosine similarity และประเมินด้วย NDCG@10
- โมเดลที่ใช้ CLIP มีคุณภาพการค้นหาลดลงเมื่อสัดส่วนสกรีนช็อตเพิ่มขึ้นถึง 90% และยังมีประสิทธิภาพต่ำแม้ในกรณีที่เปลี่ยนข้อความทั้งหมดเป็นรูปภาพ
voyage-multimodal-3ให้ประสิทธิภาพสูงสุดในทุกสัดส่วน และแทบไม่มีการลดลงของประสิทธิภาพโดยรวม- ผลลัพธ์นี้แสดงให้เห็นความสามารถในการบรรจุข้อมูลเชิงความหมายภายในสกรีนช็อตลงในเวกเตอร์ และความทนทานของแนวทางที่ประมวลผลทุก input modality ด้วย backbone เดียวกัน
ชุดข้อมูลประเมินและโมเดลที่ใช้เปรียบเทียบ
- การประเมิน multimodal ดำเนินการใน 3 งาน รวม 20 ชุดข้อมูล
- การค้นหาตาราง/รูปภาพ: charxiv, mmtab-test, ChartQA, Chartve, FintabnetQA, PlotQA
- การค้นหาสกรีนช็อตเอกสาร: Energy, Healthcare Industry, Artificial Intelligence, Government Report, InfoVQA, DocVQA, ArxivQA, TabFQuad, TAT-DQA, Shift Project จาก ViDoRe benchmark
- การค้นหาข้อความ-ภาพถ่าย: meme-cap, mm-imdb, winoground, docci
- การประเมิน text retrieval มาตรฐานดำเนินการใน 34 ชุดข้อมูลจาก 6 โดเมน ได้แก่ กฎหมาย การเงิน บทสนทนา โค้ด เว็บ และเทคนิค
- ในทุกชุดข้อมูล query เป็นข้อความ ส่วนเอกสารอาจเป็นรูปภาพ ภาพถ่าย ข้อความ สกรีนช็อตเอกสาร หรือการผสมกันของสิ่งเหล่านี้
- โมเดลเปรียบเทียบสำหรับงาน multimodal มีดังนี้
- OpenAI CLIP large (
clip-vit-large-patch14-336) - Amazon Titan Multimodal Embeddings G1 (
amazon.titan-embed-image-v1) - Cohere multimodal v3 (
embed-multimodal-v3.0) - SigLIP So400M (
siglip-so400m-patch14-384) - ColQwen2 v0.1 (
colqwen-v0.1)
- OpenAI CLIP large (
- ใน text retrieval มาตรฐาน เปรียบเทียบกับ OpenAI v3 large (
text-embeddings-3-large), Cohere multimodal/English 1 v3 และvoyage-3 - เนื่องจาก Cohere multimodal v3 ใช้ Cohere English v3 (
embed-english-v3.0) เป็น text tower สำหรับข้อความล้วน ในกราฟจึงใช้เฉพาะป้าย “Cohere multimodal v3” เพื่อลดความสับสน
ผลความแม่นยำในการค้นหา
voyage-multimodal-3ทำความแม่นยำในการค้นหาเฉลี่ยสูงกว่าโมเดล multimodal embedding ที่ดีที่สุดลำดับถัดไป 19.63% ในชุดข้อมูล multimodal retrieval ทั้งหมด 20 ชุด- ในการค้นหาตาราง/รูปภาพ เหนือกว่า OpenAI CLIP large, Amazon Titan Multimodal G1, Cohere multimodal v3, SigLIP So400M และ ColQwen2 v0.1 ตามลำดับ 41.44%, 45.00%, 43.37%, 20.66%, 6.14%
- ในการค้นหาสกรีนช็อตเอกสาร ให้ประสิทธิภาพสูงกว่าโมเดลเปรียบเทียบชุดเดียวกันตามลำดับ 26.54%, 37.68%, 25.84%, 35.62%, 0.98%
- ในการค้นหาข้อความ-ภาพถ่าย เหนือกว่าโมเดลเปรียบเทียบชุดเดียวกันตามลำดับ 6.55%, 5.16%, 5.86%, 3.42%, 10.34%
- ใน text retrieval มาตรฐาน ให้ประสิทธิภาพสูงกว่า OpenAI v3 large 5.13% และสูงกว่า Cohere multimodal/English 1 v3 13.70%
- ความแม่นยำในการค้นหาเอกสารข้อความล้วนสูงกว่า
voyage-30.05% จึงถือว่าทั้งสองโมเดลอยู่ในระดับใกล้เคียงกันมาก - ผลการประเมินทั้งหมดเผยแพร่ไว้ใน สเปรดชีต
การเริ่มใช้งานและเอกสารที่มีให้
voyage-multimodal-3พร้อมใช้งานตั้งแต่วันที่เปิดตัว- 200 ล้านโทเค็นแรก ใช้ได้ฟรี
- เอกสารเริ่มต้นมีให้ใน sample notebook และ docs
- ผู้ใช้ที่สนใจโมเดล embedding แบบ fine-tuning สามารถติดต่อได้ที่
contact@voyageai.com
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ข้อสังเกตหลักนั้นเรียบง่ายและเข้าใจง่าย: โมเดลตระกูล CLIP ทั้งหมดมีประสิทธิภาพไม่ดีในการค้นหาแบบผสมหลายโมดาลิตี เนื่องจากช่องว่างระหว่างโมดาลิตี (modality gap)
เช่น เวกเตอร์ที่ใกล้กับประโยค “I address you, members of the Seventy-Seventh Congress…” มากที่สุด กลับไม่ใช่ภาพหน้าจอที่เกี่ยวข้อง แต่เป็นข้อความอื่นแทน ดังนั้นใน embedding space เวกเตอร์ข้อความจึงอยู่ใกล้กับข้อความที่ไม่เกี่ยวข้องมากกว่ารูปภาพที่เกี่ยวข้อง ทำให้ผลการค้นหาเอนเอียงไปทางโมดาลิตีเดียวกัน
ถ้ามี latent space ที่สามารถจัดกลุ่มไอเดียเดียวกันได้ ไม่ว่าจะถูกนำเสนอด้วยภาพหรือข้อความ ก็นับว่ายอดเยี่ยมทีเดียว อย่างไรก็ตาม คิดว่า benchmark นี้มอง multimodal embedding ค่อนข้างแคบ การที่ภาพข้อความที่เกี่ยวข้องกับ text embedding อยู่ใกล้กันนั้นสะดวกก็จริง แต่คงยากจะบอกว่าขยายไปถึงความเกี่ยวข้องของการนำเสนอเชิงภาพแบบอื่น ๆ เช่นคำว่า “rabbit” กับรูปกระต่ายได้ หากเป้าหมายแคบ ๆ คือการทำดัชนีภาพเอกสาร เทคนิคอื่น ๆ ก็น่าจะทำงานได้ค่อนข้างดีเช่นกัน ดูเหมือนเป็นโอกาสดีที่จะมีชุดข้อมูล benchmark ใหม่สำหรับ การแทนแนวคิดแบบมัลติโมดัล ที่ไปไกลกว่าสื่อข้อความ
ถ้าสนใจด้านนี้ โปรเจกต์ของเราที่ใช้ ColPali แบบโปร่งใสภายในก็น่าจะเป็นอีกตัวเลือกหนึ่ง
https://github.com/tjmlabs/ColiVara
benchmark หลักของสายนี้คือ leaderboard ของ Vidore และอยากเห็นว่า VoyageAI อยู่ระดับไหนเมื่อเทียบกับ implementation แบบโอเพนซอร์สที่เปิดกว่านี้
รู้สึกเหมือนกำลังพลาดอะไรบางอย่างไป ถ้าเป็น LLM ที่เป็น “native multimodal” ก็น่าจะต้องมี multimodal embedding อยู่ไม่ทางใดก็ทางหนึ่งไม่ใช่หรือ
ตัวอย่างเช่น บล็อกโพสต์ Gemini ของ Google อธิบายว่าโมเดล multimodal แบบเดิมจะฝึกส่วนประกอบสำหรับโมดาลิตีต่าง ๆ แยกกันแล้วนำมาต่อกัน แต่ Gemini ถูก pretrain ด้วยหลายโมดาลิตีตั้งแต่ต้น และ fine-tune ด้วยข้อมูล multimodal เพิ่มเติม จึงอ้างว่าสามารถเข้าใจและให้เหตุผลกับอินพุตทุกชนิดได้อย่างเป็นธรรมชาติตั้งแต่แรก
จุดที่ต้องแยกให้ออกคือ token embedding กับเวกเตอร์/embedding ที่โมเดล embedding ส่งออกมานั้นเกี่ยวข้องกันแต่เป็นคนละแนวคิดกัน token embedding จำนวนมากที่มีหนึ่งตัวต่อหนึ่งโทเค็นจะถูกทำให้มีบริบทผ่านทรานส์ฟอร์เมอร์ ส่วนโมเดล embedding จะส่งออกเวกเตอร์หนึ่งตัวต่อข้อมูลอินพุตหนึ่งรายการ เช่น ข้อความยาว รูปภาพ หรือภาพหน้าจอเอกสาร
จริง ๆ แล้วเป็นแนวคิดที่เฉพาะกว่านั้นอีกเล็กน้อย แต่ในบริบทนี้ถือว่าใช่ LLM รวมถึง multimodal LLM ก็มี embedding เช่นกัน แต่ embedding เหล่านั้นไม่ได้ถูกฝึกมาเพื่อค้นหาเอกสารที่คล้ายกัน หากถูกฝึกผ่าน การสร้างข้อความ
ดูค่อนข้างน่าประทับใจ อยากเห็นมุมมองเชิงวิจารณ์ต่อการประเมินที่นำเสนอ
ยังสงสัยด้วยว่า ข้อความที่ไม่ใช่ภาษาอังกฤษ จะเป็นอย่างไร เข้าใจถูกไหมว่าเป็นโมเดลที่ให้บริการผ่าน API เท่านั้นเหมือนโมเดลเชิงพาณิชย์อื่น ๆ?
เคยเขียนเรื่อง multilingual ไว้แต่ผิดจึงลบออกแล้ว สำหรับอ้างอิง Voyage ยังมีโมเดล
law,code,financeแยกต่างหากด้วย ดู [1]อย่างไรก็ดี ผลลัพธ์น่าสนใจมากจริง ๆ
[1]: https://docs.voyageai.com/docs/embeddings
น่าเสียดายที่โมเดลเป็น กรรมสิทธิ์เชิงพาณิชย์ และให้ใช้ผ่าน API เท่านั้น
ถ้าเป็น โมเดลที่ใช้ได้ผ่าน API เท่านั้น คงขอผ่าน แต่ก็ขอแสดงความยินดีด้วย
ดูน่าสนใจทีเดียว ได้ทำงานกับ AnyModal ซึ่งเป็นเฟรมเวิร์กสำหรับรวมข้อมูลหลายประเภท เช่น รูปภาพและเสียง เข้ากับ LLM: https://github.com/ritabratamaiti/AnyModal
voyage-multimodal-3 ดูมีอนาคตมากสำหรับการพัฒนา multimodal LLM แต่ไม่แน่ใจว่านั่นเป็น use case ที่ตั้งใจไว้หรือไม่
ใน Python API แบบดั้งเดิม เอนจิน Voyage จะ tokenize บล็อกข้อความและส่งออกสตริง โมเดลนี้ดูเหมือนทำสิ่งนั้นด้วยการแปลงรูปภาพเป็นเวกเตอร์ใน space
คำอย่าง
youหรือappleจะกลายเป็นโทเค็นหนึ่งตัว ส่วนคำที่ซับซ้อนกว่าอย่างpikachuอาจถูกแบ่งเป็นpik-a-chu[1]: https://docs.voyageai.com/docs/tokenization
วิธีมอง multimodal embedding น่าสนใจ วัด การเปลี่ยนแปลงของประสิทธิภาพ ตามสัดส่วนเมื่ออินพุตค่อย ๆ ย้ายจากโมดาลิตีหนึ่งไปยังอีกโมดาลิตีหนึ่ง
https://i0.wp.com/blog.voyageai.com/wp-content/uploads/2024/...
ใน Colab วัดค่า dot product ได้ 0.428 และ 0.498 แล้วอธิบายว่า “ค่าความคล้ายค่อนข้างสูง” สงสัยว่านี่เป็นค่าที่สูงจริงหรือ
จะออกแบบระบบที่ติดป้ายกำกับข้อมูลได้อย่างมั่นใจด้วย threshold 0.4 ได้ไหม?
ในตัวอย่าง notebook ค่าเหล่านั้นสูงที่สุดเมื่อเทียบกัน เข้าใจว่าทำไมจึงอาจไม่ชัดเจนหรือทำให้สับสนได้ และจะแก้ไข
ในข้อมูลจริงที่ไม่ใช่ข้อมูลซ้ำที่แทบเหมือนกัน cosine similarity 0.4 ถือว่าเป็นค่าค่อนข้างดี