4 คะแนน โดย GN⁺ 2024-11-18 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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 มีดังนี้
  • ใน 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-3 0.05% จึงถือว่าทั้งสองโมเดลอยู่ในระดับใกล้เคียงกันมาก
  • ผลการประเมินทั้งหมดเผยแพร่ไว้ใน สเปรดชีต

การเริ่มใช้งานและเอกสารที่มีให้

  • voyage-multimodal-3 พร้อมใช้งานตั้งแต่วันที่เปิดตัว
  • 200 ล้านโทเค็นแรก ใช้ได้ฟรี
  • เอกสารเริ่มต้นมีให้ใน sample notebook และ docs
  • ผู้ใช้ที่สนใจโมเดล embedding แบบ fine-tuning สามารถติดต่อได้ที่ contact@voyageai.com

1 ความคิดเห็น

 
GN⁺ 2024-11-18
ความคิดเห็นจาก Hacker News
  • ข้อสังเกตหลักนั้นเรียบง่ายและเข้าใจง่าย: โมเดลตระกูล CLIP ทั้งหมดมีประสิทธิภาพไม่ดีในการค้นหาแบบผสมหลายโมดาลิตี เนื่องจากช่องว่างระหว่างโมดาลิตี (modality gap)
    เช่น เวกเตอร์ที่ใกล้กับประโยค “I address you, members of the Seventy-Seventh Congress…” มากที่สุด กลับไม่ใช่ภาพหน้าจอที่เกี่ยวข้อง แต่เป็นข้อความอื่นแทน ดังนั้นใน embedding space เวกเตอร์ข้อความจึงอยู่ใกล้กับข้อความที่ไม่เกี่ยวข้องมากกว่ารูปภาพที่เกี่ยวข้อง ทำให้ผลการค้นหาเอนเอียงไปทางโมดาลิตีเดียวกัน

    • ข้อความอ้างอิงนี้สำคัญ แต่ถ้าดูเดี่ยว ๆ ยังไม่ชัดว่าพวกเขาอ้างว่าได้แก้ปัญหานี้แล้วหรือไม่ ดูเหมือนจะบอกว่าโมเดลใหม่ voyage-multimodal-3 สามารถระบุแนวคิดที่เชื่อมโยงกันข้ามโมดาลิตีได้
      ถ้ามี latent space ที่สามารถจัดกลุ่มไอเดียเดียวกันได้ ไม่ว่าจะถูกนำเสนอด้วยภาพหรือข้อความ ก็นับว่ายอดเยี่ยมทีเดียว อย่างไรก็ตาม คิดว่า benchmark นี้มอง multimodal embedding ค่อนข้างแคบ การที่ภาพข้อความที่เกี่ยวข้องกับ text embedding อยู่ใกล้กันนั้นสะดวกก็จริง แต่คงยากจะบอกว่าขยายไปถึงความเกี่ยวข้องของการนำเสนอเชิงภาพแบบอื่น ๆ เช่นคำว่า “rabbit” กับรูปกระต่ายได้ หากเป้าหมายแคบ ๆ คือการทำดัชนีภาพเอกสาร เทคนิคอื่น ๆ ก็น่าจะทำงานได้ค่อนข้างดีเช่นกัน ดูเหมือนเป็นโอกาสดีที่จะมีชุดข้อมูล benchmark ใหม่สำหรับ การแทนแนวคิดแบบมัลติโมดัล ที่ไปไกลกว่าสื่อข้อความ
    • ปัญหานี้อาจกำลังถูกแก้ด้วย multimodal mixup ซึ่งช่วยไม่ให้เกิดช่องว่าง latent space ขนาดใหญ่ระหว่างสองโมดาลิตี: https://arxiv.org/abs/2203.03897
  • ถ้าสนใจด้านนี้ โปรเจกต์ของเราที่ใช้ ColPali แบบโปร่งใสภายในก็น่าจะเป็นอีกตัวเลือกหนึ่ง
    https://github.com/tjmlabs/ColiVara
    benchmark หลักของสายนี้คือ leaderboard ของ Vidore และอยากเห็นว่า VoyageAI อยู่ระดับไหนเมื่อเทียบกับ implementation แบบโอเพนซอร์สที่เปิดกว่านี้

  • รู้สึกเหมือนกำลังพลาดอะไรบางอย่างไป ถ้าเป็น LLM ที่เป็น “native multimodal” ก็น่าจะต้องมี multimodal embedding อยู่ไม่ทางใดก็ทางหนึ่งไม่ใช่หรือ
    ตัวอย่างเช่น บล็อกโพสต์ Gemini ของ Google อธิบายว่าโมเดล multimodal แบบเดิมจะฝึกส่วนประกอบสำหรับโมดาลิตีต่าง ๆ แยกกันแล้วนำมาต่อกัน แต่ Gemini ถูก pretrain ด้วยหลายโมดาลิตีตั้งแต่ต้น และ fine-tune ด้วยข้อมูล multimodal เพิ่มเติม จึงอ้างว่าสามารถเข้าใจและให้เหตุผลกับอินพุตทุกชนิดได้อย่างเป็นธรรมชาติตั้งแต่แรก

    • LLM อย่าง Gemini หรือกว้างกว่านั้นคือ causal language model ถูกฝึกด้วยการทำนายโทเค็นถัดไป ดังนั้นเวกเตอร์ที่ได้จากการ pooling output token embedding จึงไม่ค่อยมีประโยชน์สำหรับ RAG หรือ semantic search เมื่อเทียบกับสิ่งที่ได้จากโมเดล embedding จริง ๆ
      จุดที่ต้องแยกให้ออกคือ token embedding กับเวกเตอร์/embedding ที่โมเดล embedding ส่งออกมานั้นเกี่ยวข้องกันแต่เป็นคนละแนวคิดกัน token embedding จำนวนมากที่มีหนึ่งตัวต่อหนึ่งโทเค็นจะถูกทำให้มีบริบทผ่านทรานส์ฟอร์เมอร์ ส่วนโมเดล embedding จะส่งออกเวกเตอร์หนึ่งตัวต่อข้อมูลอินพุตหนึ่งรายการ เช่น ข้อความยาว รูปภาพ หรือภาพหน้าจอเอกสาร
    • embedding ของ LLM มี การแทนแบบซ้อนทับ ของแนวคิดจำนวนมาก ทำให้ทำนายโทเค็นถัดไปได้ แต่ประสิทธิภาพไม่ได้ดีเท่าโมเดล embedding ที่ pretrain ด้วย contrastive learning
    • ถ้าคำตอบอื่นยังไม่ชัด ให้ลองคิดว่า “embedding” ในที่นี้คือ “รายการบางอย่างที่เลเยอร์ใดเลเยอร์หนึ่งของโมเดล AI ของฉันสร้างขึ้น” ก็ได้
      จริง ๆ แล้วเป็นแนวคิดที่เฉพาะกว่านั้นอีกเล็กน้อย แต่ในบริบทนี้ถือว่าใช่ LLM รวมถึง multimodal LLM ก็มี embedding เช่นกัน แต่ embedding เหล่านั้นไม่ได้ถูกฝึกมาเพื่อค้นหาเอกสารที่คล้ายกัน หากถูกฝึกผ่าน การสร้างข้อความ
  • ดูค่อนข้างน่าประทับใจ อยากเห็นมุมมองเชิงวิจารณ์ต่อการประเมินที่นำเสนอ
    ยังสงสัยด้วยว่า ข้อความที่ไม่ใช่ภาษาอังกฤษ จะเป็นอย่างไร เข้าใจถูกไหมว่าเป็นโมเดลที่ให้บริการผ่าน API เท่านั้นเหมือนโมเดลเชิงพาณิชย์อื่น ๆ?

    • ใช่ โมเดล Voyage เป็นแบบ API เท่านั้น
      เคยเขียนเรื่อง multilingual ไว้แต่ผิดจึงลบออกแล้ว สำหรับอ้างอิง Voyage ยังมีโมเดล law, code, finance แยกต่างหากด้วย ดู [1]
      อย่างไรก็ดี ผลลัพธ์น่าสนใจมากจริง ๆ
      [1]: https://docs.voyageai.com/docs/embeddings
  • น่าเสียดายที่โมเดลเป็น กรรมสิทธิ์เชิงพาณิชย์ และให้ใช้ผ่าน API เท่านั้น

    • การต้องจ่ายเงินเดือนพนักงานเป็นเรื่องน่าเศร้าหรือ?
  • ถ้าเป็น โมเดลที่ใช้ได้ผ่าน 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 ไม่เหมือนกับ threshold sigmoid 0.4
      ในข้อมูลจริงที่ไม่ใช่ข้อมูลซ้ำที่แทบเหมือนกัน cosine similarity 0.4 ถือว่าเป็นค่าค่อนข้างดี