Direct Preference Optimization (DPO) (TH)

From Systems analysis Wiki
Jump to navigation Jump to search

Direct Preference Optimization (DPO) — คือวิธีการปรับแนวทาง (alignment) ของโมเดลภาษาขนาดใหญ่ (LLM) ให้สอดคล้องกับความพึงพอใจของมนุษย์ โดยถูกเสนอขึ้นมาเป็นทางเลือกที่เรียบง่ายและมีเสถียรภาพมากกว่า Reinforcement Learning from Human Feedback (RLHF) วิธีการนี้ถูกนำเสนอในปี ค.ศ. 2023 โดยกลุ่มนักวิจัยจากมหาวิทยาลัยสแตนฟอร์ดภายใต้การนำของ Rafael Rafailov[1]

ความแตกต่างหลักของ DPO คือการที่มันปรับโมเดลภาษาให้สอดคล้องกับความพึงพอใจของมนุษย์โดยตรง โดยไม่จำเป็นต้องฝึก โมเดลรางวัล (reward model) แยกต่างหาก และไม่ต้องผ่านขั้นตอน Reinforcement Learning (RL) ที่ซับซ้อน ส่งผลให้กระบวนการปรับแต่ง LLM ง่ายขึ้น รวดเร็วขึ้น และมีเสถียรภาพมากขึ้นอย่างมีนัยสำคัญ[2]

ความเป็นมา: ข้อจำกัดของ RLHF

วิธีมาตรฐาน Reinforcement Learning from Human Feedback (RLHF) ประกอบด้วยสามขั้นตอนหลัก:

  1. Supervised Fine-Tuning (SFT): การ fine-tuning พื้นฐานของโมเดลด้วยตัวอย่างที่มีคุณภาพสูง
  2. การฝึกโมเดลรางวัล: การสร้างโมเดลแยกต่างหากที่เรียนรู้การให้ "คะแนน" แก่คำตอบบนพื้นฐานของการเปรียบเทียบแบบคู่ที่ให้โดยมนุษย์ (เช่น คำตอบ A ดีกว่าคำตอบ B)
  3. การปรับนโยบายด้วย RL: การ fine-tuning โมเดลหลักโดยใช้อัลกอริทึม RL (เช่น PPO) เพื่อให้โมเดลสร้างคำตอบที่ได้คะแนนสูงสุดจากโมเดลรางวัล

แม้จะมีประสิทธิภาพ แต่ RLHF เป็นกระบวนการที่ซับซ้อน มีค่าใช้จ่ายสูง และไม่เสถียร มันมีความเสี่ยงต่อปัญหาต่าง ๆ เช่น reward hacking (เมื่อโมเดล "หลอก" โมเดลรางวัล) และต้องการการปรับ hyperparameter จำนวนมากอย่างละเอียดถี่ถ้วน[1] DPO ถูกพัฒนาขึ้นเพื่อเอาชนะข้อจำกัดเหล่านี้

หลักการทำงานของ DPO

วิธี DPO แทนที่กระบวนการหลายขั้นตอนของ RLHF ด้วยขั้นตอนการฝึกเดียว ซึ่งสามารถมองได้ว่าเป็นการ fine-tuning แบบมีผู้สอน

  1. การรวบรวมข้อมูลความพึงพอใจ. เช่นเดียวกับ RLHF จะมีการรวบรวม dataset ที่สำหรับแต่ละคำถาม `x` จะมีคำตอบสองแบบ ได้แก่ คำตอบที่ถูกเลือก (`y_w`, winning) และคำตอบที่ถูกปฏิเสธ (`y_l`, losing)
  2. การปรับให้เหมาะสมโดยตรง. แทนที่จะฝึกโมเดลรางวัล DPO ใช้ข้อมูลเหล่านี้โดยตรงเพื่ออัปเดตโมเดลภาษาเอง เป้าหมายของการปรับให้เหมาะสมคือการเพิ่มความน่าจะเป็นในการสร้างคำตอบที่ถูกเลือก `y_w` และในขณะเดียวกันลดความน่าจะเป็นในการสร้างคำตอบที่ถูกปฏิเสธ `y_l`

ในเชิงคณิตศาสตร์ สิ่งนี้귀แปลเป็นการลดฟังก์ชันการสูญเสียที่อิงจากการถดถอยโลจิสติกส์ที่ใช้กับผลต่างของความน่าจะเป็นลอการิทึมของคำตอบ เพื่อป้องกันไม่ให้โมเดล "ลืม" ความรู้เดิม DPO เช่นเดียวกับ RLHF จะใช้ โมเดลอ้างอิง (reference model ซึ่งโดยปกติคือเวอร์ชัน SFT) สำหรับการ regularization เพื่อป้องกันการเบี่ยงเบนจากการกระจายคำตอบดั้งเดิมมากเกินไป[2]

ข้อดีเมื่อเปรียบเทียบกับ RLHF

  • ความเรียบง่ายและเสถียรภาพ: DPO ขจัดความจำเป็นในการฝึกโมเดลรางวัลแยกต่างหากและการตั้งค่า RL ที่ซับซ้อน กระบวนการจึงเรียบง่ายขึ้น คาดเดาได้มากขึ้น และเกิดข้อผิดพลาดน้อยลง[3]
  • ประสิทธิภาพและความเร็ว: การตัดสองขั้นตอนออกช่วยลดค่าใช้จ่ายในการคำนวณ (GPU-hours) และเวลาที่ต้องใช้ในการปรับแต่งโมเดลอย่างมีนัยสำคัญ ตามการประมาณบางส่วน DPO ประหยัดกว่า RLHF ถึง 50–60%[4]
  • คุณภาพของผลลัพธ์: การทดลองแสดงให้เห็นว่า DPO ไม่ด้อยกว่า RLHF ในด้านคุณภาพ และในบางงาน เช่น การควบคุมน้ำเสียงของคำตอบ ยังดีกว่าด้วย โมเดลที่ฝึกด้วย DPO แสดงให้เห็นถึงความสอดคล้องกับความพึงพอใจของมนุษย์ที่ดีขึ้น[1]
  • ไม่มีการเสื่อมถอยของทักษะพื้นฐาน: การปรับแต่งด้วย DPO ส่งผลกระทบต่อความสามารถทั่วไปของโมเดล (เช่น ความรู้เชิงข้อเท็จจริงหรือตรรกะ) น้อยที่สุด ต่างจาก RLHF ที่บางครั้งอาจทำให้ metric พื้นฐานแย่ลง[5]

การนำไปใช้และการแพร่กระจาย

ด้วยประสิทธิภาพและความเรียบง่าย DPO จึงได้รับการยอมรับอย่างแพร่หลายอย่างรวดเร็ว มันถูกนำไปใช้ในไลบรารี open-source ชั้นนำ เช่น Hugging Face TRL และ OpenRLHF

โมเดลเปิดที่ประสบความสำเร็จหลายโมเดลถูก fine-tuning ด้วย DPO รวมถึง Zephyr-7B และ TÜLU 2 โมเดลเหล่านี้แสดงให้เห็นประสิทธิภาพสูงบน benchmark การประเมินคุณภาพคำตอบ ซึ่งยืนยันประสิทธิผลของ DPO สำหรับโมเดลขนาดใหญ่[5]

ผู้นำในอุตสาหกรรมยังได้นำ DPO มาใช้ในแพลตฟอร์มของตนด้วย ตัวอย่างเช่น Microsoft ได้เพิ่มการรองรับการ fine-tuning ด้วย DPO ในบริการ Azure OpenAI ช่วยให้ผู้ใช้สามารถปรับแต่งโมเดล รวมถึง GPT-4 บนข้อมูลความพึงพอใจของตนเองได้[6]

ข้อจำกัด

แม้จะมีข้อดี แต่ DPO ยังคงสืบทอดข้อจำกัดบางประการจากแนวทางการเรียนรู้จากความพึงพอใจ:

  • ความไวต่อข้อมูล: คุณภาพและความหลากหลายของข้อมูลความพึงพอใจที่รวบรวมได้มีความสำคัญอย่างยิ่ง หากข้อมูลเอนเอียง (เช่น มีเฉพาะภาษาหรือรูปแบบเดียว) โมเดลอาจเกิด overfitting และประสิทธิภาพในด้านอื่นลดลง[7]
  • ความเป็นแบบคงที่ของการฝึก: เช่นเดียวกับ RLHF DPO ฝึกบน dataset ที่คงที่และไม่รองรับการโต้ตอบแบบไดนามิกกับสภาพแวดล้อม วิธีนี้เหมาะสำหรับการปรับแนวทางแบบขั้นตอนเดียว แต่ไม่เหมาะสำหรับงานที่ต้องการการเรียนรู้ผ่านการกระทำแบบต่อเนื่อง

ลิงก์

  • เอกสารประกอบ DPO ในไลบรารี Hugging Face TRL
  • บทวิเคราะห์เชิงลึกเกี่ยวกับ RLHF และ DPO ใน ICLR 2024 Blogposts

บรรณานุกรม

  • Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
  • Hong, J.; Lee, N.; Thorne, J. (2024). ORPO: Monolithic Preference Optimization without Reference Model. arXiv:2403.07691.
  • Sun, L. et al. (2025). BPO: Revisiting Preference Modeling in Direct Preference Optimization. arXiv:2506.03557.
  • Yin, Y. et al. (2024). Self-Augmented Preference Optimization: Off-Policy Paradigms for Language Model Alignment. arXiv:2405.20830.
  • Wu, Y. et al. (2024). Self-Play Preference Optimization for Language Model Alignment. arXiv:2405.00675.
  • Li, P. et al. (2024). ROPO: Robust Preference Optimization for Large Language Models. arXiv:2404.04102.
  • Tunstall, L. et al. (2023). Zephyr: Direct Distillation of LM Alignment. arXiv:2310.16944.
  • Wu, F. et al. (2023). Diffusion-DPO: Diffusion Model Alignment Using Direct Preference Optimization. arXiv:2311.12908.
  • Lee, H. et al. (2023). RLAIF vs. RLHF: Scaling Reinforcement Learning from Human Feedback with AI Feedback. arXiv:2309.00267.
  • Rafailov, R.; Sharma, A.; Mitchell, E.; Manning, C. D.; Finn, C. (2024). Direct Preference Optimization (v3): Enhanced Experiments and Analysis. arXiv:2305.18290v3.

หมายเหตุ

  1. 1.0 1.1 1.2 Rafailov, R., et al. «Direct Preference Optimization: Your Language Model is Secretly a Reward Model». arXiv:2305.18290. [1]
  2. 2.0 2.1 «Simplifying Alignment: From RLHF to Direct Preference Optimization (DPO)». Hugging Face Blog. [2]
  3. «What is direct preference optimization (DPO)?». SuperAnnotate Blog. [3]
  4. «RLHF vs DPO: A Closer Look into the Process and Methodology». Arbisoft Blog. [4]
  5. 5.0 5.1 «RLHF without RL - Direct Preference Optimization». ICLR Blogposts 2024. [5]
  6. «Direct preference optimization». Azure OpenAI | Microsoft Learn. [6]
  7. «Direct Preference Optimization (DPO): A Lightweight Counterpart to RLHF». Toloka AI Blog. [7]