Videos → Multimodal RAG for Images and Text with MongoDB
Description
มาร่วมสำรวจโลกของ Multimodal AI ใน session ที่จะพาไปรู้จักกับเทคโนโลยีที่ ChatGPT หรือ Gemini ใช้ ในการทำความเข้าใจทั้งรูปภาพและข้อความพร้อมๆ กัน บรรยายโดยโร่ AI engineer จาก Botnoi Group ที่จะอธิบายตั้งแต่พื้นฐานของ Multimodal ไปจนถึงการประยุกต์ใช้กับงานอย่าง VQA (Visual Question Answering) ผ่านเทคนิคอย่าง Image Captioning และ RAG (Retrieval Augmented Generation) Session นี้เหมาะสำหรับผู้ที่สนใจ AI และต้องการต่อยอดความรู้ไปสู่ Multimodal เพื่อสร้างแอปพลิเคชันที่สามารถเข้าใจข้อมูลได้หลากหลายรูปแบบมากขึ้น
Chapters
- แนะนำตัวและเกริ่นนำ: Multimodal LLM 0:00
- Multimodal คืออะไร? แตกต่างจาก Unimodal อย่างไร? 0:47
- Multimodal ในอุดมคติ: เปลี่ยนทุกอย่างเป็น Text 3:02
- โฟกัส Image + Text: เปลี่ยนรูปเป็น Text ได้อย่างไร? 6:45
- Image Captioning & Visual Language Model: สอน AI ให้เข้าใจรูป 8:08
- Fine-tuned Model vs. RAG: เลือกแบบไหนดี? 12:08
- RAG คืออะไร? ทำงานอย่างไร? 13:38
- Image Collection: เปลี่ยนรูปเป็น Vector ทำไม? 15:13
- เตรียม Vector Database ให้พร้อม ก่อนทำ RAG 19:50
- Question Answering: ถาม-ตอบ ฉบับ Multimodal 20:03
- VQA with RAG: รวมรูปภาพในการถาม-ตอบ 21:45
- VQA แบบ Advance: ใช้ Model ที่เข้าใจทั้งรูปและข้อความ 23:13
- สรุป Multimodal & RAG: เปลี่ยนทุกอย่างเป็น Text แล้วค่อยถาม 24:11
- Workshop: ลองทำ Image Captioning & Vector Search 26:12
- สาธิตการใช้งาน: ค้นหารูปภาพด้วย Text 36:54
- ปัญหาและการปรับปรุง: Image Captioning สำคัญมากแค่ไหน? 42:20
- สรุปและคำขอบคุณ 43:20
- ประกาศกิจกรรมเล่นเกมและแจกของรางวัล 43:45
Transcript
คำบรรยายต่อไปนี้อาจไม่ถูกต้องทั้งหมด หากคุณพบข้อผิดพลาดใดๆ คุณสามารถช่วยแก้ไขข้อผิดพลาดได้บน GitHub
แนะนำตัวและเกริ่นนำ: Multimodal LLM0:00
ทำไมเปิดยิ่งใหญ่จัง
โอเค ก็ขออนุญาต แนะนำตัวทุกคนนิดนึงนะครับ ผมก็ ผมโร่นะครับ ผมก็มาจาก เอ่อ Botnoi Group นะครับผม ปัจจุบันทำทำในส่วนของ AI engineer นะครับ เนื่องจากเนื้อหา วันนี้นะครับ เห็นว่าทุกคน ทุกคนน่าจะสนใจในเรื่องของ vector search vector database นะครับ ก็เลยแบบ ถ้าจะเอาเรื่อง LLM แล้ว ใครๆ ก็พูดเรื่อง LLM กันละ วันนี้เรา เรา change dimension นิดนึง LLM ธรรมดา มัน มันกระจอกไป วันนี้เรามาคุยกันเรื่องของ multi-modal กัน อ่า ว่า multi-modal คือ เป็นยังไง นะครับ เออ แล้วก็เพื่อความ อ่า ไม่ ไม่เหนื่อย ไม่น้ำล ายยืดกันนิดนึงนะครับ ผมก็เลย
Multimodal คืออะไร? แตกต่างจาก Unimodal อย่างไร?0:47
นิดนึง ว่า วันนี้เราจะ เรียนไป เล่นไป อ่า
เรียนยังไงให้รู้สึกไม่เครียดนะครับ โอเค ก่อนอื่นเลย มีใครในห้องนี้ รู้จัก multimodal ไหมครับ ชูขึ้นหน่อย โอ้โห เอาแล้ว ความยากเกิดขึ้นแล้ว
โอเค คำถามแรกเลย multimodal คืออะไร ทุกวันนี้ผมเชื่อว่าทุกคน ใช้แล้วก็รู้จัก multimodal อยู่แล้ว แต่ว่ามันอยู่ในรูปแบบของแอปพลิเคชันครับผม multimodal จริงๆ อ่ะ มันก็คือ LLM ตัวนึงแหละ คำถาม คำถามต่อจากนั้นคือ มันคือ LLM จริงไหม คำตอบคือ ไม่รู้ ไม่รู้ บางทีก็ใช่ บางที ก็ไม่ใช่ นะครับ ทำไมผมถึงพูดอย่างงี ้ นะครับ เราย้อนกลับไปดูนิดนึงว่า ก่อนที่จะมาเราจะมารู้จักกับคำว่า LLM นะครับ ก่อนหน้านี้มันมีคำคำนึงที่เป็นคำที่ยอดฮิตกันก็คือคำว่า generative AI นะครับ คือเรามี input ที่เป็น text เข้ามา นะครับผม ผ่าน generative AI แล้ว generative AI ก็ สร้าง คำตอบขึ้นมา สร้าง สังเกตมั้ยคำว่า generative AI คือการสร้างขึ้นมา การสร้างสิ่งใหม่สักอย่างนึง ขึ้นมานะครับผม เนี่ยสิ่งนี้คือเรา input เป็นด้วย text แล้วมันก็สร้างออกมาเป็น text ได้อย่างนี้เป็น text to text เนาะ ทีนี้ ทีนี้ ทีนี้ ทีนี้ แบบเนี้ย มันเป็น unimodel ก็คือมี input 1 type
generate ออกมาเป็น input อีก 1 type อันนี้เป็น keyword เลย ก่อนที่จะมากับคำว่า multimodal นะ ให้เรารู้จักกับคำนี้ก่อน นะครับ ทีนี้ คำถามคือ เอ้า เติมน้ำ หยิบไม่เป็นไร อะ ทีนี้คำถามว่า LLM อะ
สรุป มันเป็น multimodal ไหม เราใช้ chat gpt เรา เราเคย เราเคยให้ chat gpt มัน generate รูปมั้ย
เคยถูกมั้ย อะ ถือว่าเป็น unimodal มั้ย ไม่เป็นใช่มั้ย สุดท้าย LLM เป็น หรือ chat gpt เป็น เป็น multimodal หรือเป็น unimodal นะครับ คำตอบก็คือ ไม่รู้แล้วแต่ task บางทีหลังบ้านของ chatGPT มันอาจจะเป็น มันอาจจะเป็นก็ได้ หรือบางทีมันอาจจะเป็นแค่แบบ เอ๊ย เป็นโมเดลแล้วไปต่อกับ adapter หรือฟังก์ชัน เหมือนที่เมื่อกี้คุณเจมส์เขาเล่าให้ฟัง ก็จะเป็นได้นะครับผม
Multimodal ในอุดมคติ: เปลี่ยนทุกอย่างเป็น Text3:02
งั้นเรามาคุยกันเรื่องของโมเดลกันก่อน เนาะ อะ เราเอาใหม่ เรามี text อยู่ตัวเดียว อยู่ เมื่อกี้เหมือนเดิมเลย นะครับ เข้า generative AI ครับ แต่รอบนี้เราไม่ได้ใส่แค่ text อย่างเดียว อ่า เป็นเวลาเรา เรา เราคุยกับ chatGPT แล้วบอกว่า เฮ้ย ช่วย อธิบายคำนี้ให้หน่อย หรือช่วยอธิบายรูป รูปภาพรูปนี้ให้หน่อย แล้วใส่รูปเข้าไป แล้วใส่ text เข้าไป แล้วให้มันอธิบายให้ฟัง นะครับ อะ คำตอบแบบนี้ นะครับ คำถาม คำถามมี input ตัวที่ 1 เป็น text input ตัวที่ 2 เป็นรูปภาพ ให้มัน generate เป็น text
นะครับ แบบนี้เรียกว่า multimodal ยัง ตามคอนเซ็ปต์แล้ว ถือว่าเป็นครับ เพราะว่า มันมีการ input ของ ข้อมูลมากกว่า 1 type มันอาจจะไม่ได้ generate output ที่เป็น 2 type ก็ได้ มันอาจจะ generate output แค่ 1 type แต่เราก็ถือว่ามันเป็น multimodal แล้ว เพราะว่ามัน มันสามารถแบบทำ multi data type ที่เป็น input ได้นะครับ แต่ถ้าจะให้ดี ถ้าจะตรงคอนเซ็ปต์จริง นะครับ มันมี keyword อยู่นี่อยู่ คำว่า generate variety of outcomes ก็คือมันสามารถเข้า สร้างสิ่งใหม่ๆ ออกมาได้มากกว่าแค่ text นะครับ ถ้าเป็นไปได้ multimodal ควรจะสร้าง output type ได้มากกว่าหนึ่งนะครับผม อย่างเช่นรูปภาพ ครับผม แบบนี้ก็เป็น เป็นแบบ multimodal เหมือนกัน แต่ถามว่าสุดท้ายแล้ว input image กับรูปกับ text ไป 2 ตัวนี้ แล้วสร้างเป็น เป็น text แบบนี้ถือเป็น multimodal ไหม เป็นนะครับผม อะ ทีนี้ มาเข้าสู่นิยามของคำว่า multimodal จริงๆ นะครับผม อย่าเพิ่งน้ำลายไหลกัน หลังจากเห็นรูปภาพนี้ นะครับ multimodal ในอุดมคติ คือ เราจะบอกกันว่า นะครับ เรามี source ไม่ว่าจะเป็น text หรือเป็น object แต่ใดๆ ก็ตาม นะครับผม เราจะพยายามแปลง source ตัวเนี้ย ให้เป็น text นะครับผม อย่างเช่นรูปภาพ เนาะ เรามีรูปภาพ เรามี เรามีเสียง เรามีวีดีโอ เราอยากจะ change มันนะครับ แล้วทำ projector นะครับผม ให้เกิด เกิดออกมาเป็น text นะครับ ไปเข้า LLM อ่า สังเกตมั้ย เรามี LLM อยู่ตัวนึง
LLM ที่เราพยายามจะเข้าใจภาษา เข้าใจภาษา ความสามารถของ LLM ที่สามารถเข้าใจเรื่องภาษาได้ เราแปลง image เป็น text เพื่อให้มันเข้าใจภาษา เราแปลง audio เป็น text เพื่อให้มันเข้าใจเหมือนกัน ครับ หลังจากมันทำความเข้าใจละ ทีนี้ มันทำ encode เสร็จละ มัน ทีนี้มันต้องทำ decode อย่างเช่น เราจะ generate รูปภาพอยู่รูปนึง นึกถ ึง นึกถึงคนเรา เราจะ generate รูปภาพ เรา เราเข้าใจคำว่า เออ ช่วย ช่วยสร้างรูปปิกาจูให้ฉันหน่อย นะครับ มันอาจจะมีแค่ text เป็นคำเดียวเลย ทีนี้ มันจะแปลง text คำเนี้ยให้เป็นรูปภาพยังไง ถูกมั้ย เราก็ต้องเหมือนเวลาเราทำโมเดล AI สัก ตัวนึงอ่ะ เราก็ต้องมีการจับคู่กันระหว่างรูปภาพกับ text นะครับ เราเทรนด้วยการเอารูปภาพไป
แล้วก็แปลงออกมาให้เป็น text ทีนี้เอาต์พุตเหมือนกันนะครับ เราต้องแปลง text ออก ไปเป็นรูปภาพอย่างงี้เป็นต้นนะครับ อันนี้เป็นเรื่องเรื่องของ multimodal ในอุดมคติ นะครับ ถามว่าในปัจจุบันเนี้ย มีโมเดลที่สามารถทำได้ขนาดนี้หรือยัง
นะครับ คำตอบคือเริ่มมีแล้ว แต่ว่ายังไม่ได้เป็น
ยูนิเวอร์แซลขนาดนั้นนะครับผม เพราะงั้นมันก็ยังเลยยังเป็นเรื่องของงานวิจัยกัน นะ ถ้าอย่างนั้นทอปปิกในเรื่องของ multimodal อะ มันก็เลยถูกเริ่มพูดกัน แต่ว่ายังไม่ได้ถูกเอามาใช้จริงหรือว่าทำให้แบบเราเข้าถึงกันได้ นะครับผม อย่างตัวที่ใกล้เคียงที่สุด นะครับ อย่างที่เราใช้กันอยู่ทุกวันนี้อย่างเช่น ChatGPT หรือว่า Gemini หรือว่า Claude พวกนี้ก็เป็น เรียกว่าเป็น multimodal แล้ว นะครับ เพราะว่ามันเริ่มเข้าใจพวก source พวก image audio วีดีโอ อะไรพวกนี้ รวมถึงว่ามันจะสามารถแบบแปลงออกมา เป็นอะไรเป็นรูปภาพ บอกให้มันสร้างรูปภาพได้มั้ย มันบอกให้มันสร้าง audio อะไรพวกนี้ ได้มั้ย คำตอบคือปัจจุบันมันเริ่มทำได้แล ้ว นะครับผม อ่า เอ่อ
โฟกัส Image + Text: เปลี่ยนรูปเป็น Text ได้อย่างไร?6:45
ซึ่ง เอา วันนี้ หลักๆ เลย วันนี้ เนื่องจากว่ามันเป็นเซกชันของ มันเป็นเซกชันที่ผมมองว่า เออ 30 นาทีเอง เราจะทำยังไงกับ multimodal ตัวนี้ให้ทุกคน เข้าใจคอนเซ็ปต์ของมันก็คือ เพราะงั้นเราจะเริ่มจากคำว่า image กับ text แค่นี้พอ แค่นี้พอ เราจะอินพุต 2 อย่างเนี้ย แล้วให้มันตอบคำถามออกมาเป็น text ให้ได้ นะครับ ความยากความง่ายคืออะไร ความยากคือ เรามี LLM ตรงกลางอยู่ 1 ตัว ทีนี้ เราจะ ทำยังไงให้มัน input ทั้ง text ทั้ง image ได้ อ่า อันนี้คือความยาก อันนี้คือ challenge ของเราในวันนี้ นะค รับผม เมื่อกี้สังเกตจาก class ของพี่เจมส์ สังเกตจาก พี่เจมส์ พี่เจมส์เค้าใช้ วิธีการ พิมพ์ด้วย ข้อความอย่างเดียว ถูกมั้ย พิมพ์ด้วยข้อความอย่างเดียว แล้วมันก็ไป search หา similarity ทีนี้ สิ่งที่มันใกล้เคียงกัน ทีนี้ เราจะรู้ได้ไงอ่ะ image กับ text มันใกล้เคียงกัน 2 อย่างเนี้ย มัน มันอยู่กันคนละโดเมนกันเลย ตัวนึงอยู่โดเมนของ text อีกตัวนึงอยู่ในโดเมนของรูปภาพ เราทำยังไงให้มันรู้เรื่องตรงนี้ได้นะครับผม ในที่ step แรกนะครับ เราจะทำยังไงให้อิมเมจเป็น text ก่อน step แรกเลย image
เราจะเข้าใจ image เราคนเราเข้าใจ image ว่ายังไง นะครับผม สมมุติมีภาพมา 1 ภาพ
คนเราเข้าใจ image จาก จากการที่มีคนสอนบอกว่า สิ่งสิ่งนี้คืออะไร สิ่งที่คุณเห็นอยู่คืออะไร นะครับ ตัดไปที่คอมพิวเตอร์
Image Captioning & Visual Language Model: สอน AI ให้เข้าใจรูป8:08
มันมีงาน งานนึงที่เราเรียกกันก็คือ เรียกว่า image captioning คือการพยายามอธิบายภาพภาพนี้ ว่าภาพภาพเนี้ยสื่อถึงอะไร นะครับผม เราจะพยายามอธิบายมันให้ให้เป็นภาษาภาษาภาษา text เนี่ยแหละ หรือภาษา language language ทั่วๆ ไปจาก 1 ภาพตรงนี้ นะครับ แปลงแบล็กบ็อกซ์ เข้าแบล็กบ็อกซ์ แบล็กบ็อกซ์สักตัวนึงก่อน เป็น AI สักตัวนึง นะครับ แล้วออกมา นะครับ เป็น เท็กซ์สักกล่องนึง นะครับ อันนี้ อันนี้เป็น มีม ปล่อยมันไป นะครับ อันนี้หลักๆ ถามว่าทำไมต้องทำ image captioning เพราะว่า จากฟังติโมเดลเมื่อกี้ เมื่อกี้เราเห็นกันเนาะ เราบอกว่าการที่ จะให้ ให้ multimodal มันเข้าใจ source อื่นที่ไม่ใช่ text ได้เนี่ย มันต้องแปลงพวก other source อ่ะ เป็น text ก่อน แล้วมัน มันถึงจะแปลงเข้า เข้าสู่โมเดล เพราะงั้นกระบวนการแรกเลย แปลง source อื่นให้เป็น text แปลยังไง อย่าง image วิธีง่ายที่สุด ทำเป็น image captioning ครับผม อ่า อ่า ทีนี้ มันก็มีอีก อีกงานวิจัยนึง
นะครับผม เราบอกว่า เมื่อกี้เราทำ image อย่างเดียว image อย่างเดียวมัน มันก็รู้นี่ image กับ text image แปลงเป็น text แต่ว่า ถ้าเราจะตั้งคำถามกับ text text นั้นๆ น่ะ เราจะตั้งคำถามกับ text นั้นๆ เช่น รูปรูปนี้คืออะไร นะครับ อ่า รูปนี้คืออะไร เราใส่ปิกาจูไป แล้วเราตั้งคำถามกับมัน คำถามนี้อาจจะเป็นอะไรก็ได้ เป็นคำถามอื่นก็ได้ แต่คำตอบของมันต้อง ออกมา นะครับผม ออกมาอาจจะเป็น text ก็ได้ อาจจะเป็น image ก็ได้ ทีนี้ ความยาก ความยาก หรือความ ความที่มันเกิดขึ้นก็คือ เราจะแมตชิ่งมันยังไง ระหว่าง text กับ image งานวิจัยเนี้ย เราเรียกกันว่า Visual Language Model คือเราใส่ทั้ง image text เข้าไป เพื่อให้ AI มันเรียนรู้ว่า สิ่งสิ่งเนี้ย ทั้ง input แล้วก็ ทั้ง input ที่เป็น image แล้วก็ input ที่เป็น text นะครับผม สองสิ่งเนี้ย มัน relate กันยังไงเนาะ มันจะแปลง image เป็นเวกเตอร์นะครับ แล้วก็แปลง text เป็นเวกเตอร์เหมือนที่เมื่อกี้คุณเจมส ์บอกเนาะ แล้วมันก็จะไปเข้าฟังก์ชันหรือกระบวนการทางคณิตศาสตร์ของมันสักตัวนึง นะครับ แล้วก็ ออกมาบอกว่า โอเค สิ่งสิ่งนี้คืออะไร ก็คืออิงจากคำถาม กับรูปภาพ 2 อย่างนี้ที่มันจะ relate กัน นะครับ มันก็จะเป็นเรื่องของการเตรียมโมเดลกับการทำ การเตรียมดาต้ากับการทำโมเดลเนาะ เรื่องซึ่ง 2 เรื่องเนี้ย ระหว่างการทำ image captioning กับ VLM เนาะ 2 ตัวนี้มันก็จะทำให้มัน relate กันได้ แต่ว่า ความยากอีกอย่างนึงของเราก็คือ
มันฮาลูซิเนต ถ้าเราทำอย่างนี้ ถ้าเราทำอย่างงี้แล้วเดต้าเราไม่ดีอ่ะ แน่นอน 1 เลยคือโมเดลมันฮาลูซิเนตแน่นอนนะครับผม คือ เรามีดาต้า image แล้วเรามีดาต้า text 2 ตัวที่มัน captioning กัน แล้วเ ราเอามาทำ question and answering เนาะ อ่า อันนี้เป็น leader board นะครับว่าปัจจุบันเนี้ยมีโมเดลตัวไหนที่มัน มันเก่งมากๆ เนาะ ถ้าเราสังเกตตัว ตัว อ่า
ได้ไหม หรือไม่ ไม่ได้
อ่ะ ขยายไม่ได้ อ่ะ ตัวบนสุดคือ GPT-4o สังเกตโมเดลที่เราบอกว่า เอ้ย เรา เราจะใช้ เราจะทำโมเดล VLM เนาะ
VLM โมเดลที่ตอน ตอนนี้ที่ดีที่สุดก็คือ GPT-4o เอ๊า ไหนบอก GPT-4o เป็น เป็น multimodal ใช่ครับ multimodal ก็คือเป็นโมเดล เนาะ VLM ก็คือเป็น เป็นงาน งาน หรือว่าเป็นโจทย์ปัญหาที่เราจะ จะใช้โมเดลสักตัวนึงเข้าไป solve นะครับ ในปัจจุบันเนี้ยพวก multimodal หลายๆ ตัวมันก็เริ่มแบบ solve ปัญหาเรื่อง เรื่องวิชัน อ่า พวก visual language modeling ได้แล้ว เนาะครับผม อย่าง อ่า ทุกวันนี้ตัว Claude มันก็สามารถใส่ทั้ง image แล้วก็ text ในการถามคำถามมัน มันได้ละ เนาะ เพราะงั้นไอ้ตัวเนี้ยมันคือเรื่องของโมเดลดิบ เนาะ อันนี้มี testing score อยู่ ถ้าเกิดว่าใครอยากจะไปเล่นนะครับ ลอง ลองสามารถเข้าไปเล่นใน vision arena ได้ อ๋อ อ่า ที่นี่เป็นคำถามที่
Fine-tuned Model vs. RAG: เลือกแบบไหนดี?12:08
ที่ทุกคนน่าจะ น่าจะสน น่าจะสน ให้ความสนใจกันมาก มากในช่วงนี้คือ ถ้าสมมุติเรามี เรามี choice อยู่ตัวนึง คือเราจะทำ RAG หรือเราทำ fine tuned model ครับทำ RAG ทำไมไม่ทำ fine-tune ครับ แพงครับ โอ้โห คำถามนี้น่าสนใจ ใช่ RAG
RAG ถูกไหม ก็ ก็ไม่ถูกมั้ย ก็ไม่ค่อยถูกเท่าไหร่เนาะ แต่จริงๆ อ่ะ คำ อย่างเราที่เป็น AI engineer 1 คน น่ะครับผม การที่เราจะเลือกว่าเรา แล้ว ระหว่างเราจะทำ RAG กับการทำ Fine-tune อ่ะ ถ้าเราสมมุติว่าเราทำ Fine-tune เราต้องมีโมเดลอยู่โมเดลนึงเนาะ ที่เมื่อกี้เรา เราไปนั่ง สรรหามา นั่งดูรีซอร์ทมาว่าโมเดลสักตัวนึงเนี่ยจะเอามา มาทำ ทำ problem แก้ปัญหาเรื่อง VQA อะไรพวกเนี้ย เอ่อ โมเดลพวกนั้นน่ะ ว่าจะทำยังไงให้มันเก่ง เก่งพอที่จะมาทำเรื่องพวกนี้ เราก็ต้องมาทำไฟน์จูน เราก็ต้องไปเตรียม data set อีกเยอะแยะมากมายเลย เพราะงั้น ในโซลูชั่นที่ดีที่สุดก็คือ ณ ตอนนี้ก็คือ การทำ RAG ในสำหรับเคสที่เป็น startup แบบ ทำแบบเร็วๆ บอกว่าฉันมี vector database นะ ฉันมี document ฉันมี image นะครับ ไม่งั้นทุก วันนี้ทุกคนก็คงไม่ ทุกคนก็คงคงกระโดดไปทำ fine-tuning กัน ถ้าอยากทำ RAG ก็ง่ายมาก ก็แค่มี vector database แต่ถ้าทำ fine-tune คุณต้องมี 1 การ์ดจอ
2 คุณต้องมีเงิน ต้องมีเงินเยอะมาก ถ้า ถ้าจะทำ fine-tuning model สักตัวนึง นะครับ ครับ เพราะงั้นเรากลับมาที่ RAG กันนะครับ
RAG คืออะไร? ทำงานอย่างไร?13:38
ครับ RAG เอ่อ ผมเชื่อว่าคุณเจมส์น่าจะ น่าจะพูดเรื่อง RAG ไป พอสมควรละ จริงๆ RAG อ่ะ คอนเซ็ปต์มันก็คือว่าเรา เรามี vector database อยู่ ตัวนะครับผม เรามี source อย่างเมื่อกี้ เมื่อกี้ตัว source ของ ของ คุณเจมส์เนาะ อาจจะเป็นเรื่องของ document หรือว่าเป็น เป็นตัวพวกข้อมูล text อะไรพวกนี้เนาะ ส่วนผมอาจจะมองเป็น เป็น other source สักตัวนึง ก็คือว่า เราอาจจะมีเป็น document เราอาจจะมีเป็นรูปภาพ อาจจะมีเป็นวีดีโอ เราทำการ embed embed source เหล่าเนี้ย นะครับผม แล้วก็เข้าไปในเวกเตอร์ดาต้าเบส เป็นเวกเตอร์เวกเตอร์นึงที่ถูกเก็บไว้ว่า เวกเตอร์ระบุตัวนี้ ระบุว่า มันคือ source ตัวไหน มันคือ image ตัวไหน มันคือวีดีโอ channel ไหน นะครับผม แล้วเราก็มี user เนาะครับ 2 ฝั่ง user ทำการทำ query embedding นะครับผม ไปที่เวกเตอร์ ได้ออกมาเป็น เป็นข้อมูลที่เราต้องการจะ search นะครับ หลังจากนั้นก็เอาข้อมูลที่ search ไปผ่าน LLM นะครับผม เพื่อแปลง แปลงผลออกมา จะ 2 step นี้เราเรียกว่า collection กับ question and answer นะครับผม ในส่วนของ collection ก็คือการเตรียม data เราจะเตรียม database สักตัวนึงอะ อย่างเมื่อกี้ อย่างเมื่อกี้ใน ใน ในแลปเมื่อกี้ เราเห็นละว่าเอ๊ยคุณ คุณเจมส์มี database ที่ prepare พร้อมแล้ว ที่นี้ถ้าคุณอยากจะเตรียม vector database เอง เราต้องเตรียมยังไง นะครับผม ใน ใน section นี้มีการพูดถึงกัน แล้วก็หลังจากเราเตรียม collection database เสร็จละ นะครับ เราได้ vector database มา 1 ที่นี้เราอยากจะทำ VQA หรือเราจะอยากจะทำ
image searching image image image ใดๆ ก็ตาม นะครับผม แล้วก็ใช้ question answering มาการทำกัน เนาะ อะ เราเริ่มที่ step แรก
Image Collection: เปลี่ยนรูปเป็น Vector ทำไม?15:13
image collection นะครับผม คอนเซ็ปต์ง่ายมาก เราก็แค่แปลงรูปภาพ นะครับผม เป็นเวกเตอร์ แล้วก็ไปเข้าในเวกเตอร์ดีบี นะครับ ง่าย ง่ายนิดเดียว คำถามคือ ทำยังไง นะครับ สเต็ปแรก อะ สเต็ปแรก เอาเข้าใจง่ายๆ นะครับผม เรา มี image ใช่ไหม เมื่อกี้เราบอกแล้ว ว่า การที่เราจะทำ ทำ image หรือเราจะทำ model สักตัวนึงอะ เราต้องแปลง แปลง other source ให้เป็น text ก่อน แล้ว text อ่ะมันถึงจะไปให้ LLM ใช้ในการเรียนรู้ นะครับผม เพราะงั้นเราก็จะคงคอนเซ็ปต์นี้คือเราจะแปลง text แปลง other source อย่างเช่น image เนี่ย มาเป็น text ก่อน นะครับผม คำถามคือแปลง image เป็น text ยังไง ครับ เมื่อกี้พูดไปแล้ว นะครับ เราก็ผ่าน image captioning ไง เรามีรูปภาพ เราแปลง image นะครับผม เป็น text หลังจากเราได้เป็น text แล้ว นะครับ อะจริงๆ ง่ายเลย ง่ายเลย เราจะทำ RAG จากจาก text หรือ LLM ทำยังไง
ไม่ยาก อีก text ก็ไปทำ embedding ไง ไปทำ text embedding นะครับผม ได้ออกมาเป็นเวกเตอร์ละ เวกเตอร์เราก็แค่ไป สุดท้ายเราก็ไป insert เข้า vector database นะครับผม vector database วันนี้เดี๋ยวเราโชว์กันใน ในตัวของ MongoDB เนาะ อ่ะ คำถามที่น่าสนใจมากๆ เลย ที่ผมเชื่อว่าทุกคนน่าจะตั้งคำถามกัน นะครับ ทำไมเราไม่แปลง image เป็นเป็นเวกเตอร์เลย
อ่ะ อันนี้เป็นคำถามที่น่าสนใจมาก ตอบ ตอบหน่อย มีใครตอบมั้ย
แจกของมั้ย เอาแจกอะไรดี
แจกสมุด 1 เล่มครับ แจกสมุด 1 เล่ม อ่า ใคร ใคร ใครตอบได้ ใครตอบได้ ทำไมเราไม่แปลง แปลง image เป็น เป็นเวกเตอร์เลย
เฮ้ย ทำได้ ทำได้ คุณ คุณดูถูกพลัง พลังโมเดลลิ่งเกินไปละ
ละน้ำลายหยดละ โอเคไม่เป็นไร โอเค อะ ฮือ ห๊ะ อะไรนะ ใช้ ส ไม่ไม่เกี่ยวไม่เกี่ยวไม่เกี่ยวไม่เกี่ยว ห๊ะ อะ โอเคเฉลย ขอบคุณขอบคุณ เป็น เอาของมั้ย อ้าว โอเค อะ เราเฉลย เราเฉลย สาเหตุว่าทำไม นะครับผม เพราะว่า การเราจะทำ RAG เราอยากจะเสิร์ช เราอยากจะเสิร์ชรูปภาพ 1 รูปภาพ นะครับผม ถ้าเราจะทำ เราทำเสิร์ชรูปภาพด้วย คำว่า เฮ้ย ฉันขอเสื้อสีแดงหน่อย
ฉันขอเสื้อสีแดงหน่อย ฉันถาม ถาม ถาม RAG ไปด้วย ไปด้วย text แล้วมันจะไปเสิร์ชรูปภาพ คำถามคือ ในเวกเตอร์ดาตาเบสที่เราเก็บอยู่อ่ะตอนเนี้ย เราแปลง image เป็นเวกเตอร์ด้วย image embedding ถูกมะ
มันแปลง มันแปลงหาพฤติกรรมของรูปภาพ แต่ว่ามันไม่ได้หาพฤติกรรมของ text เพราะงั้นทางที่ดีเราควรจะ ทำรูปภาพก่อนแล้วค่อยแปลงเป็น image captioning เป็น text แล้วหลังจากนั้นค่อยแปลงเป็น text เป็นเวกเตอร์ แล้วถามว่า image embedding อ่ะ ทำไม มันเหมาะกับเคสไหนนะครับผม use case ที่เรามักจะใช้กัน นะครับผมไม่ได้บอกว่ามันไม่ดีแต่ มันเหมาะมันไม่ได้เหมาะกับแอปพลิเคชันที่เราใช้ใน ใน multimodal RAG เนาะ use case ที่มันน่าสนใจและผมเชื่อว่าทุกคนน่าจะใช้กัน