บทที่ 5 · จากเครื่องเดาคำ สู่ผู้ช่วย หน้า 7/12 ~3 นาที

RLHF: ไล่คะแนนแบบมีเบรก

ต่อไปใช้ reward model ฝึกเป็นวงจร:

วงจร RLHFหยิบคำถาม ให้โมเดลที่กำลังฝึกเขียนคำตอบ reward model ให้คะแนน แล้วปรับโมเดลให้คะแนนสุทธิ r ลบ β คูณ KL สูงขึ้น โดย KL วัดเทียบกับโมเดล SFT เดิม วนซ้ำหลายรอบคำถามจากชุดฝึกโมเดลที่กำลังฝึกเขียนคำตอบreward modelให้คะแนน rปรับโมเดลr − β·KL สูงขึ้นโมเดล SFT เดิมไว้เทียบ KLวัด KLวนซ้ำ
  1. หยิบคำถามมาหนึ่งข้อ
  2. โมเดลเขียนคำตอบ
  3. reward model ให้คะแนน r
  4. ใช้ 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 สูงสุด

RLHF: คะแนนสุทธิ = r − β·KL

เลื่อน β (ความแรงของเบรก KL) แล้วดูว่าการฝึกจะดันโมเดลไปทางสไตล์ไหน (คะแนนสุทธิสูงสุด)

J = r − β·KL β = 0.0

  • ตอบแบบเดิม (SFT)

    r 1.00KL 0.00β·KL 0.00

    • คะแนนสุทธิJ 1.00
  • สุภาพ ชัดเจน ตรงคำถาม

    r 1.90KL 0.70β·KL 0.00

    • คะแนนสุทธิJ 1.90
  • ชมผู้ใช้ทุกประโยค ยาวเหยียด✔ การฝึกดันไปทางนี้

    r 2.60KL 2.20β·KL 0.00

    • คะแนนสุทธิJ 2.60

β ต่ำเกิน: การฝึกดันโมเดลไปทางเอาใจและเขียนยาว (reward hacking)

ภารกิจ: ทำให้แบบ 'สุภาพ ชัดเจน ตรงคำถาม' ได้คะแนนสุทธิสูงสุด

ตารางตัวเลข: คะแนนสุทธิที่ β 0.0
สไตล์รางวัล rKLr − β·KL
ตอบแบบเดิม (SFT)1.000.001.00
สุภาพ ชัดเจน ตรงคำถาม1.900.701.90
ชมผู้ใช้ทุกประโยค ยาวเหยียด (สูงสุด)2.602.202.60

ถ้าติด: ที่ β = 0.4 แบบเอาใจยังนำ (1.72 ต่อ 1.62) แต่ถ้าถึง 1.3 ขึ้นไป แบบเดิมจะนำ

  • β ต่ำเกิน ถูกดันไปทางหาช่องโหว่
  • β กลางๆ คำตอบดีขึ้นจริง
  • β สูงเกิน โมเดลแทบไม่เปลี่ยน

เบรกช่วยได้มาก แต่กันช่องโหว่ไม่ได้หมด

RLHF คือไล่คะแนนจาก reward model แต่หักคะแนนตามระยะที่หนีจากโมเดลเดิม (KL) เพื่อไม่ให้เก่งแค่หาช่องโหว่ของกรรมการ

มังคุด มาสคอตมังคุด

มังคุด

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