ปัญญาประดิษฐ์
การสำรวจลึกเกี่ยวกับการสร้างแบบจำลองที่เพิ่มประสิทธิภาพด้วยการค้นหาข้อมูลใน LLM

ลองนึกภาพว่าคุณเป็นนักวิเคราะห์ และคุณมีการเข้าถึงโมเดลภาษาขนาดใหญ่ คุณตื่นเต้นที่มีศักยภาพที่จะนำไปสู่กระบวนการทำงานของคุณ แต่แล้วคุณถามเกี่ยวกับราคาหุ้นล่าสุดหรืออัตราเงินเฟ้อในปัจจุบัน และมันบอกคุณว่า:
“ขอโทษ แต่ฉันไม่สามารถให้ข้อมูลแบบเรียลไทม์หรือข้อมูลหลังวันที่ปิดการฝึกอบรมได้ ข้อมูลการฝึกอบรมล่าสุดของฉันสิ้นสุดในเดือนมกราคม 2022 เท่านั้น”
โมเดลภาษาขนาดใหญ่สำหรับพลังภาษา แต่ขาดความสามารถในการเข้าใจ “ปัจจุบัน” และในโลกที่เปลี่ยนแปลงอย่างรวดเร็ว “ปัจจุบัน” คือทุกอย่าง
การวิจัยแสดงให้เห็นว่าโมเดลภาษาขนาดใหญ่ที่ได้รับการฝึกอบรมก่อนหน้านี้ยังเป็นที่เก็บข้อมูลแห่งความรู้ที่เป็นข้อเท็จจริง
พวกมันได้รับการฝึกอบรมจากข้อมูลมากมายจนได้ซึมซับข้อเท็จจริงและตัวเลขมากมาย เมื่อได้รับการฝึกอบรมเพิ่มเติม พวกมันสามารถให้ผลลัพธ์ที่น่าประทับใจในงาน NLP ต่างๆ
แต่มีจุดอ่อนหนึ่ง: ความสามารถในการเข้าถึงและจัดการความรู้ที่เก็บไว้นั้นไม่สมบูรณ์เสมอไป โดยเฉพาะอย่างยิ่งเมื่องานที่ต้องใช้ความรู้เป็นหลัก โมเดลเหล่านี้อาจติดหล่มเมื่อเทียบกับโครงสร้างที่มีความเชี่ยวชาญมากกว่า มันเหมือนกับมีห้องสมุดที่มีหนังสือทั้งหมดในโลก แต่ไม่มีแค็ตตาล็อกในการค้นหาสิ่งที่คุณต้องการ
การอัปเกรดการค้นหาของ OpenAI’s ChatGPT
การประกาศล่าสุดของ OpenAI เกี่ยวกับการค้นหาของ ChatGPT ถือเป็นขั้นตอนสำคัญในแนวทางของการสร้างแบบจำลองที่เพิ่มประสิทธิภาพด้วยการค้นหาข้อมูล (RAG) ด้วยการค้นหาอินเทอร์เน็ตสำหรับข้อมูลที่ถูกต้องและทันสมัย ChatGPT สะท้อนแนวทางของ RAG ในการดึงข้อมูลจากแหล่งข้อมูลภายนอกเพื่อให้คำตอบที่มีคุณค่า
https://twitter.com/OpenAI/status/1707077710047216095
ปัจจุบันใช้งานได้สำหรับผู้ใช้ Plus และ Enterprise และ OpenAI มีแผนที่จะปล่อยฟังก์ชันนี้ให้กับผู้ใช้ทั้งหมดในเร็วๆ นี้ ผู้ใช้สามารถเปิดใช้งานฟังก์ชันนี้ได้โดยเลือก ‘ค้นหาด้วย Bing’ ในตัวเลือก GPT-4
วิศวกรรมคำสั่งเป็นเครื่องมือที่มีประสิทธิภาพ แต่ไม่เพียงพอ
คำสั่งเป็นประตูสู่ความรู้ของ LLM มันชี้นำโมเดลและให้คำแนะนำสำหรับการตอบสนอง แต่การสร้างคำสั่งที่มีประสิทธิภาพไม่ใช่วิธีแก้ปัญหาแบบเต็มรูปแบบในการรับข้อมูลที่คุณต้องการจาก LLM ยังคงให้คำแนะนำที่ดีในการเขียนคำสั่ง:
- ความชัดเจน: คำสั่งที่กำหนดไว้อย่างชัดเจนจะกำจัดความคลุมเครือ มันควรจะตรงไปตรงมา เพื่อให้โมเดลเข้าใจความตั้งใจของผู้ใช้ ความชัดเจนนี้มักจะส่งผลให้ได้คำตอบที่สอดคล้องกันและเกี่ยวข้องมากขึ้น
- บริบท: โดยเฉพาะสำหรับข้อมูลที่ยาว การวางคำสั่งไว้ที่จุดใดจุดหนึ่งสามารถมีอิทธิพลต่อผลลัพธ์ได้ ตัวอย่างเช่น การย้ายคำสั่งไปท้ายข้อมูลที่ยาวสามารถให้ผลลัพธ์ที่ดีขึ้นได้
- ความแม่นยำของคำสั่ง: กำลังของคำถาม ซึ่งมักจะถูกส่งผ่านโครงสร้าง “ใคร, อะไร, ที่ไหน, เมื่อไหร่, ทำไม, และ如何” สามารถชี้นำโมเดลให้ไปสู่คำตอบที่มุ่งเน้นมากขึ้น นอกจากนี้ การระบุรูปแบบการให้คำตอบที่ต้องการหรือขนาดยังสามารถปรับปรุงผลลัพธ์ของโมเดลได้
- การรับมือกับความไม่แน่นอน: มันสำคัญที่จะชี้แนะโมเดลว่าจะตอบสนองอย่างไรเมื่อมันไม่แน่นอน ตัวอย่างเช่น การสั่งให้โมเดลตอบว่า “ฉันไม่รู้” เมื่อมันไม่แน่นอนสามารถป้องกันไม่ให้โมเดลสร้างคำตอบที่ไม่ถูกต้องหรือ “หลอกลวง”
- การคิดแบบขั้นตอน: สำหรับคำสั่งที่ซับซ้อน การชี้แนะโมเดลให้คิดอย่างเป็นระบบหรือแบ่งงานออกเป็นงานย่อยๆ สามารถนำไปสู่ผลลัพธ์ที่ครอบคลุมและแม่นยำมากขึ้น
เกี่ยวกับความสำคัญของคำสั่งในการชี้นำ ChatGPT สามารถอ่านบทความที่ครอบคลุมได้ที่ Unite.ai
ความท้าทายในโมเดล AI ที่สร้างข้อมูล
วิศวกรรมคำสั่งเป็นการปรับคำสั่งที่ให้กับโมเดลเพื่อเพิ่มประสิทธิภาพ มันเป็นวิธีการที่คุ้มค่าในการเพิ่มความแม่นยำของแอปพลิเคชัน AI ที่สร้างข้อมูล โดยต้องมีการปรับเปลี่ยนโค้ดเพียงเล็กน้อย ในขณะที่วิศวกรรมคำสั่งสามารถปรับปรุงผลลัพธ์ได้อย่างมาก มันสำคัญที่จะเข้าใจข้อจำกัดที่มีอยู่ของโมเดลภาษาขนาดใหญ่ (LLM) สองความท้าทายหลักคือ การหลอกลวง และ ขีดจำกัดความรู้
- การหลอกลวง: สิ่งนี้หมายถึงกรณีที่โมเดลตอบกลับด้วยความมั่นใจว่าเป็นข้อมูลที่ไม่ถูกต้องหรือสร้างขึ้น
- ขีดจำกัดความรู้: ทุกๆ โมเดล LLM มีวันที่สิ้นสุดการฝึกอบรม ซึ่งหมายความว่าโมเดลไม่ทราบเหตุการณ์หรือการพัฒนาที่เกิดขึ้นหลังจากวันที่สิ้นสุดการฝึกอบรม
การสร้างแบบจำลองที่เพิ่มประสิทธิภาพด้วยการค้นหาข้อมูล (RAG) เสนอทางออกสำหรับความท้าทายเหล่านี้ มันช่วยให้โมเดลสามารถเข้าถึงข้อมูลภายนอกได้ ลดปัญหาการหลอกลวงโดยการเข้าถึงข้อมูลเฉพาะโดเมนหรือข้อมูลที่ไม่ได้อยู่ในคอร์ปัสการฝึกอบรมของโมเดล
มันช่วยให้ LLM ดึงข้อมูลจากแหล่งข้อมูลภายนอกได้แบบเรียลไทม์ ซึ่งอาจเป็นฐานความรู้ ฐานข้อมูล หรือแม้กระทั่งอินเทอร์เน็ต
การแนะนำการสร้างแบบจำลองที่เพิ่มประสิทธิภาพด้วยการค้นหาข้อมูล
การสร้างแบบจำลองที่เพิ่มประสิทธิภาพด้วยการค้นหาข้อมูล (RAG) เป็นโครงสร้างที่ช่วยให้โมเดลภาษาขนาดใหญ่สามารถเข้าถึงข้อมูลที่ไม่ได้รับการฝึกอบรม มีหลายวิธีในการใช้ RAG และวิธีที่ดีที่สุดขึ้นอยู่กับงานและลักษณะของข้อมูล
โครงสร้าง RAG ทำงานในลักษณะที่มีโครงสร้าง:
การรับข้อมูลจากผู้ใช้
กระบวนการเริ่มต้นด้วยการรับข้อมูลจากผู้ใช้หรือคำสั่ง ซึ่งอาจเป็นคำถามหรือคำสั่งที่ต้องการข้อมูลเฉพาะ
การค้นหาข้อมูลจากแหล่งข้อมูลภายนอก
แทนที่จะสร้างคำตอบโดยตรงจากข้อมูลการฝึกอบรม โมเดลจะค้นหาข้อมูลจากแหล่งข้อมูลภายนอกด้วยส่วนประกอบการค้นหา ซึ่งอาจเป็นฐานความรู้ ฐานข้อมูล หรือข้อมูลที่สามารถเข้าถึงได้ทางอินเทอร์เน็ต
การทำความเข้าใจการค้นหา
โดยที่มันคือการค้นหาข้อมูลที่เกี่ยวข้องมากที่สุดตามคำสั่งของผู้ใช้ กระบวนการนี้สามารถแบ่งออกเป็นสองขั้นตอน:
- การสร้างดัชนี: ส่วนนี้เป็นกระบวนการที่ท้าทายที่สุดในการใช้ RAG การสร้างดัชนีของฐานความรู้สามารถแบ่งออกเป็นสองขั้นตอน: การโหลดและการแบ่ง ในเครื่องมืออย่าง LangChain กระบวนการเหล่านี้เรียกว่า “การโหลด” และ “การแบ่ง” การโหลดจะดึงข้อมูลจากแหล่งข้อมูลต่างๆ เช่น หน้าเว็บหรือเอกสาร PDF หลังจากดึงข้อมูลแล้ว การแบ่งจะแบ่งข้อมูลออกเป็นชิ้นเล็กๆ ที่เหมาะสมสำหรับการฝังและค้นหา
- การค้นหา: สิ่งนี้คือการดึงข้อมูลที่เกี่ยวข้องมากที่สุดตามคำค้นหา
แม้ว่าจะมีหลายวิธีในการเข้าถึงการค้นหา แต่ระบบ RAG ที่ทันสมัยขึ้นใช้การค้นหาที่มีความหมาย ในใจกลางของการค้นหาที่มีความหมายคือแนวคิดเรื่องการฝัง
การเพิ่มข้อมูลให้กับคำสั่ง
ข้อมูลที่ค้นหามาแล้วจะถูกผสมเข้ากับคำสั่งเดิม ทำให้เกิดคำสั่งที่เพิ่มข้อมูลหรือขยายออกไป คำสั่งที่เพิ่มข้อมูลนี้ให้โมเดลบริบทเพิ่มเติม ซึ่งมีคุณค่าอย่างยิ่งหากข้อมูลเป็นข้อมูลเฉพาะโดเมนหรือไม่ได้อยู่ในคอร์ปัสการฝึกอบรมของโมเดล
การสร้างคำตอบ
ด้วยคำสั่งที่เพิ่มข้อมูลแล้ว โมเดลจะสร้างคำตอบหรือการเติมคำตอบ โดยคำตอบนี้ไม่ได้มาจากการฝึกอบรมของโมเดลเท่านั้น แต่ยังมาจากข้อมูลที่ดึงมาจากแหล่งข้อมูลภายนอกด้วย
สถาปัตยกรรมของ RAG LLM แรก
บทความวิจัยที่เผยแพร่โดย Meta ในปี 2020 “การสร้างแบบจำลองที่เพิ่มประสิทธิภาพด้วยการค้นหาข้อมูลสำหรับงาน NLP ที่ต้องใช้ความรู้” ให้ภาพรวมที่ลึกซึ้งเกี่ยวกับเทคนิคนี้ โมเดล RAG เพิ่มกระบวนการสร้างแบบจำลองด้วยกลไกการค้นหาหรือการค้นหาข้อมูลภายนอก ซึ่งช่วยให้โมเดลสามารถดึงข้อมูลที่เกี่ยวข้องจากแหล่งข้อมูลขนาดใหญ่ได้
- ความจำแบบพาราเมตริก: สิ่งนี้คือโมเดลภาษาขนาดใหญ่แบบดั้งเดิม เช่น โมเดล seq2seq มันถูกฝึกอบรมจากข้อมูลจำนวนมากและรู้มาก
- ความจำแบบไม่ใช่พาราเมตริก: คิดว่าสิ่งนี้เป็นเหมือนเครื่องมือค้นหา มันเป็นดัชนีเวกเตอร์ที่หนาแน่นของข้อมูล เช่น วิกิพีเดีย ซึ่งสามารถเข้าถึงได้โดยใช้เครื่องมือค้นหาที่เป็นแบบประสาท
เมื่อรวมกัน สิ่งเหล่านี้สร้างโมเดลที่แม่นยำ โมเดล RAG ค้นหาข้อมูลที่เกี่ยวข้องจากความจำที่ไม่ใช่พาราเมตริกของมัน แล้วใช้ความรู้ของมันเพื่อให้คำตอบที่สอดคล้องกัน
1. กระบวนการสองขั้นตอน:
โมเดล RAG ทำงานในกระบวนการสองขั้นตอน:
- การค้นหา: โมเดลค้นหาดокументหรือส่วนของข้อมูลที่เกี่ยวข้องจากชุดข้อมูลขนาดใหญ่โดยใช้กลไกการค้นหาที่หนาแน่น ซึ่งใช้การฝังเพื่อแสดงคำสั่งและเอกสารเป็นเวกเตอร์เหล่านั้น
- การสร้าง: ด้วยเอกสารที่เกี่ยวข้องมากที่สุด โมเดลจะสร้างคำตอบสุดท้ายโดยใช้คำสั่งและเอกสารที่ดึงมา
2. การค้นหาที่หนาแน่น:
ระบบการค้นหาที่ใช้การแทนแบบหนาแน่นแทนการแทนแบบกระจาย เช่น TF-IDF ทำให้สามารถเปรียบเทียบความคล้ายคลึงกันในระดับเชิงความหมายได้ดีขึ้น
3. การสร้างแบบลำดับต่อลำดับ:
เอกสารที่ค้นหามาแล้วจะถูกใช้เป็นบริบทที่ขยายสำหรับโมเดลการสร้าง ซึ่งสร้างคำตอบสุดท้ายที่สอดคล้องกัน
การค้นหาดокумент
การสร้างดัชนีเอกสารและการค้นหา
สำหรับการค้นหาข้อมูลอย่างมีประสิทธิภาพ โดยเฉพาะจากเอกสารขนาดใหญ่ ข้อมูลมักจะถูกเก็บไว้ในฐานข้อมูลเวกเตอร์ แต่ละชิ้นของข้อมูลหรือเอกสารจะถูกสร้างดัชนีตามเวกเตอร์ฝังที่จับสาระสำคัญของเนื้อหานั้น การสร้างดัชนีที่มีประสิทธิภาพช่วยให้ค้นหาข้อมูลที่เกี่ยวข้องได้อย่างรวดเร็วตามคำสั่งของผู้ใช้
ฐานข้อมูลเวกเตอร์

Source: Redis
ฐานข้อมูลเวกเตอร์หรือที่เรียกว่า “การเก็บเวกเตอร์” เป็นฐานข้อมูลที่ออกแบบมาเพื่อจัดการข้อมูลเวกเตอร์ ในสาขา AI และวิทยาการคอมพิวเตอร์ เวกเตอร์เป็นเพียงรายการของตัวเลขที่แสดงจุดในพื้นที่หลายมิติ ไม่เหมือนกับฐานข้อมูลแบบดั้งเดิมที่เหมาะกับข้อมูลแบบตาราง ระบบฐานข้อมูลเวกเตอร์สามารถจัดการข้อมูลที่เหมาะกับรูปแบบเวกเตอร์ได้อย่างมีประสิทธิภาพ เช่น การฝังของโมเดล AI
ฐานข้อมูลเวกเตอร์ที่มีชื่อเสียงบางตัว ได้แก่ Annoy, Faiss โดย Meta, Milvus และ Pinecone ฐานข้อมูลเหล่านี้มีความสำคัญในแอปพลิเคชัน AI โดยช่วยในงานต่างๆ เช่น ระบบแนะนำ การค้นหาภาพ และอื่นๆ แพลตฟอร์มอย่าง AWS ยังให้บริการที่ออกแบบมาเพื่อตอบสนองความต้องการของฐานข้อมูลเวกเตอร์ เช่น Amazon OpenSearch Service และ Amazon RDS สำหรับ PostgreSQL บริการเหล่านี้ได้รับการปรับให้เหมาะสมสำหรับกรณีการใช้งานเฉพาะ เพื่อให้การสร้างดัชนีและค้นหามีประสิทธิภาพ
การแบ่งออกเป็นชิ้นเล็กๆ สำหรับการเกี่ยวข้อง
เนื่องจากเอกสารหลายๆ ฉบับอาจมีขนาดใหญ่ จึงมีการใช้เทคนิคที่เรียกว่า “การแบ่งออกเป็นชิ้นเล็กๆ” ซึ่งหมายถึงการแบ่งเอกสารขนาดใหญ่ออกเป็นชิ้นเล็กๆ ที่สอดคล้องกันทางเชิงความหมาย ชิ้นเล็กๆ เหล่านี้จะถูกสร้างดัชนีและดึงมาใช้ตามความจำเป็น เพื่อให้แน่ใจว่าส่วนที่เกี่ยวข้องมากที่สุดของเอกสารจะถูกใช้สำหรับการเพิ่มข้อมูลให้กับคำสั่ง
การคำนึงถึงหน้าต่างบริบท
ทุกๆ โมเดล LLM มีหน้าต่างบริบท ซึ่งเป็นจำนวนข้อมูลสูงสุดที่สามารถพิจารณาได้ในครั้งเดียว หากแหล่งข้อมูลภายนอกให้ข้อมูลที่เกินขีดจำกัดนี้ จะต้องถูกแบ่งออกเป็นชิ้นเล็กๆ ที่เข้ากันได้กับหน้าต่างบริบทของโมเดล
ประโยชน์ของการใช้การสร้างแบบจำลองที่เพิ่มประสิทธิภาพด้วยการค้นหาข้อมูล
- ความแม่นยำที่ดีขึ้น: โดยการนำข้อมูลจากแหล่งข้อมูลภายนอกมาใช้ โมเดล RAG สามารถสร้างคำตอบที่ไม่เพียงแต่มาจากการฝึกอบรมเท่านั้น แต่ยังมาจากข้อมูลที่เกี่ยวข้องและทันสมัยที่สุดในคอร์ปัสการค้นหา
- การเอาชนะช่องว่างความรู้: RAG ช่วยแก้ไขข้อจำกัดด้านความรู้ที่มีอยู่ในโมเดล LLM ไม่ว่าจะเป็นเพราะวันที่สิ้นสุดการฝึกอบรมหรือการขาดข้อมูลเฉพาะโดเมนในคอร์ปัสการฝึกอบรม
- ความยืดหยุ่น: RAG สามารถรวมกับแหล่งข้อมูลภายนอกต่างๆ ได้ ตั้งแต่ฐานข้อมูลเฉพาะขององค์กรไปจนถึงข้อมูลที่สามารถเข้าถึงได้ทางอินเทอร์เน็ต ทำให้เหมาะสำหรับการใช้งานที่หลากหลายและในอุตสาหกรรมต่างๆ
- การลดการหลอกลวง: หนึ่งในความท้าทายของ LLM คือการหลอกลวงหรือการสร้างข้อมูลที่ไม่ถูกต้องหรือไม่มีอยู่จริง โดยการให้บริบทข้อมูลแบบเรียลไทม์ RAG สามารถลดโอกาสของการหลอกลวงได้อย่างมาก
- การปรับขนาด: ประโยชน์หลักของโมเดล RAG คือความสามารถในการปรับขนาด โดยการแยกกระบวนการค้นหาและสร้างออกจากกัน โมเดลสามารถจัดการข้อมูลจำนวนมากได้อย่างมีประสิทธิภาพ ทำให้เหมาะสำหรับการใช้งานในโลกแห่งความเป็นจริงที่มีข้อมูลมากมาย
ความท้าทายและข้อพิจารณา
- ภาระการคำนวณ: กระบวนการสองขั้นตอนอาจต้องใช้การคำนวณมาก โดยเฉพาะอย่างยิ่งเมื่อจัดการกับชุดข้อมูลขนาดใหญ่
- การขึ้นอยู่กับข้อมูล: คุณภาพของเอกสารที่ค้นหามาได้จะส่งผลกระทบโดยตรงต่อคุณภาพของการสร้าง ดังนั้นจึงจำเป็นต้องมีคอร์ปัสการค้นหาที่ครอบคลุมและดูแลอย่างดี
สรุป
โดยการรวมกระบวนการค้นหาและสร้างเข้าด้วยกัน การสร้างแบบจำลองที่เพิ่มประสิทธิภาพด้วยการค้นหาข้อมูลให้คำตอบที่มีประสิทธิภาพสำหรับงานที่ต้องใช้ความรู้ โดยการให้คำตอบที่ไม่เพียงแต่มาจากการฝึกอบรมเท่านั้น แต่ยังมาจากข้อมูลที่เกี่ยวข้องและทันสมัยที่สุด
ความจริงที่น่าหวังของ RAG อยู่ที่ความเป็นไปได้ในการใช้งานในโลกแห่งความเป็นจริง ในสาขาต่างๆ เช่น สุขภาพ ซึ่งข้อมูลที่ทันสมัยและแม่นยำสามารถเป็นกุญแจสำคัญ RAG สามารถช่วยให้สามารถดึงและสร้างข้อมูลเชิงลึกจากเอกสารทางการแพทย์ได้อย่างราบรื่น ในด้านการเงิน โดยที่ตลาดเปลี่ยนแปลงอย่างรวดเร็ว RAG สามารถให้ข้อมูลที่ขับเคลื่อนด้วยข้อมูลแบบเรียลไทม์ ช่วยในการตัดสินใจ นอกจากนี้ ในสาขาการศึกษาและวิจัย นักวิชาการสามารถใช้ RAG เพื่อค้นหาข้อมูลจากแหล่งข้อมูลขนาดใหญ่ ทำให้การรีวิวเอกสารและวิเคราะห์ข้อมูลมีประสิทธิภาพมากขึ้น

















