LRN||topics

พื้นฐานของ Language Model

การวัดประสิทธิภาพของโมเดล

เรียนรู้เมตริกที่ใช้ประเมินคุณภาพของโมเดลภาษา เช่น perplexity และ accuracy

บทเรียน: พื้นฐานของ Language Model

หัวข้อย่อย: การวัดประสิทธิภาพของโมเดล

การวัดประสิทธิภาพของโมเดลภาษา (Language Model) เป็นขั้นตอนสำคัญในการพัฒนาและปรับปรุงโมเดล เพราะช่วยให้เราทราบว่าโมเดลนั้น "ฉลาด" และ "แม่นยำ" แค่ไหนในการคาดเดาคำถัดไปหรือสร้างข้อความที่มีความหมาย โดยเมตริกหลักที่ใช้กันอย่างแพร่หลายมีสองตัวคือ Perplexity และ Accuracy ซึ่งแต่ละตัวมีจุดเด่นและการใช้งานที่แตกต่างกัน

Perplexity: วัดความ "ประหลาดใจ" ของโมเดล

Perplexity (PPL) เป็นเมตริกที่ใช้วัดว่าโมเดลภาษา "สับสน" หรือ "ประหลาดใจ" กับข้อมูลทดสอบมากน้อยเพียงใด ยิ่งค่า Perplexity ต่ำ ยิ่งหมายความว่าโมเดลสามารถคาดเดาคำถัดไปได้ดีและแม่นยำสูง โดยหลักการคือโมเดลจะให้ความน่าจะเป็นสูงกับลำดับคำที่สมเหตุสมผล และให้ความน่าจะเป็นต่ำกับลำดับคำที่ไม่สมเหตุสมผล

การคำนวณ: Perplexity คำนวณจากค่าความน่าจะเป็นของลำดับคำทั้งหมดในชุดข้อมูลทดสอบ โดยใช้สูตร:

PPL = exp(-1/N * Σ log P(w_i | w_1, w_2, ..., w_{i-1}))

โดยที่ N คือจำนวนคำทั้งหมด และ P(w_i | ...) คือความน่าจะเป็นที่โมเดลให้กับคำที่ i เมื่อเห็นคำก่อนหน้า

ตัวอย่าง: สมมติว่าเรามีโมเดลภาษาสองตัวที่ถูกทดสอบด้วยประโยค "แมวกำลังนอนหลับบนโซฟา"

  • โมเดล A ให้ความน่าจะเป็นสูงกับทุกคำในประโยคนี้ (เช่น P(แมว) = 0.3, P(กำลัง) = 0.4, P(นอนหลับ) = 0.5, ฯลฯ) ส่งผลให้ Perplexity ต่ำ เช่น 20
  • โมเดล B ให้ความน่าจะเป็นต่ำกับบางคำ (เช่น P(นอนหลับ) = 0.01) ส่งผลให้ Perplexity สูง เช่น 150

โมเดล A มี Perplexity ต่ำกว่า แสดงว่ามีความแม่นยำในการคาดเดาคำถัดไปมากกว่า

ข้อสังเกต: Perplexity เป็นเมตริกที่เหมาะสำหรับการเปรียบเทียบโมเดลภาษาในงานเดียวกัน แต่ไม่สามารถบอกได้ว่าโมเดลนั้น "เข้าใจ" ความหมายจริงหรือไม่ เพราะโมเดลอาจจำรูปแบบทางสถิติได้ดีแต่ไม่เข้าใจบริบท

Accuracy: วัดความถูกต้องในการทำนาย

Accuracy (ความแม่นยำ) เป็นเมตริกที่ใช้วัดสัดส่วนของคำที่โมเดลทำนายได้ถูกต้องเมื่อเทียบกับคำจริงในชุดข้อมูลทดสอบ โดยมักใช้ในงานที่ต้องการการทำนายแบบเฉพาะเจาะจง เช่น การเติมคำในช่องว่าง (Fill-in-the-blank) หรือการเลือกคำตอบที่ถูกต้องจากหลายตัวเลือก

การคำนวณ: Accuracy = (จำนวนครั้งที่ทำนายถูก) / (จำนวนครั้งที่ทำนายทั้งหมด) × 100%

ตัวอย่าง: ในการทดสอบโมเดลด้วยประโยค 100 ประโยค โดยให้โมเดลทำนายคำที่หายไปในแต่ละประโยค

  • โมเดล A ทำนายถูก 85 คำ จาก 100 คำ → Accuracy = 85%
  • โมเดล B ทำนายถูก 70 คำ จาก 100 คำ → Accuracy = 70%

โมเดล A มี Accuracy สูงกว่า แสดงว่าทำงานได้ดีกว่าในงานนี้

ข้อสังเกต: Accuracy มีข้อจำกัดเมื่อข้อมูลไม่สมดุล (Imbalanced data) เช่น ถ้าคำที่ถูกต้องส่วนใหญ่เป็นคำที่พบบ่อย โมเดลอาจทำนายถูกโดยบังเอิญ แต่ไม่ได้หมายความว่าโมเดลเข้าใจภาษาได้ดี

การเปรียบเทียบระหว่าง Perplexity และ Accuracy

เมตริก Perplexity Accuracy
แนวคิด วัดความสับสนของโมเดลต่อข้อมูล วัดสัดส่วนการทำนายที่ถูกต้อง
การตีความ ยิ่งต่ำยิ่งดี ยิ่งสูงยิ่งดี
การใช้งาน เปรียบเทียบโมเดลภาษาโดยรวม วัดผลงานในงานเฉพาะ เช่น การเติมคำ
ข้อดี สะท้อนความสามารถในการคาดเดาคำถัดไป เข้าใจง่าย ตรงไปตรงมา
ข้อเสีย ไม่บอกความถูกต้องโดยตรง ไม่เหมาะกับข้อมูลไม่สมดุล

เมตริกอื่นๆ ที่น่าสนใจ

นอกจาก Perplexity และ Accuracy แล้ว ยังมีเมตริกอื่นที่ใช้ในการวัดประสิทธิภาพของโมเดลภาษา เช่น:

  • BLEU Score: ใช้สำหรับวัดคุณภาพของการแปลภาษา โดยเปรียบเทียบข้อความที่สร้างขึ้นกับข้อความอ้างอิง
  • ROUGE Score: ใช้สำหรับวัดคุณภาพของการสรุปความ โดยเน้นที่การซ้อนทับของคำสำคัญ
  • F1 Score: ใช้ในงาน classification ที่ข้อมูลไม่สมดุล โดยหาค่าเฉลี่ยระหว่าง Precision และ Recall

ตัวอย่างการใช้งานจริง

ในการพัฒนาโมเดลภาษาเพื่อสร้างแชทบอท นักพัฒนาอาจใช้ Perplexity เพื่อเลือกโมเดลที่ดีที่สุดจากหลายตัวเลือก จากนั้นใช้ Accuracy เพื่อทดสอบว่าโมเดลตอบคำถามได้ถูกต้องหรือไม่ ตัวอย่างเช่น:

  1. นักพัฒนาทดสอบโมเดล A (PPL = 30) และโมเดล B (PPL = 50) ด้วยชุดข้อมูลทดสอบเดียวกัน โมเดล A มี PPL ต่ำกว่า แสดงว่าคาดเดาคำได้ดีกว่า
  2. จากนั้นนักพัฒนาทดสอบทั้งสองโมเดลด้วยชุดคำถาม 100 ข้อ โมเดล A ตอบถูก 80 ข้อ (Accuracy 80%) โมเดล B ตอบถูก 60 ข้อ (Accuracy 60%) สรุปได้ว่าโมเดล A มีประสิทธิภาพดีกว่าในทั้งสองเมตริก

ข้อสังเกตสำคัญ: การใช้เมตริกหลายๆ ตัวร่วมกันจะให้ภาพรวมที่สมบูรณ์กว่า เนื่องจากเมตริกแต่ละตัวมีข้อจำกัดของตัวเอง

สรุป

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

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

?

คำถามเพื่อคิดวิเคราะห์

-- ลองตอบคำถาม AI จะวิเคราะห์และให้ feedback

Q1

หากโมเดลภาษา A มี Perplexity ต่ำกว่าโมเดล B มาก แต่ Accuracy กลับต่ำกว่า คุณจะสรุปว่าโมเดลไหนดีกว่ากัน เพราะอะไร และมีปัจจัยใดบ้างที่ทำให้เกิดความแตกต่างนี้

Q2

ในการพัฒนาโมเดลภาษาสำหรับการสรุปข่าว คุณจะเลือกใช้เมตริกใดในการประเมินประสิทธิภาพ และเพราะเหตุใดเมตริกนั้นถึงเหมาะสมมากกว่า Perplexity หรือ Accuracy

Q3

ถ้าคุณต้องออกแบบเมตริกใหม่เพื่อวัดว่าโมเดลภาษา 'เข้าใจ' บริบทของภาษาเชิงลึก (เช่น การเสียดสีหรืออารมณ์) คุณจะกำหนดเกณฑ์อย่างไร

// key_insights

  • --Perplexity วัดความสับสนของโมเดลต่อข้อมูล ยิ่งต่ำยิ่งดี แต่ไม่สามารถบอกความถูกต้องโดยตรง
  • --Accuracy วัดสัดส่วนการทำนายที่ถูกต้อง เข้าใจง่าย แต่มีข้อจำกัดเมื่อข้อมูลไม่สมดุล
  • --การเลือกเมตริกขึ้นอยู่กับงาน เช่น Perplexity ใช้เปรียบเทียบโมเดลโดยรวม ส่วน Accuracy ใช้ในงานเฉพาะ
  • --เมตริกแต่ละตัวมีข้อดีและข้อเสีย ควรใช้หลายตัวร่วมกันเพื่อให้ภาพรวมสมบูรณ์
  • --Perplexity และ Accuracy เป็นเพียงจุดเริ่มต้น ยังมีเมตริกอื่นอย่าง BLEU, ROUGE, F1 ที่สำคัญในงานเฉพาะทาง