น่าเสียดายที่ในชีวิตของ Machine Learning Engineer มักขาดข้อมูลที่ติดป้ายกำกับหรือขาดข้อมูลเพียงเล็กน้อย โดยปกติแล้ว เมื่อทราบเรื่องนี้แล้ว โครงการต่างๆ ก็เริ่มดำเนินการตามกระบวนการรวบรวมและติดฉลากข้อมูลที่ใช้เวลานาน หลังจากผ่านไปสองสามเดือนเท่านั้นจึงจะสามารถเริ่มพัฒนาโซลูชันได้
อย่างไรก็ตาม ด้วยการถือกำเนิดของ LLM กระบวนทัศน์ในผลิตภัณฑ์บางอย่างก็เปลี่ยนไป: ขณะนี้เราสามารถพึ่งพาความสามารถในการวางนัยทั่วไปของ LLM และทดสอบแนวคิดหรือพัฒนาคุณลักษณะที่ขับเคลื่อนด้วย AI ได้เกือบจะในทันที หากได้ผล (เกือบ) ตามที่ตั้งใจไว้ กระบวนการพัฒนาแบบเดิมก็สามารถเริ่มต้นได้
ที่มาของภาพ: The Rise of the AI Engineer โดย S. Wang
หนึ่งในแนวทางที่เกิดขึ้นใหม่คือ Retrieval Augmented Generation (RAG) ใช้สำหรับงานที่ต้องใช้ความรู้มากซึ่งคุณไม่สามารถพึ่งพาความรู้ของโมเดลเพียงอย่างเดียวได้ RAG รวมองค์ประกอบการดึงข้อมูลเข้ากับโมเดลตัวสร้างข้อความ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการนี้ โปรดดูส่วนที่เกี่ยวข้องในคำแนะนำ
องค์ประกอบสำคัญของ RAG คือแบบจำลองการดึงข้อมูลที่ระบุเอกสารที่เกี่ยวข้องและส่งต่อไปยัง LLM เพื่อดำเนินการต่อไป ยิ่งประสิทธิภาพของแบบจำลองการดึงข้อมูลดีขึ้นเท่าใด ผลลัพธ์ของผลิตภัณฑ์หรือคุณลักษณะก็จะยิ่งดีขึ้นเท่านั้น ตามหลักการแล้ว การเรียกข้อมูลจะทำงานได้ดีทันทีที่แกะกล่อง อย่างไรก็ตาม ประสิทธิภาพมักจะลดลงในภาษาหรือโดเมนเฉพาะที่แตกต่างกัน
ลองนึกภาพสิ่งนี้: คุณต้องสร้างแชทบอทเพื่อตอบคำถามตามกฎหมายเช็กและหลักปฏิบัติทางกฎหมาย (แน่นอนว่าเป็นภาษาเช็ก) หรือออกแบบผู้ช่วยด้านภาษี (กรณีการใช้งานที่นำเสนอโดย OpenAI ในระหว่างการนำเสนอ GPT-4) ที่ปรับให้เหมาะกับตลาดอินเดียโดยเฉพาะ คุณอาจพบว่าแบบจำลองการดึงข้อมูลมักจะพลาดเอกสารที่เกี่ยวข้องมากที่สุด และทำงานได้ไม่ดีโดยรวม ดังนั้นจึงเป็นการจำกัดคุณภาพของระบบ
แต่มีวิธีแก้ปัญหา แนวโน้มที่เกิดขึ้นใหม่เกี่ยวข้องกับการใช้ LLM ที่มีอยู่เพื่อสังเคราะห์ข้อมูลสำหรับการฝึกอบรม LLM/Retrievers/โมเดลอื่นๆ รุ่นใหม่ กระบวนการนี้สามารถมองได้ว่าเป็นการกลั่น LLM ลงในตัวเข้ารหัสขนาดมาตรฐานผ่านการสร้างคิวรีตามพร้อมท์ แม้ว่าการกลั่นจะใช้คอมพิวเตอร์เข้มข้น แต่ก็ช่วยลดต้นทุนการอนุมานได้อย่างมาก และอาจเพิ่มประสิทธิภาพได้อย่างมาก โดยเฉพาะอย่างยิ่งในภาษาที่มีทรัพยากรต่ำหรือโดเมนเฉพาะทาง
ในคู่มือนี้ เราจะใช้โมเดลการสร้างข้อความล่าสุด เช่น ChatGPT และ GPT-4 ซึ่งสามารถสร้างเนื้อหาสังเคราะห์จำนวนมหาศาลโดยทำตามคำแนะนำ Dai et al. (2022) เสนอวิธีการที่มีเพียง 8 ตัวอย่างที่ติดป้ายกำกับด้วยตนเองและคลังข้อมูลขนาดใหญ่ที่ไม่มีป้ายกำกับ (เอกสารสำหรับการดึงข้อมูล เช่น กฎหมายที่แยกวิเคราะห์ทั้งหมด) เราสามารถบรรลุประสิทธิภาพที่เกือบจะล้ำสมัย งานวิจัยนี้ยืนยันว่าข้อมูลที่สร้างขึ้นแบบสังเคราะห์ช่วยอำนวยความสะดวกในการฝึกอบรมผู้ดึงข้อมูลเฉพาะงานสำหรับงานที่การปรับแต่งแบบละเอียดภายในโดเมนภายใต้การดูแลถือเป็นเรื่องท้าทายเนื่องจากการขาดแคลนข้อมูล
หากต้องการใช้ LLM จำเป็นต้องระบุคำอธิบายสั้นๆ และติดป้ายกำกับตัวอย่างด้วยตนเอง สิ่งสำคัญคือต้องทราบว่างานการดึงข้อมูลที่แตกต่างกันมีจุดประสงค์ในการค้นหาที่แตกต่างกัน ซึ่งหมายถึงคำจำกัดความของ "ความเกี่ยวข้อง" ที่แตกต่างกัน กล่าวอีกนัยหนึ่ง สำหรับคู่เดียวกันของ (แบบสอบถาม เอกสาร) ความเกี่ยวข้องอาจแตกต่างกันโดยสิ้นเชิงขึ้นอยู่กับจุดประสงค์ในการค้นหา ตัวอย่างเช่น งานการดึงอาร์กิวเมนต์อาจต้องการอาร์กิวเมนต์ที่สนับสนุน ในขณะที่งานอื่นๆ จำเป็นต้องมีการโต้แย้ง (ดังที่เห็นในชุดข้อมูล ArguAna).
ลองพิจารณาตัวอย่างด้านล่าง แม้ว่าจะเขียนเป็นภาษาอังกฤษเพื่อให้เข้าใจง่ายขึ้น แต่อย่าลืมว่าข้อมูลสามารถเป็นภาษาใดก็ได้ เนื่องจาก ChatGPT/GPT-4 ประมวลผลได้อย่างมีประสิทธิภาพแม้แต่ภาษาที่มีทรัพยากรต่ำ
Prompt:
Task: Identify a counter-argument for the given argument.
Argument #1: {insert passage X1 here}
A concise counter-argument query related to the argument #1: {insert manually prepared query Y1 here}
Argument #2: {insert passage X2 here}
A concise counter-argument query related to the argument #2: {insert manually prepared query Y2 here}
<- paste your examples here ->
Argument N: Even if a fine is made proportional to income, you will not get the equality of impact you desire. This is because the impact is not proportional simply to income, but must take into account a number of other factors. For example, someone supporting a family will face a greater impact than someone who is not, because they have a smaller disposable income. Further, a fine based on income ignores overall wealth (i.e. how much money someone actually has: someone might have a lot of assets but not have a high income). The proposition does not cater for these inequalities, which may well have a much greater skewing effect, and therefore the argument is being applied inconsistently.
A concise counter-argument query related to the argument #N:
Output:
punishment house would make fines relative income
โดยทั่วไป ข้อความแจ้งดังกล่าวอาจแสดงเป็น:
(eprompt,edoc(d1),equery(q1),...,edoc(dk),equery(qk),edoc(d))
โดยที่ edoc และ equery เป็นคำอธิบายเอกสารและคำถามที่เฉพาะกับงานตามลำดับ eprompt เป็นคำแนะนำ/คำสั่งที่เฉพาะกับงานสำหรับ ChatGPT/GPT-4 และ d เป็นเอกสารใหม่ ซึ่ง LLM จะสร้างคำถาม
จากพร้อมท์นี้ เฉพาะเอกสารล่าสุด d และแบบสอบถามที่สร้างขึ้นเท่านั้นที่จะถูกนำมาใช้สำหรับการฝึกอบรมโมเดลท้องถิ่นเพิ่มเติม วิธีการนี้สามารถนำไปใช้ได้เมื่อมีคลังข้อมูลเป้าหมาย D พร้อมใช้งาน แต่จำนวนคู่เอกสารคิวรีที่มีคำอธิบายประกอบสำหรับงานใหม่นั้นมีจำกัด
ภาพรวมไปป์ไลน์ทั้งหมด:
ที่มาของภาพ: Dai et al. (2022)
สิ่งสำคัญคือต้องจัดการคำอธิบายประกอบตัวอย่างด้วยตนเองอย่างมีความรับผิดชอบ เป็นการดีกว่าที่จะเตรียมการเพิ่มเติม (เช่น 20) และสุ่มเลือก 2-8 รายการในข้อความแจ้ง สิ่งนี้จะเพิ่มความหลากหลายของข้อมูลที่สร้างขึ้นโดยไม่ต้องเสียเวลาอย่างมากในคำอธิบายประกอบ อย่างไรก็ตาม ตัวอย่างเหล่านี้ควรเป็นตัวแทน มีรูปแบบที่ถูกต้อง และแม้แต่รายละเอียดเฉพาะ เช่น ความยาวแบบสอบถามเป้าหมายหรือโทนเสียง ยิ่งตัวอย่างและคำแนะนำมีความแม่นยำมากเท่าใด ข้อมูลสังเคราะห์สำหรับการฝึกรีทรีฟเวอร์ก็จะยิ่งดีขึ้นเท่านั้น ตัวอย่างช็อตสั้นๆ คุณภาพต่ำอาจส่งผลเสียต่อคุณภาพผลลัพธ์ของโมเดลที่ได้รับการฝึก
ในกรณีส่วนใหญ่ การใช้โมเดลที่ราคาถูกกว่าอย่าง ChatGPT ก็เพียงพอแล้ว เนื่องจากทำงานได้ดีกับโดเมนและภาษาที่ไม่ธรรมดานอกเหนือจากภาษาอังกฤษ สมมติว่า พรอมต์พร้อมคำแนะนำและตัวอย่าง 4-5 รายการโดยทั่วไปจะใช้โทเค็น 700 รายการ (สมมติว่าแต่ละข้อความมีความยาวไม่เกิน 128 โทเค็นเนื่องจากข้อจำกัดของตัวเรียกข้อมูล) และการสร้างคือ 25 โทเค็น ดังนั้น การสร้างชุดข้อมูลสังเคราะห์สำหรับคลังข้อมูลเอกสาร 50,000 รายการสำหรับการปรับแต่งโมเดลในเครื่องอย่างละเอียดจะมีราคา: 50,000 * (700 * 0.001 * $0.0015 + 25 * 0.001 * $0.002) = 55 โดยที่ $0.0015 และ $0.002 คือราคาต่อ 1,000 โทเค็นใน GPT-3.5 Turbo API คุณสามารถสร้างตัวอย่างแบบสอบถาม 2-4 ตัวอย่างสำหรับเอกสารเดียวกันได้ อย่างไรก็ตาม บ่อยครั้งประโยชน์ของการฝึกอบรมเพิ่มเติมนั้นคุ้มค่า โดยเฉพาะอย่างยิ่งหากคุณใช้ รีทรีฟเวอร์ ไม่ใช่สำหรับโดเมนทั่วไป (เช่น การเรียกค้นข่าวในภาษาอังกฤษ) แต่สำหรับโดเมนเฉพาะ (เช่น กฎหมายเช็ก ตามที่กล่าวไว้)
ตัวเลข 50,000 ไม่ใช่การสุ่ม ในการวิจัยโดย Dai et al. (2022)
โดยระบุว่านี่คือจำนวนโดยประมาณของข้อมูลที่ติดป้ายกำกับด้วยตนเองซึ่งจำเป็นสำหรับแบบจำลองเพื่อให้ตรงกับคุณภาพของข้อมูลที่ฝึกฝนเกี่ยวกับข้อมูลสังเคราะห์ ลองนึกภาพว่าต้องรวบรวมตัวอย่างอย่างน้อย 10,000 ตัวอย่างก่อนเปิดตัวผลิตภัณฑ์ของคุณ! จะใช้เวลาอย่างน้อยหนึ่งเดือน และค่าแรงจะเกินหนึ่งพันดอลลาร์อย่างแน่นอน ซึ่งมากกว่าการสร้างข้อมูลสังเคราะห์และการฝึกอบรมโมเดลรีทรีฟเวอร์ในท้องถิ่นมาก ตอนนี้ ด้วยเทคนิคที่คุณได้เรียนรู้ในวันนี้ คุณสามารถเติบโตเป็นเลขสองหลักได้ในเวลาเพียงสองสามวัน!
และนี่คือเทมเพลตพร้อมท์จากเอกสารฉบับเดียวกันสำหรับชุดข้อมูลบางชุดในเกณฑ์มาตรฐาน BeIR
ที่มาของภาพ: Dai et al. (2022)