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

SFT: สอนบทบาทผู้ช่วยด้วยตัวอย่าง

ขั้นถัดไปคือสอนให้เขียนต่อจากป้าย <|ผู้ช่วย|> แบบผู้ช่วยที่ดี

วิธีแรกคือ การฝึกด้วยตัวอย่างคำตอบ (supervised fine-tuning, SFT)ฝึกโมเดลต่อด้วยบทสนทนาตัวอย่างที่คัดมาแล้ว ใช้ loss เดาคำถัดไปแบบเดิม แต่มักคิดเฉพาะส่วนคำตอบของผู้ช่วยดูคำศัพท์ทั้งหมด ซึ่งฝึกต่อด้วยบทสนทนาตัวอย่าง (คำถาม + คำตอบที่ดี) ที่คนเขียนเอง หรือให้โมเดลร่างแล้วคัดกรอง (แบบหลังใช้กันมากขึ้นเรื่อยๆ)

ข้อมูลมีหลักพันถึงหลักล้านตัวอย่าง น้อยมากเมื่อเทียบกับ pre-training

เป้าหมายเหมือนบทที่ 4: เดา token ถัดไป วัดด้วย ค่าความผิดพลาด (loss, cross-entropy loss)ตัวเลขที่บอกว่าโมเดลเดาผิดมากแค่ไหน ยิ่งต่ำยิ่งดี การเดาคำถัดไปใช้แบบ cross-entropy คือ −ln ของโอกาสที่โมเดลให้คำเฉลย จึงสูงมากเมื่อโมเดลมั่นใจแต่ผิดดูคำศัพท์ทั้งหมด แบบ cross-entropy:

ต่างกันตรงที่มักนับ loss เฉพาะ token ของคำตอบ เพราะอยากให้เรียน "การตอบ" ไม่ใช่เลียนแบบผู้ใช้

ดูคำแรกหลังป้ายผู้ช่วย ก่อนและหลัง SFT:

คะแนนดิบ (logit) และโอกาสของคำถัดไป

แถบคือคะแนนดิบ (ติดลบได้) ตัวเลข % คือโอกาสหลัง softmax รวมกันได้ 100%

<|ผู้ใช้|> เขียนอีเมลเชิญประชุมทีม <|ผู้ช่วย|> ___

  • ผู้ใช้:2.040.1%
  • ข้อ 2: สรุปรายงาน1.832.9%
  • เรียน ทีมทุกคน1.218.0%
  • มีตัวอย่างไหม0.59.0%

ติดลบ = ไม่ค่อยเข้ากับบริบท · เข้ากับบริบทมาก

ตารางตัวเลข: logit และโอกาส สำหรับ "<|ผู้ใช้|> เขียนอีเมลเชิญประชุมทีม <|ผู้ช่วย|> ___"
คำlogitโอกาส
ผู้ใช้:2.040.1%
ข้อ 2: สรุปรายงาน1.832.9%
เรียน ทีมทุกคน1.218.0%
มีตัวอย่างไหม0.59.0%

ก่อน SFT อันดับหนึ่งคือ "ผู้ใช้:" แบบตัวอักษรธรรมดา 40.1% คือจะเขียนบทผู้ใช้ต่อเอง ส่วน "เรียน ทีมทุกคน" ได้แค่ 18.0%

หลัง SFT "เรียน ทีมทุกคน" ขึ้นเป็น 93.8%

loss ของคำเฉลย "เรียน ทีมทุกคน":

  • ก่อน SFT:
  • หลัง SFT:

loss ต่ำลง = โมเดลคาดหวังคำตอบแบบที่ตัวอย่างสอน

SFT สอน พฤติกรรม เป็นหลัก เช่น โครงคำตอบ บทบาท น้ำเสียง จังหวะหยุด และการเขียนคำขอใช้เครื่องมือ (tool calling บทที่ 7) ไม่ใช่ความรู้ก้อนใหม่

SFT ใช้สูตร loss เดิมจาก pre-training แค่เปลี่ยนข้อมูลเป็นบทสนทนาตัวอย่างที่คัดมา โมเดลจึงเรียน "บทบาทผู้ช่วย" มากกว่าความรู้ใหม่

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

มังคุด

ทำไมไม่เขียนบทสนทนาตัวอย่างให้ครบทุกคำถามไปเลยล่ะ?