Perplexity: ลังเลเหมือนเลือกจากกี่ทาง
loss 0.4197 นึกภาพยาก วิธีแปลงให้เข้าใจง่ายคือเอา e ยกกำลังด้วย loss ได้ค่าที่เรียกว่า ความลังเล (perplexity)e ยกกำลัง loss เฉลี่ยต่อ token อ่านได้ว่าโมเดลลังเลเหมือนต้องเลือกจากกี่ทาง ยิ่งต่ำยิ่งดี และเทียบกันได้เฉพาะเมื่อใช้ tokenizer กับข้อความทดสอบเดียวกันดูคำศัพท์ทั้งหมด
ถ้าเฉลยคือ ปลา: อ่านว่าโมเดล "ลังเลราว 1.5 ทาง" สำหรับคำเดียว ค่านี้เท่ากับ 1/p พอดี: 1/0.6572 ≈ 1.52
เทียบกับการเดาสุ่มจาก 4 ทาง: p = 0.25 ได้ loss = ln 4 = 1.3863 และ perplexity = 4 พอดี แปลว่า "ลังเลเท่าเดาสุ่มจาก 4 ทาง"
ทั้งประโยคก็ได้ ลองใช้ 3 ข้อของ "แมวชอบกินปลา" ที่เห็นมาแล้ว (สองข้อแรกสมมติโอกาสให้):
| ข้อ | โอกาสที่ให้เฉลย | loss |
|---|---|---|
| ชอบ หลัง แมว | 25.0% | 1.3863 |
| กิน หลัง แมวชอบ | 50.0% | 0.6931 |
| ปลา หลัง แมวชอบกิน | 65.7% | 0.4197 |
loss เฉลี่ย ≈ 0.833 → perplexity = ≈ 2.30 หรือลังเลราว 2.3 ทางต่อคำ
ก่อนฝึก โมเดลเดาเกือบสุ่มจาก คลังคำของโมเดล (vocabulary)รายการ token ทั้งหมดที่โมเดลรู้จัก โมเดลจริงมีตั้งแต่หลายหมื่นถึงราวสองแสนกว่า tokenดูคำศัพท์ทั้งหมด สมมติมี 100,000 token จะได้ loss ≈ ln 100,000 = 11.5129 และ perplexity ≈ 100,000
การฝึกดัน perplexity จากหลักแสนลงมาเหลือหลักหน่วยถึงหลักสิบ (loss จาก ~11.5 เหลือราว 2–3 และต่ำกว่า 2 ได้ในโมเดลใหญ่)
ค่าต่ำสุดที่เป็นไปได้คือ 1 หมายถึงเดาถูกทุกคำแบบมั่นใจเต็มร้อย
ข้อควรระวัง: perplexity เทียบกันได้เฉพาะโมเดลที่ใช้ tokenizer เดียวกัน และวัดบนข้อความทดสอบชุดเดียวกัน
perplexity = e ยกกำลัง loss เฉลี่ย บอกว่าโมเดลลังเลเหมือนต้องเลือกจากกี่ทาง ยิ่งต่ำยิ่งเดาแม่น

มังคุด
ถ้าฝึกไปเรื่อยๆ perplexity จะลงไปถึง 1 ได้มั้ย?