RLHF: ไล่คะแนนแบบมีเบรก
ต่อไปใช้ reward model ฝึกเป็นวงจร:
- หยิบคำถามมาหนึ่งข้อ
- โมเดลเขียนคำตอบ
- reward model ให้คะแนน r
- ใช้ gradient (บทที่ 4) ดันโอกาสของคำตอบนั้นขึ้นถ้าคะแนนสูงกว่าค่าเฉลี่ย กดลงถ้าต่ำกว่า ยิ่งห่างยิ่งแรง
วนซ้ำหลายรอบ นี่คือ การเรียนรู้แบบเสริมกำลังจากความเห็นมนุษย์ (Reinforcement Learning from Human Feedback, RLHF)ให้โมเดลเขียนคำตอบ ให้ reward model ให้คะแนน แล้วปรับโมเดลให้คำตอบคะแนนสูงเกิดบ่อยขึ้น โดยหักคะแนนถ้าเปลี่ยนไปจากเดิมมากเกินดูคำศัพท์ทั้งหมด โดย human feedback คือข้อมูลความชอบจากหน้า 5
ปัญหาคือกรรมการตัวแทนมีจุดบอด ไล่คะแนนไม่ยั้งจะเจอช่องโหว่ เช่น ชมผู้ใช้หรือเขียนยาวเกิน เรียกว่า การหาช่องโหว่คะแนน (reward hacking)เมื่อโมเดลได้คะแนนสูงจากกรรมการด้วยวิธีที่ไม่ได้ทำให้คำตอบดีขึ้นจริง เช่น ตอบยาวเกินจำเป็นหรือชมผู้ใช้ดูคำศัพท์ทั้งหมด
ทางแก้คือหักคะแนนตามระยะที่หนีจากโมเดล SFT เดิม วัดด้วย ค่าความต่าง KL (KL divergence)ตัวเลขที่วัดว่าการแจกแจงความน่าจะเป็นสองชุดต่างกันแค่ไหน เป็น 0 เมื่อเหมือนกันทุกประการ ใน RLHF ใช้เป็นเบรกไม่ให้โมเดลหนีจากของเดิมไกลเกินดูคำศัพท์ทั้งหมด ซึ่งบอกว่าโอกาสเปลี่ยนไปแค่ไหน (ไม่เปลี่ยนเลย KL = 0)
J คือคะแนนสุทธิ β คือความแรงของเบรก ลองเลื่อน β ให้แบบ "สุภาพ ชัดเจน ตรงคำถาม" ได้ J สูงสุด
ถ้าติด: ที่ β = 0.4 แบบเอาใจยังนำ (1.72 ต่อ 1.62) แต่ถ้าถึง 1.3 ขึ้นไป แบบเดิมจะนำ
- β ต่ำเกิน ถูกดันไปทางหาช่องโหว่
- β กลางๆ คำตอบดีขึ้นจริง
- β สูงเกิน โมเดลแทบไม่เปลี่ยน
เบรกช่วยได้มาก แต่กันช่องโหว่ไม่ได้หมด
RLHF คือไล่คะแนนจาก reward model แต่หักคะแนนตามระยะที่หนีจากโมเดลเดิม (KL) เพื่อไม่ให้เก่งแค่หาช่องโหว่ของกรรมการ

มังคุด
ทำไมไม่ปล่อยให้มันไล่คะแนนเต็มที่ล่ะ คะแนนสูงก็แปลว่าดีไม่ใช่เหรอ?