Direct Preference Optimization (DPO) (VI)

From Systems analysis Wiki
Jump to navigation Jump to search

Direct Preference Optimization (DPO) — là phương pháp căn chỉnh các mô hình ngôn ngữ lớn (LLM) theo sở thích của con người, được đề xuất như một giải pháp thay thế đơn giản hơn và ổn định hơn so với Học tăng cường từ phản hồi của con người (RLHF). Phương pháp này được giới thiệu vào năm 2023 bởi một nhóm các nhà nghiên cứu tại Đại học Stanford dưới sự dẫn dắt của Rafael Rafailov[1].

Điểm khác biệt cốt lõi của DPO là nó tối ưu hóa trực tiếp mô hình ngôn ngữ để phù hợp với sở thích của con người, không cần phải huấn luyện riêng một mô hình phần thưởng (reward model) và bỏ qua bước huấn luyện học tăng cường (RL) phức tạp, giúp quá trình tinh chỉnh LLM trở nên đơn giản hơn, nhanh hơn và ổn định hơn đáng kể[2].

Bối cảnh: Hạn chế của RLHF

Phương pháp chuẩn Reinforcement Learning from Human Feedback (RLHF) bao gồm ba giai đoạn chính:

  1. Supervised Fine-Tuning (SFT): Tinh chỉnh cơ bản mô hình trên các ví dụ chất lượng cao.
  2. Huấn luyện mô hình phần thưởng: Xây dựng một mô hình riêng biệt, học cách gán "điểm đánh giá" cho các câu trả lời dựa trên các cặp so sánh do con người cung cấp (ví dụ: câu trả lời A tốt hơn câu trả lời B).
  3. Tối ưu hóa chính sách bằng RL: Tinh chỉnh mô hình chính bằng các thuật toán RL (ví dụ: PPO) để mô hình tạo ra các câu trả lời tối đa hóa điểm số từ mô hình phần thưởng.

Mặc dù hiệu quả, RLHF là một quy trình phức tạp, tốn kém và không ổn định. Nó dễ gặp phải các vấn đề như reward hacking (khi mô hình "đánh lừa" mô hình phần thưởng) và đòi hỏi việc tinh chỉnh cẩn thận nhiều siêu tham số[1]. DPO được phát triển để khắc phục những hạn chế này.

Nguyên lý hoạt động của DPO

Phương pháp DPO thay thế quy trình nhiều giai đoạn của RLHF bằng một giai đoạn huấn luyện duy nhất, có thể coi như tinh chỉnh có giám sát.

  1. Thu thập dữ liệu sở thích. Tương tự RLHF, một bộ dữ liệu được thu thập trong đó với mỗi câu hỏi `x` có hai câu trả lời: câu được ưa thích (`y_w`, winning) và câu bị loại (`y_l`, losing).
  2. Tối ưu hóa trực tiếp. Thay vì huấn luyện mô hình phần thưởng, DPO trực tiếp sử dụng dữ liệu này để cập nhật bản thân mô hình ngôn ngữ. Mục tiêu tối ưu hóa là tăng xác suất tạo ra câu trả lời được ưa thích `y_w` và đồng thời giảm xác suất tạo ra câu trả lời bị loại `y_l`.

Về mặt toán học, điều này quy về việc tối thiểu hóa hàm mất mát dựa trên hồi quy logistic áp dụng cho hiệu số log-xác suất của các câu trả lời. Để mô hình không "quên" kiến thức ban đầu, DPO, giống như RLHF, sử dụng mô hình tham chiếu (reference model, thường là phiên bản SFT) để chính quy hóa, ngăn mô hình lệch quá nhiều so với phân phối câu trả lời ban đầu[2].

Ưu điểm so với RLHF

  • Đơn giản và ổn định: DPO loại bỏ nhu cầu huấn luyện một mô hình phần thưởng riêng biệt và cấu hình RL phức tạp. Quy trình trở nên đơn giản hơn, dễ dự đoán hơn và ít xảy ra lỗi hơn[3].
  • Hiệu quả và tốc độ: Việc loại bỏ hai giai đoạn giúp giảm đáng kể chi phí tính toán (số giờ GPU) và thời gian cần thiết để tinh chỉnh mô hình. Theo một số ước tính, DPO tiết kiệm hơn RLHF khoảng 50–60%[4].
  • Chất lượng kết quả: Các thực nghiệm cho thấy DPO không thua kém RLHF về chất lượng, và trong một số tác vụ, chẳng hạn như kiểm soát giọng điệu câu trả lời, còn vượt trội hơn. Các mô hình được huấn luyện bằng DPO thể hiện sự phù hợp tốt hơn với sở thích của con người[1].
  • Không suy giảm kỹ năng nền tảng: Việc tinh chỉnh bằng DPO ảnh hưởng tối thiểu đến các khả năng chung của mô hình (ví dụ: kiến thức thực tế hay lý luận logic), khác với RLHF đôi khi có thể làm suy giảm các chỉ số nền tảng[5].

Ứng dụng và phổ biến

Nhờ hiệu quả và tính đơn giản, DPO nhanh chóng được phổ biến rộng rãi. Nó đã được triển khai trong các thư viện open-source hàng đầu như Hugging Face TRLOpenRLHF.

Nhiều mô hình mã nguồn mở thành công đã được tinh chỉnh bằng DPO, bao gồm Zephyr-7BTÜLU 2. Các mô hình này cho thấy hiệu suất cao trên các benchmark đánh giá chất lượng câu trả lời, xác nhận hiệu quả của DPO đối với các mô hình quy mô lớn[5].

Các nhà lãnh đạo trong ngành cũng đã tích hợp DPO vào nền tảng của họ. Ví dụ, Microsoft đã thêm hỗ trợ tinh chỉnh bằng DPO vào dịch vụ Azure OpenAI, cho phép người dùng tinh chỉnh các mô hình, bao gồm GPT-4, trên dữ liệu sở thích của riêng họ[6].

Hạn chế

Mặc dù có nhiều ưu điểm, DPO vẫn kế thừa một số hạn chế từ bản thân phương pháp huấn luyện theo sở thích:

  • Nhạy cảm với dữ liệu: Chất lượng và sự đa dạng của dữ liệu sở thích thu thập được là yếu tố then chốt. Nếu dữ liệu thiên lệch (ví dụ: chỉ chứa một ngôn ngữ hoặc một phong cách), mô hình có thể bị overfit và giảm hiệu suất trong các lĩnh vực khác[7].
  • Tính tĩnh của quá trình huấn luyện: Giống như RLHF, DPO được huấn luyện trên một bộ dữ liệu tĩnh và không giả định sự tương tác động với môi trường. Phương pháp này phù hợp tốt cho việc căn chỉnh một bước, nhưng không phù hợp cho các tác vụ yêu cầu học qua các hành động tuần tự.

Liên kết ngoài

  • Tài liệu DPO trong thư viện Hugging Face TRL
  • Tổng quan phân tích về RLHF và DPO tại ICLR 2024 Blogposts

Tài liệu tham khảo

  • 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.

Ghi chú

  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]