Direct Preference Optimization
Tìm hiểu cách Direct Preference Optimization (DPO) đơn giản hóa việc căn chỉnh AI. Khám phá cách cải thiện độ an toàn và hiệu suất mô hình hiệu quả hơn so với RLHF truyền thống.
Direct Preference Optimization (DPO) là một kỹ thuật thuật toán ổn định và hiệu quả dùng để fine-tune các model trí tuệ nhân tạo, cụ thể là đảm bảo chúng phù hợp với mong muốn của con người và các tiêu chuẩn an toàn. Không giống như các phương pháp reinforcement learning truyền thống đòi hỏi việc tạo mô hình phần thưởng phức tạp, DPO đơn giản hóa quá trình alignment bằng cách coi bài toán học sở thích như một tác vụ phân loại. Bằng cách trực tiếp optimize model dựa trên dataset về sở thích của con người—nơi các annotator chọn một phản hồi "thắng" thay vì phản hồi "thua"—các developer có thể cải thiện đáng kể tính hữu ích, độ trung thực và tính an toàn của các hệ thống foundation models và generative AI. Cách tiếp cận này đã thu hút sự quan tâm lớn trong năm 2024 và 2025 nhờ khả năng đạt được kết quả state-of-the-art với chi phí tính toán thấp hơn nhiều.
DPO đơn giản hóa việc căn chỉnh model như thế nào#
Sự đổi mới chính của Direct Preference Optimization nằm ở việc loại bỏ "trung gian" có trong các pipeline alignment cũ hơn. Trước đây, việc align một Large Language Model (LLM) hoặc một Vision-Language Model liên quan đến quy trình nhiều bước gọi là Reinforcement Learning from Human Feedback (RLHF). RLHF yêu cầu training một reward model riêng để ước tính điểm số của con người, sau đó sử dụng một thuật toán dễ mất ổn định như PPO (Proximal Policy Optimization) để cập nhật model chính.
DPO loại bỏ về mặt toán học nhu cầu về reward model riêng biệt này. Thay vào đó, nó sử dụng một loss function dẫn xuất làm tăng khả năng tạo ra các đầu ra "được ưa chuộng" đồng thời giảm khả năng tạo ra các đầu ra "bị từ chối". Điều này dựa vào một reference model để đảm bảo model được cập nhật không trôi quá xa khỏi phân phối training data gốc của nó. Sự đơn giản hóa toán học này giúp quá trình này hoạt động gần giống với supervised learning tiêu chuẩn hơn, mang lại tốc độ hội tụ nhanh hơn và mức sử dụng bộ nhớ thấp hơn trên GPU hardware.
Phân biệt với RLHF#
Mặc dù cả DPO và RLHF đều chia sẻ mục tiêu về AI Safety và alignment, việc triển khai của chúng lại khác biệt đáng kể:
- Độ phức tạp: RLHF liên quan đến việc duy trì nhiều model (actor, critic, reward model, reference model) đồng thời trong quá trình huấn luyện. DPO chỉ yêu cầu model đang được huấn luyện và một model tham chiếu cố định.
- Stability: Reinforcement learning nổi tiếng là nhạy cảm với hyperparameter tuning. DPO thường chạy với độ ổn định của một tác vụ phân loại tiêu chuẩn, làm giảm nguy cơ model collapse.
- Hiệu quả: Bằng cách loại bỏ các bước suy luận của model phần thưởng, DPO giảm gánh nặng tính toán, cho phép các tổ chức căn chỉnh các model lớn hơn trên các cụm nhỏ hơn.
Các ứng dụng trong thực tế#
Direct Preference Optimization hiện đang định hình lại cách các hệ thống AI tương tác được xây dựng trên nhiều ngành công nghiệp.
nâng cao các tác nhân hội thoại#
Trong lĩnh vực chatbots và trợ lý ảo, DPO được sử dụng để giảm tính độc hại và cải thiện độ chính xác thực tế. Các developer tuyển chọn các dataset trong đó một annotator con người xem xét hai câu trả lời cho một lời nhắc—một câu bịa đặt hoặc thô lỗ, và một câu chính xác và lịch sự. Con người đánh dấu câu trả lời lịch sự là "đã chọn". DPO sau đó cập nhật model weights để ưu tiên phong cách đã chọn. Điều này rất quan trọng đối với việc triển khai các tác nhân dịch vụ khách hàng tuân thủ các nguyên tắc AI Ethics nghiêm ngặt.
Tinh chỉnh các Vision-Language Models#
Khi thị giác máy tính phát triển, các model ngày càng được yêu cầu giải thích những gì chúng nhìn thấy. Đối với các ứng dụng như image captioning hoặc trả lời câu hỏi trực quan, DPO cho phép các nhà nghiên cứu align đầu ra dạng văn bản của model với sở thích chi tiết của con người. Ví dụ, nếu người dùng yêu cầu một security system "mô tả kẻ đột nhập," DPO có thể train model ưu tiên các mô tả thực tế (ví dụ: "áo đỏ, mũ xanh") hơn các mô tả mang tính thơ ca hoặc mơ hồ, nâng cao tiện ích của computer vision system.
DPO trong quy trình làm việc AI hiện đại#
Việc triển khai DPO đòi hỏi dữ liệu cặp chất lượng cao. Các workflow hiện đại thường tận dụng các công cụ như Ultralytics Platform để quản lý dataset, đảm bảo rằng quá trình data annotation tạo ra các ví dụ "thắng" và "thua" rõ ràng. Mặc dù DPO được tiên phong cho văn bản, các nguyên tắc của nó ngày càng được áp dụng để optimize object detection architectures và các phương thức khác bằng cách đóng khung các số liệu chất lượng thành các cặp sở thích.
Đoạn mã Python sau sử dụng torch minh họa cấu trúc dữ liệu nền tảng cần thiết cho việc tính toán loss theo kiểu DPO. Nó cho thấy cách các phản hồi "được chọn" và "bị từ chối" được chuẩn bị theo batch, một khái niệm quan trọng đối với model optimization hiện đại.
import torch
import torch.nn.functional as F
# Simulate log probabilities for 'chosen' and 'rejected' responses
# In a real scenario, these come from your model (e.g., a VLM or LLM)
chosen_log_probs = torch.tensor([-0.5, -0.8, -0.2], requires_grad=True)
rejected_log_probs = torch.tensor([-2.5, -3.0, -1.5], requires_grad=True)
# DPO aims to maximize the margin between chosen and rejected
# This is a simplified conceptual look at the margin calculation
beta = 0.1 # A hyperparameter controlling deviation from the reference model
logits = beta * (chosen_log_probs - rejected_log_probs)
# The loss minimizes the negative log sigmoid of this margin
loss = -F.logsigmoid(logits).mean()
print(f"DPO Loss: {loss.item()}")
# Output demonstrates the penalty applied if the model doesn't prefer the chosen dataBằng cách tận dụng các kỹ thuật như DPO, các developer có thể đẩy mạnh giới hạn hiệu suất trong các model như Ultralytics YOLO26, đảm bảo rằng các quyết định tự động không chỉ chính xác mà còn phù hợp với ý định của con người. Điều này rất quan trọng đối với các môi trường có rủi ro cao như autonomous vehicles và medical image analysis, nơi độ tin cậy là tối quan trọng.
Tài nguyên bên ngoài#
- Original Paper: Đọc nghiên cứu nền tảng về Direct Preference Optimization: Your Language Model is Secretly a Reward Model bởi Rafailov et al. (2023).
- Stanford HAI: Khám phá thông tin chi tiết về Alignment and Human Preferences từ Đại học Stanford.
- PyTorch Documentation: Xem lại các chi tiết kỹ thuật về việc triển khai các loss function cụ thể trong PyTorch API reference.






