DPO (Direct Preference Optimization) học từ cặp câu trả lời tốt/xấu để tinh chỉnh LLM theo sở thích người dùng ra sao?

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

Keywords: DPO, Preference Optimization, LLM Fine‑tuning

Mở đầu

Khi bắt đầu tìm hiểu về cách tinh chỉnh LLM sao cho phù hợp với mục đích sử dụng, không ít người gặp khó ở bước: “Làm sao để mô hình hiểu được câu trả lời nào phù hợp hơn, trong khi không có điểm số rõ ràng?”.
Đây là nơi DPO (Direct Preference Optimization) xuất hiện. Phương pháp này được dùng khá nhiều trong lĩnh vực LLM vì nó hoạt động trực tiếp trên sở thích thay vì yêu cầu nhãn phức tạp.

DPO hoạt động dựa trên điều gì?

DPO được xây dựng dựa trên một nguyên tắc khá đơn giản:
Khi đã có hai câu trả lời cho cùng một câu hỏi – một tốt, một chưa phù hợp – mô hình chỉ cần học để ưu tiên câu tốt hơn.

Cặp dữ liệu chuẩn thường gồm:

  • Prompt (P)
  • Câu trả lời được chọn (A_pos)
  • Câu trả lời bị loại (A_neg)

Thay vì huấn luyện mô hình theo dạng phần thưởng như RLHF truyền thống, DPO dựa vào tỉ lệ xác suất mô hình gán cho từng câu trả lời.
Mục tiêu: xác suất của A_pos cần cao hơn A_neg theo một mức chênh lệch được điều chỉnh bằng một hệ số β.

Trong các tài liệu học thuật, người ta trình bày dạng tối ưu hóa như sau (mình viết lại theo dạng mô tả thay vì công thức toán):

  • DPO tăng khả năng mô hình sinh ra câu trả lời được chọn.
  • Đồng thời giảm khả năng mô hình sinh ra câu trả lời bị loại.
  • Tất cả được ràng buộc bởi một mức lệch so với mô hình gốc để tránh mô hình bị lệch quá mạnh.

Điểm mấu chốt: DPO không cần bước tính reward model như RLHF. Điều này làm pipeline ngắn hơn và dễ triển khai hơn trong thực tế.

Ví dụ minh họa

Giả sử prompt là:
“Giải thích hiện tượng cầu vồng cho học sinh cấp 2.”

Bộ dữ liệu cung cấp:

  • Câu trả lời tốt: mô tả ánh sáng mặt trời bị tán sắc khi đi qua giọt nước, giải thích đơn giản.
  • Câu trả lời chưa phù hợp: mô tả quá dài, chứa chi tiết không đúng hoặc không phù hợp độ tuổi.

DPO sẽ học rằng câu trả lời thứ nhất là lựa chọn ưu tiên.
Trong quá trình tối ưu, mô hình được cập nhật sao cho khi gặp các prompt tương tự, mô hình tự nghiêng về kiểu giải thích giống A_pos.

Góc nhìn triển khai trong dự án AI/ML

Khi đưa DPO vào pipeline, nhóm phát triển thường quan tâm:

  • Cách thu thập cặp dữ liệu tốt – chưa phù hợp đủ đa dạng.
  • Cách chọn mô hình nền (base model) để tránh mất chất lượng khi tinh chỉnh.
  • Kiểm tra độ ổn định của mô hình sau tinh chỉnh bằng cách đánh giá trên nhiều tập câu hỏi khác nhau.
  • Theo dõi hiện tượng over‑optimization, tức mô hình bị quá nghiêng về kiểu câu trả lời được ưu tiên mà đánh mất sự linh hoạt cần thiết.

Những bước này liên quan đến workflow MLOps cơ bản – một chủ đề thường được nhắc trong các phần MLOps Series ở nhiều chương về ML/DL.

Liên hệ kiến thức nền trong hành trình AI

DPO không đứng một mình. Hiểu vững các phần nền như:

  • Xác suất – thống kê và tối ưu hóa (các module toán và tiền Deep Learning).
  • Mô hình ngôn ngữ và embedding (kiến thức NLP – Tokenization & Embedding).
  • Quản lý vòng đời mô hình, logging, versioning (các phần MLOps trải dài).

Những khối nền này giúp việc tinh chỉnh LLM trở nên dễ hình dung hơn khi chuyển sang những chủ đề nâng cao như GenAI & LLMs.

Lời khuyên cho người bắt đầu

Bạn có thể bắt đầu bằng việc thử tạo một bộ dữ liệu nhỏ gồm vài cặp câu trả lời.
Việc làm thử và so sánh trước – sau tinh chỉnh giúp hình dung rõ tác động của DPO lên mô hình.
Sau khi quen, có thể mở rộng sang các chủ đề mang tính ứng dụng hơn như tóm tắt văn bản, xử lý câu hỏi đa bước hoặc hướng dẫn hội thoại.

Hỏi đáp nhanh về DPO (4 câu Yes/No)

1. DPO có cần reward model không?
Không, DPO hoạt động mà không cần huấn luyện reward model.

2. DPO có thay thế RLHF hoàn toàn không?
Không, nó chỉ là một lựa chọn đơn giản hơn tùy mục đích.

3. DPO có yêu cầu mô hình gốc (reference model) không?
Có, cần mô hình tham chiếu để giữ ổn định hành vi.

4. Có thể dùng DPO cho mô hình nhỏ không?
Có, miễn là đủ dữ liệu và tài nguyên huấn luyện phù hợp.

FAQ về chương trình 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: