DPO Tối Ưu Hóa Sở Thích Người Dùng Như Thế Nào? Hiểu Đúng Bản Chất Của Direct Preference Optimization

Tác giả: AI VIET NAM (AI VIET NAM)

Keywords: dpo, direct preference optimization, llm fine-tuning, preference learning, rlhf alternative

📘 DPO Là Gì?

Trong huấn luyện các mô hình ngôn ngữ lớn (LLMs), việc làm sao để mô hình trả lời phù hợp với sở thích người dùng là mục tiêu quan trọng.
Trước đây, kỹ thuật phổ biến là RLHF (Reinforcement Learning from Human Feedback).
Tuy nhiên, RLHF phức tạp, khó huấn luyện và yêu cầu mô phỏng phần thưởng.

Để giải quyết vấn đề này, phương pháp DPO – Direct Preference Optimization ra đời.
DPO loại bỏ phần mô phỏng reward và tối ưu trực tiếp dựa trên dữ liệu “người dùng thích câu nào hơn”.
Đây là nội dung liên quan đến Reinforcement Learning, Preference Modeling, Loss Functions, thường xuất hiện trong nhóm kiến thức của Module 11–12 theo hướng học thuật AI.

DPO Là Gì?

DPO (Direct Preference Optimization) là phương pháp huấn luyện LLM dựa trực tiếp trên so sánh sở thích (preference pairs) mà không cần dùng một mô hình “reward model”.
Dữ liệu đầu vào của DPO gồm các cặp:
Response A – người dùng thích
Response B – người dùng không thích
Mục tiêu:
Huấn luyện mô hình tạo ra câu trả lời giống A hơn B trong cùng một ngữ cảnh.

DPO Tối Ưu Hóa Sở Thích Người Dùng Nhờ Điều Gì?

Điểm cốt lõi của DPO nằm ở loss function được thiết kế để mô hình:
tăng xác suất output được yêu thích,
giảm xác suất output không được yêu thích,
duy trì mức độ phù hợp so với mô hình gốc (reference model).

DPO thực hiện điều này bằng cách:

Trực tiếp so sánh log-prob của hai câu trả lời (preferred vs. rejected)
Không cần phần thưởng phức tạp như trong RLHF.

Tối ưu dựa trên sự chênh lệch xác suất
Nghĩa là mô hình phải gán xác suất cho câu được thích cao hơn câu bị từ chối.

Cân bằng giữa thích ứng và ổn định
DPO dùng một mô hình tham chiếu để tránh mô hình “đi quá xa” khỏi kiến thức nền.

Nhờ vậy, mô hình học xu hướng trả lời phù hợp với sở thích của người dùng mà không phá vỡ kiến thức ban đầu.

Công Thức Tối Ưu Trong DPO (Trình Bày Dễ Đọc)

Gọi:
πθ\pi_\theta : mô hình đang huấn luyện
πref\pi_{\text{ref}} : mô hình tham chiếu
xx : prompt
y+y^+ : câu trả lời được chọn
yy^- : câu trả lời bị từ chối

Loss của DPO dựa trên tỷ lệ:

logπθ(y+x)logπθ(yx)\log \pi_\theta (y^+ | x) - \log \pi_\theta (y^- | x)

và có điều chỉnh theo mô hình tham chiếu:

logπref(y+x)logπref(yx)\log \pi_{\text{ref}} (y^+ | x) - \log \pi_{\text{ref}} (y^- | x)

Sau đó dùng hàm logistic để chuyển thành loss.
Điều quan trọng:
Mô hình không sinh phần thưởng — nó chỉ so sánh xác suất của hai câu trả lời.

DPO Hoạt Động Như Thế Nào Trong Thực Tế?

Quy trình:

Thu thập dữ liệu preference: A tốt hơn B.
Tokenize và đưa vào mô hình.
Mô hình tính xác suất cho cả A và B.
Loss DPO điều chỉnh để ưu tiên A.

Qua nhiều lần huấn luyện, mô hình học xu hướng:
tạo câu mạch lạc hơn,
tránh lỗi thường gặp,
phù hợp phong cách người dùng hoặc guideline.

Vì Sao DPO Được Ưa Chuộng Hơn RLHF?

Không cần reward model
Giảm một mô hình trong pipeline → huấn luyện đơn giản hơn.

Ổn định về mặt tối ưu hóa
Không dùng RL (PPO), không có gradient khó kiểm soát.

Dễ mở rộng và tái lập
Chỉ cần dữ liệu preference pairs.

Tránh over-optimization
Nhờ mô hình tham chiếu, mô hình không đi quá xa khỏi hành vi ban đầu.

Nhiều mô hình hiện đại như Llama3-Instruct, Phi, Qwen, Mistral… sử dụng DPO trong giai đoạn tinh chỉnh cuối.

Ví Dụ Thực Tế Dễ Hiểu

Prompt: “Giải thích Regularization trong Machine Learning.”

Câu A (người dùng thích):
Giải thích rõ ràng, đúng kỹ thuật, ví dụ minh họa.

Câu B (người dùng không thích):
Giải thích thiếu ý, không đủ thông tin.

DPO sẽ điều chỉnh để:
tăng xác suất mô hình sinh ra kiểu A,
giảm xác suất sinh ra kiểu B.

Qua hàng triệu cặp như vậy → mô hình dần “hợp gu” người dùng.

Góc Nhìn Khi Làm Dự Án AI/ML 📂

Trong thực tế triển khai AI Agent, chatbot doanh nghiệp, trợ lý nội bộ:
DPO giúp mô hình trả lời theo chính sách của tổ chức.
Giúp mô hình tránh các đáp án không phù hợp.
Tạo phong cách trả lời đồng nhất.
Dễ tinh chỉnh lặp lại khi có thêm dữ liệu preference.

DPO giữ vai trò giống như một module tối ưu hóa hành vi dựa trên phản hồi người dùng.

Lời Khuyên Cho Người Mới Bắt Đầu ✨

Hãy thử huấn luyện mô hình nhỏ với vài trăm preference pairs để quan sát sự thay đổi.
So sánh output trước và sau tinh chỉnh để thấy tác động rõ rệt của DPO.
Bạn có thể thử nghiệm thêm để hiểu sâu hơn về chênh lệch xác suất trong loss.

Hỏi Đáp Nhanh Về DPO

1. DPO có phải là RL không?
Không. DPO bỏ phần reinforcement và tối ưu trực tiếp từ preference.

2. Có cần reward model không?
Không. Đây chính là ưu điểm lớn nhất của DPO.

3. DPO có làm mô hình lệch hành vi không?
Không nhiều, nhờ cơ chế so sánh với mô hình tham chiếu.

4. DPO có thay RLHF hoàn toàn không?
Không bắt buộc. Một số hệ thống vẫn dùng RLHF cho các mục tiêu phức tạp.

FAQ về AIO

Q1. Con số 0 thì học nổi không?
Ans: Chỉ cần bạn có thời gian học. Điều quan trọng nhất không phải giỏi hay không, mà là có học đều mỗi ngày. Kiến thức – tài liệu – môi trường đã có team lo. Nếu bạn không có thời gian thì nên cân nhắc.

Q2. Ai dạy AIO?
Ans: Đội admin dạy toàn bộ. Admin trực tiếp hướng dẫn và hỗ trợ mọi câu hỏi của bạn trong suốt quá trình học.

Q3. Admin có “xịn” không?
Ans: Admin đều là người làm nghề thật, mỗi người một cách dạy. Quan trọng là bạn cảm thấy hợp cách truyền đạt. Admin không dám nói xịn, chỉ dạy bằng hết sức.

Q4. AIO có gì khác những nơi khác?
Ans: AIO không phải trung tâm. Đây là dự án học tập cộng đồng, được cải tiến qua từng khóa. Tinh thần của AIO: Cùng nhau học – cùng nhau khổ – cùng nhau lớn. Nếu hợp tinh thần đó, bạn sẽ thấy phù hợp.

Tài nguyên học AI: