TROISINH
FrontierAlignment Frontier

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 (x,yw,yl)(x, y_w, y_l) — cùng một prompt xx, câu trả lời ywy_w (win) được đánh giá cao hơn yly_l (lose). Nhưng trong thực tế:

  1. 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ẻ.
  2. 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.
  3. 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ể:

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

  2. 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: λD\lambda_D (trọng số cho positive feedback) và λU\lambda_U (trọng số cho negative feedback). Khi data bị lệch 9:1, bạn chỉ cần tăng λD\lambda_D để amplify tín hiệu từ rare positive samples, thay vì phải vứt data.

  3. Internal reference point: Khác với DPO cần một reference model cố định (πref\pi_\text{ref}) để 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.

  4. 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ố λD\lambda_D 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:

LKTO=λD1desirableutility(y)+λU1undesirabledisutility(y)L_{KTO} = \lambda_D \cdot \mathbb{1}_{desirable} \cdot \text{utility}(y) + \lambda_U \cdot \mathbb{1}_{undesirable} \cdot \text{disutility}(y)

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 λD\lambda_DλU\lambda_U riêng biệt để xử lý điều này, trong khi DPO chỉ có một hyperparameter β\beta 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: λD\lambda_DλU\lambda_U 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:

On this page