เปรียบเทียบความสามารถของ LLM กับการสรุป

เผยแพร่เมื่อวันที่ 30 ตุลาคม 2024

การสร้างฟีเจอร์ด้วยโมเดลภาษาขนาดใหญ่ (LLM) ค่อนข้างแตกต่างจากวิศวกรรมซอฟต์แวร์ทั่วไป นักพัฒนาแอปต้องเรียนรู้การสร้างพรอมต์เพื่อจัดการกับผลลัพธ์ที่ไม่แน่นอน อินพุตก่อนการประมวลผล และผลลัพธ์หลังการประมวลผล

ความท้าทายอย่างหนึ่งที่คุณแชร์กับเราคือการทดสอบเอาต์พุตจาก LLM ซึ่งพิจารณาความถูกต้องและคุณภาพนั้นใช้เวลานาน นักพัฒนาแอปมักใช้วิธีสร้างเอาต์พุตแบบเป็นกลุ่มโดยใช้อินพุตที่แตกต่างกัน จากนั้นตรวจสอบด้วยตนเองโดยใช้วิจารณญาณ

แนวทางที่ปรับขนาดได้มากขึ้นในการประเมินผลลัพธ์ของโมเดลและพรอมต์ต่างๆ คือเทคนิคLLM เป็นตัวตัดสิน โดยใช้เทคนิคนี้ แทนที่จะใช้วิจารณญาณของมนุษย์ การตรวจสอบโมเดลจะมอบหมายให้กับ LLM อื่น LLM ตัวที่ 2 ต้องเป็น LLM ขนาดใหญ่กว่าซึ่งทำงานบนระบบคลาวด์ และมีแนวโน้มที่จะมีความสามารถด้านการอนุมานได้ดีกว่า

ในเอกสารนี้ เราใช้การสรุปเพื่อสาธิตวิธีเปรียบเทียบรูปแบบต่างๆ และแสดงการปรับปรุงคุณภาพจาก Gemma เป็น Gemma 2 เป็นโบนัส

เลือกรูปแบบสําหรับการเปรียบเทียบและเตรียมข้อมูล

เราประเมินความสามารถของโมเดล 3 รูปแบบในการสรุป เราเปรียบเทียบผลลัพธ์ของโมเดลแบบเปิดของ Google 2 โมเดลที่เรียกใช้ฝั่งไคลเอ็นต์ได้ คือ Gemma และ Gemma 2 ทั้งคู่มีขนาดพารามิเตอร์ 2 พันล้านรายการ ในทางตรงกันข้าม เรายังได้ประเมินโมเดลที่ทำงานบนระบบคลาวด์ซึ่งมีขนาดใหญ่และมีประสิทธิภาพมากขึ้นด้วย ซึ่งก็คือ Gemini 1.5 Flash

เราใช้ชุดข้อมูลบทความ BBC 2,225 รายการ ซึ่งครอบคลุมหัวข้อต่างๆ เช่น ธุรกิจ ความบันเทิง การเมือง กีฬา และเทคโนโลยี และสร้างสรุปของแต่ละบทความโดยใช้โมเดลที่เลือกแต่ละรายการ ใช้พรอมต์เดียวกันกับทุกรูปแบบ

สรุปบทความเป็นย่อหน้าเดียว

เราได้จัดเก็บบทความต้นฉบับและสร้างข้อมูลสรุปไว้ในฐานข้อมูลเพื่อให้เข้าถึงได้ง่ายในแต่ละขั้นตอน

เลือกกรรมการเพื่อวิเคราะห์และให้คะแนนการสรุป

ในการวิเคราะห์คุณภาพของข้อมูลสรุป เราใช้ Gemini 1.5 Flash เพื่อตัดสินข้อมูลสรุปที่ Gemma 2 และ Gemma 2 2B สร้างขึ้น แนวทางเฉพาะของเราอิงตามการตรวจสอบความสอดคล้อง ซึ่งเป็นส่วนหนึ่งของเมตริกการสรุปของ DeepEval

ความสอดคล้องเป็นเมตริกที่วัดความถี่ที่ข้อความรวมอยู่ในข้อมูลสรุปรองรับในเนื้อหาต้นฉบับที่สรุปอ้างอิง

เราได้แบ่งกระบวนการประเมินออกเป็น 2 ขั้นตอน ก่อนอื่น เราแจ้งให้โมเดลแบ่งข้อมูลสรุปแต่ละรายการออกเป็นข้อความแยกกัน จากนั้นเราแจ้งให้โมเดลระบุว่าข้อความแต่ละรายการได้รับการสนับสนุนจากข้อความต้นฉบับของบทความหรือไม่

ดึงข้อมูลคำสั่งจากข้อมูลสรุป

เราขอให้ Gemini 1.5 Flashแบ่งข้อความที่ยาวออกเป็นข้อความแยกต่างหาก เช่น

เดวิด ไวร์ กองหลังของเอฟเวอร์ตันเคยเล่นเป็นนักเตะเพื่อพูดถึงฟุตบอลยุโรป แม้ว่าทีมของเขาจะอยู่ในตำแหน่งอันดับ 2 ในการแข่งขันพรีเมียร์ลีกหลังจากเอาชนะลิเวอร์พูล

Gemini 1.5 Flash จะแบ่งประโยคนี้ออกเป็นข้อความต่อไปนี้

  • "David Weir เล่นตำแหน่งกองหลังให้กับ Everton"
  • "ตอนนี้เอฟเวอร์ตันอยู่ในอันดับที่ 2 ของพรีเมียร์ลีก"
  • "Everton ชนะ Liverpool ในแมตช์ล่าสุด"
  • "David Weir ได้ลดการพูดคุยเกี่ยวกับ Everton ที่เล่นฟุตบอลยุโรป"

ตรวจสอบคำสั่ง

จากนั้นเราขอให้ Gemini 1.5 Flashวิเคราะห์ประโยคต้นฉบับ เทียบกับข้อความที่แยก โมเดลจัดประเภทความถูกต้องของข้อความแต่ละรายการดังนี้

  • ใช่: ข้อความต้นฉบับสนับสนุนข้อความดังกล่าว
  • ไม่ ข้อความดังกล่าวขัดแย้งกับข้อความต้นฉบับ
  • Idk เราไม่สามารถยืนยันได้ว่าข้อความดังกล่าวได้รับการสนับสนุนหรือไม่ หรือขัดแย้งกับข้อความต้นฉบับหรือไม่

การวิเคราะห์ผลลัพธ์

กระบวนการนี้ส่งผลให้เกิดเมตริก 2 รายการที่สามารถใช้เปรียบเทียบโมเดลได้ ดังนี้

  • การจัดแนว: โมเดลสร้างข้อมูลสรุปที่มีข้อความที่สนับสนุนโดยข้อความต้นฉบับบ่อยเพียงใด
  • ความสมบูรณ์: จํานวนข้อความโดยเฉลี่ยที่มีอยู่ในข้อมูลสรุปที่โมเดลสร้างขึ้น
แผนภูมิเปรียบเทียบความสมบูรณ์และการเชื่อมโยงของรูปแบบ
รูปที่ 1 เปรียบเทียบ Gemma 2B, Gemma 2 2B และ Gemini 1.5 Flash ซึ่งล้วนได้คะแนนดี

การจัดข้อความ

เราคำนวณความสอดคล้องโดยนับจำนวนข้อมูลสรุปที่มีข้อความอย่างน้อย 1 รายการที่ทําเครื่องหมายเป็น "ไม่" แล้วหารด้วยจํานวนข้อมูลสรุปทั้งหมด

โมเดล Gemini 1.5 Flash มีคะแนนการจัดวางสูงสุดที่มากกว่า 92% ซึ่งหมายความว่าเนื้อหามีความโดดเด่นตรงที่ยึดถือข้อเท็จจริงและหลีกเลี่ยงการเขียนขึ้นเอง

Gemma 2 2B ได้คะแนน 78.64% ซึ่งถือว่าดี ซึ่งบ่งบอกถึงความแม่นยำในระดับดี ส่วน Gemma 2B เวอร์ชันเก่ามีคะแนนการจัดตำแหน่งต่ำกว่า ซึ่งหมายความว่ามีแนวโน้มที่จะรวมข้อมูลที่ข้อความต้นฉบับไม่รองรับ

ความหลากหลาย

เราคํานวณความหลากหลายของโมเดลโดยหาค่าเฉลี่ยของจํานวนข้อความที่โมเดลสร้างขึ้นสําหรับข้อมูลสรุปแต่ละรายการ

Gemma 2 2B มีคะแนนความหลากหลายสูงสุดที่ 9.1 ซึ่งบ่งบอกว่าข้อมูลสรุปมีรายละเอียดและประเด็นสำคัญมากกว่า นอกจากนี้ โมเดล Flash ของ Gemini 1.5 ยังมีคะแนนความสมบูรณ์สูง ซึ่งสูงกว่า 8.4 Gemma 2B มีคะแนนความหลากหลายต่ำกว่า ซึ่งบ่งชี้ว่าอาจไม่ได้บันทึกข้อมูลสำคัญจากข้อความต้นฉบับมากนัก

บทสรุป

เราพบว่าโมเดลขนาดเล็กที่ทำงานฝั่งไคลเอ็นต์ได้ เช่น Gemma 2 2B สามารถสร้างเอาต์พุตที่มีคุณภาพยอดเยี่ยม แม้ว่าโมเดลที่ทำงานบนระบบคลาวด์ เช่น Gemini 1.5 Flash จะยอดเยี่ยมในการสร้างข้อมูลสรุปที่สอดคล้องกับบทความต้นฉบับและบรรจุข้อมูลจํานวนมาก แต่คุณควรพิจารณาความแตกต่างนี้ควบคู่ไปกับประสิทธิภาพของแอปพลิเคชัน ความต้องการด้านความเป็นส่วนตัวและความปลอดภัย รวมถึงคําถามอื่นๆ ที่คุณอาจถามเมื่อพิจารณาว่าจะสร้าง AI ฝั่งไคลเอ็นต์ หรือไม่

ความสามารถของตระกูลโมเดล Gemma มีวิวัฒนาการที่ชัดเจนเนื่องจาก Gemma 2 2B สามารถสร้างข้อมูลสรุปที่สมบูรณ์และสอดคล้องกันมากกว่า Gemma 2B

ประเมิน Use Case

เอกสารนี้เป็นเพียงตัวอย่างคร่าวๆ ของสิ่งที่เป็นไปได้เมื่อใช้ LLM เป็นเทคนิคการตัดสิน แม้จะมีการสรุปแล้ว คุณก็ดูเมตริกเพิ่มเติมได้ ซึ่งผลลัพธ์อาจแตกต่างกันไป เช่น คุณอาจประเมินความครอบคลุมโดยใช้พรอมต์เพื่อระบุประเด็นสำคัญจากบทความ จากนั้นใช้พรอมต์อื่นเพื่อตรวจสอบว่าสรุปแต่ละรายการครอบคลุมประเด็นสำคัญเหล่านั้นหรือไม่

กรณีการใช้งานอื่นๆ เช่น การเขียนข้อความ การเขียนข้อความใหม่ หรือการสร้างข้อความที่เพิ่มการดึงข้อมูล (RAG) อาจให้ผลลัพธ์ที่แตกต่างกันสำหรับเมตริกเดียวกัน หรือควรใช้เมตริกอื่นๆ ในการประเมิน

เมื่อนำแนวทางนี้ไปใช้ ให้คิดว่ามนุษย์จะประเมินผลลัพธ์อย่างไรเพื่อเลือกเมตริกที่ดีที่สุดสำหรับกรณีการใช้งานของคุณ นอกจากนี้ คุณยังควรพิจารณาเฟรมเวิร์กที่มีอยู่ เช่น DeepEval ซึ่งอาจมีชุดเมตริกที่เหมาะสมกับกรณีการใช้งานของคุณอยู่แล้ว

คุณใช้ LLM เป็นตัวตัดสินเพื่อประเมินโมเดลไหม ทวีตสิ่งที่พบให้เราทราบที่ @ChromiumDev หรือแชร์กับ Chrome สำหรับนักพัฒนาซอฟต์แวร์ใน LinkedIn