KTO — Chỉ cần 'thumbs up/down' thay vì cặp preference, data dễ thu thập hơn
KTO (Kahneman-Tversky Optimization) biến alignment thành bài toán utility tuyệt đối dựa trên Prospect Theory, cho phép dùng binary feedback thay vì costly pairwise preferences và xử lý được data cực kỳ mất cân bằng.
Thu thập dữ liệu cho DPO là cơn ác mộng logistics: bạn cần hàng nghìn cặp so sánh (A tốt hơn B), con người thì không nhất quán khi so sánh tương đối, và trong production thường có 90% feedback tiêu cực nhưng bạn buộc phải vứt bỏ 80% để cân bằng dataset. KTO giải quyết tất cả bằng một câu hỏi đơn giản: "Câu trả lời này tốt hay xấu?" — chỉ cần binary labels, không cần cặp đôi, và đặc biệt phù hợp với dữ liệu mất cân bằng tự nhiên từ telemetry sản phẩm.
Vấn đề
Pairwise preference là bottleneck của alignment hiện đại.
DPO và các phương pháp RLHF truyền thống đều dựa trên giả định rằng chúng ta có dataset các cặp — cùng một prompt , câu trả lời (win) được đánh giá cao hơn (lose). Nhưng trong thực tế:
- Chi phí cao: Người dán nhãn phải đọc và so sánh hai câu trả lời, tốn gấp đôi thời gian và tiền bạc so với đánh giá đơn lẻ.
- Inconsistency: Con người kém nhất quán trong đánh giá tương đối. Cùng một cặp so sánh, người dán nhãn có thể chọn A > B buổi sáng nhưng B > A buổi chiều do mệt mỏi hoặc thay đổi tiêu chí ngầm.
- Imbalance: Hệ thống production thường thu thập được 9 negative feedback cho 1 positive feedback (người dùng chỉ click "helpful" khi thực sự hài lòng, nhưng "not helpful" thì dễ dàng). DPO không thể xử lý tỷ lệ 9:1 này — bạn phải hoặc là vứt bỏ 80% data quý giá, hoặc duplicate rare positive samples gây overfitting.
Vấn đề cốt lõi: DPO đang giải bài toán ranking (so sánh thứ tự), nhưng thực tế chúng ta chỉ cần biết một câu trả lời có đạt chuẩn hay không — bài toán utility (giá trị tuyệt đối).
Ý tưởng cốt lõi
KTO (Kahneman-Tversky Optimization) dựa trên Prospect Theory — lý thuyết đoạt giải Nobel về hành vi kinh tế học — để chuyển alignment từ "so sánh cặp" sang "đánh giá đơn lẻ với điểm tham chiếu nội tại."
"Aha" moment: Thay vì hỏi "Nước A có nóng hơn nước B không?", hãy hỏi "Nước này có đủ ấm để tắm không?" Bạn không cần hai ly nước để trả lời — bạn có một điểm tham chiếu nội tại (nhiệt độ cơ thể). KTO dạy model học chính "nhiệt độ cơ thể" này: một ngưỡng nội bộ phân chia output thành "tốt" và "xấu", thay vì học cách so sánh tương đối.
Cụ thể:
-
Binary feedback: Chỉ cần labels "thumbs up" (desirable) hoặc "thumbs down" (undesirable) cho từng câu trả lời đơn lẻ. Không cần cấu trúc cặp, không cần A/B testing phức tạp.
-
Loss aversion: Theo Prospect Theory, con người nhạy cảm gấp ~2 lần với thua lỗ so với lợi nhuận tương đương. KTO mã hóa điều này qua hai trọng số riêng biệt: (trọng số cho positive feedback) và (trọng số cho negative feedback). Khi data bị lệch 9:1, bạn chỉ cần tăng để amplify tín hiệu từ rare positive samples, thay vì phải vứt data.
-
Internal reference point: Khác với DPO cần một reference model cố định () để tính relative likelihood, KTO model học ngưỡng "good/bad" từ chính phân phối data. Đây là ý chính của HALO (Human-Aware Loss Objectives): tối đa hóa perceived utility thay vì log-likelihood của preference pairs.
-
Singleton optimization: Mỗi sample được tối ưu hóa độc lập dựa trên điểm tham chiếu, không cần cấu trúc pair. Điều này làm KTO trở thành bài toán classification đơn giản trên binary labels, nhưng với loss function được thiết kế để capture tâm lý học đánh giá của con người.
That's it. Không cần reward model riêng, không cần reference model, không cần cấu trúc cặp phức tạp. Chỉ là một model, binary labels, và một hàm loss hiểu về "sợ mất" (loss aversion).
Tại sao nó hoạt động
Từ Ranking sang Utility
DPO thất bại với imbalanced data vì nó là bài toán geometric: bạn cần tỷ lệ 1:1 giữa win và lose để tạo pairs. Nếu có 9 negatives và 1 positive, bạn phải tạo 9 synthetic pairs bằng cách lặp lại positive sample 9 lần — dẫn đến overfitting nghiêm trọng vào rare positive signal.
KTO xử lý imbalance như bài toán weighting đơn giản. Model thấy biển lớn negatives và học "hầu hết mọi thứ đều dưới ngưỡng chấp nhận được." Khi gặp positive hiếm hoi, trọng số cao kéo ngưỡng tham chiếu lên. Không cần duplicate, không cần discard — chỉ cần điều chỉnh trọng số trong loss function.
HALO: Human-Aware Loss
Mathematical intuition của KTO nằm ở việc thay thế Bradley-Terry model (dùng trong DPO) bằng một hàm utility dựa trên prospect theory:
Trong đó utility được định nghĩa qua log-odds thay vì raw probability, tạo ra "điểm tham chiếu" nội tại mà model tự điều chỉnh dựa trên phân phối data. Điều quan trọng là KTO không cần reference model — nó giống SimPO ở điểm này, nhưng đạt được qua lý thuyết utility thay vì likelihood trực tiếp.
Asymmetric Tolerance
Một điểm tinh tế: DPO giả định rằng nhiễu (noise) trong preferences là đối xứng — nhưng trong binary feedback, nhiễu asymmetrical. Một "thumbs up" sai (false positive) thường nghiêm trọng hơn "thumbs down" sai. KTO cho phép tuning và riêng biệt để xử lý điều này, trong khi DPO chỉ có một hyperparameter cho cả cặp.
Ý nghĩa thực tế
Hiệu năng thực tế: KTO match hoặc vượt DPO trên các benchmark như Anthropic HH, Stanford Human Preferences, và OpenAssistant datasets ở quy mô 1B–30B parameters. Đặc biệt, KTO có thể discard đến 90% desirable data và vẫn match DPO nếu labels còn lại chính xác — điều impossible với DPO do mất cân bằng pairs.
Ứng dụng production: Contextual AI (tác giả của KTO) và HuggingFace TRL đã tích hợp KTO cho các hệ thống có abundant user telemetry: click-through rates, star ratings, conversion events — tất cả đều là binary signals dễ thu thập hơn pairwise comparisons nhiều lần.
Limitations cần lưu ý:
- Yêu cầu labels chính xác: Không có "second opinion" trong pair để smooth out noise như DPO. Một "thumbs up" sai lệch sẽ được tối ưu hóa trực tiếp.
- Hyperparameter sensitivity: và cần tuning cho từng tỷ lệ imbalance cụ thể; defaults không hoạt động tốt cho mọi phân phối.
- Không định nghĩa "desirable": KTO chỉ tối ưu hóa signal đã có, không giải quyết vấn đề "cái gì thực sự là tốt" — nếu người dùng thumbs up những câu trả lời toxic, model sẽ học toxic.
So sánh ngắn với pipeline khác: Nếu ORPO gộp SFT và preference thành một stage bằng odds ratio, và SimPO bỏ reference model để dùng average log-likelihood, thì KTO bỏ luôn cấu trúc pair để dùng binary utility — mỗi bước loại bỏ một lớp complexity trong alignment pipeline.
Đào sâu hơn
Paper gốc: KTO: Model Alignment as Prospect Theoretic Optimization (Ethayarajh et al., 2024) — trình bày đầy đủ lý thuyết HALO và chứng minh convergence với prospect theory.
Bài liên quan TroiSinh:
Cùng cụm (Post-DPO Alignment):
- SimPO — DPO không cần reference model, dùng average log-probability thay vì ratio
- ORPO — Gộp SFT và preference optimization trong một stage duy nhất bằng odds ratio
- Online DPO — Generate response on-the-fly thay vì dùng offline dataset cố định
- Synthetic Data & Self-Play — Model tự tạo training data cho chính mình khi không có đủ human labels
Đọc tiếp (Prerequisites & Foundation):
- DPO — Hiểu rõ DPO để thấy tại sao pairwise preference là bottleneck
- RLHF Basics — Foundation của alignment và reward modeling
External Resources:
- HuggingFace TRL KTO Trainer — Implementation chính thức hỗ trợ model từ 1B–30B
- Contextual AI Blog — Giải thích từ tác giả về binary feedback alignment và ứng dụng production
Synthetic Data & Self-Play — Model tự gen training data cho chính mình
Khi dữ liệu thật cạn kiệt, AI bắt đầu tự tạo dữ liệu luyện tập qua self-play. Hiểu bản chất automated curriculum design và cách AlphaGo Zero tự thành thần cờ vây mà không cần ván cờ người chơi.
Online DPO — Generate response on-the-fly thay vì offline dataset cố định
Online DPO liên tục sinh response mới và đánh giá real-time trong khi train, khắc phục distribution shift khiến offline DPO plateau. Hiểu bản chất alignment động.