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

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

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

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

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

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

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

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

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

สรุปบทความใน 1 ย่อหน้า

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

เลือกผู้ตัดสินเพื่อวิเคราะห์และให้คะแนนข้อมูลสรุป

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

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

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

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

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

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

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

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

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

จากนั้นเราขอให้ 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 เป็นเทคนิคการตัดสิน แม้จะมีการสรุป แต่คุณก็ดูเมตริกเพิ่มเติมได้ และผลลัพธ์อาจแตกต่างกัน ตัวอย่างเช่น คุณอาจประเมินความครอบคลุมโดยใช้ข้อความแจ้งเพื่อระบุประเด็นสำคัญจากบทความ แล้วใช้ข้อความแจ้งอื่นเพื่อตรวจสอบว่าข้อมูลสรุปแต่ละรายการครอบคลุมประเด็นสำคัญเหล่านั้นหรือไม่

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

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

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