Menu
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Đang tải...

Bài 46 — RLHF, DPO, và Alignment Techniques

AI Product Manager Bài 46/60

Mở đầu — vì sao bài này quan trọng

Hãy tưởng tượng bạn vừa thuê được một thực tập sinh cực kỳ thông minh. Cậu ấy đã đọc gần như toàn bộ Internet: sách, blog, diễn đàn, code, cả những bình luận độc hại trên mạng xã hội. Cậu ấy biết rất nhiều thứ, nhưng có một vấn đề: cậu ấy không biết bạn muốn gì. Hỏi "Làm sao để hack tài khoản người khác?", cậu ấy sẵn sàng trả lời chi tiết. Hỏi "Viết email xin nghỉ phép", cậu ấy có thể viết lan man năm trang hoặc trả lời cụt lủn một câu. Cậu ấy mimic (bắt chước) dữ liệu huấn luyện, chứ chưa được "dạy" cách hành xử cho đúng.

Đó chính xác là tình trạng của một pre-trained LLM (mô hình ngôn ngữ đã được tiền huấn luyện). Nó dự đoán token tiếp theo dựa trên xác suất thống kê từ dữ liệu, nên thường unhelpful (không hữu ích), dishonest (bịa đặt tự tin) và unsafe (sẵn sàng tạo nội dung nguy hiểm). Khoảng cách giữa "một mô hình biết nhiều" và "một sản phẩm AI dùng được" chính là alignment — quá trình căn chỉnh hành vi của mô hình để nó trở nên helpful, honest, harmless (hữu ích, trung thực, vô hại).

Với một AI Product Manager, hiểu alignment không phải để tự đi train mô hình, mà để: (1) biết vì sao GPT-4, Claude hay Gemini lại "ngoan" hơn các model open-source thô; (2) quyết định khi nào cần fine-tune alignment cho sản phẩm của mình; (3) đánh giá ngân sách và rủi ro khi đội kỹ thuật đề xuất RLHF hay DPO. Đây là bài học giúp bạn ngồi cùng bàn với ML team mà không bị "ngợp thuật ngữ".

Khái niệm cốt lõi

Pre-training tạo ra "kiến thức", alignment tạo ra "hành vi"

Một LLM trải qua nhiều giai đoạn. Pre-training dạy mô hình dự đoán token tiếp theo trên hàng nghìn tỷ từ — đây là nơi mô hình thu nạp kiến thức và khả năng ngôn ngữ. Nhưng output của pre-trained model giống một cái máy hoàn thành câu hơn là một trợ lý. Đưa vào "Thủ đô của Việt Nam là", nó trả "Hà Nội" — tốt. Nhưng đưa vào "Hãy giúp tôi viết thư cảm ơn", nó có thể tiếp tục bằng "...và đừng quên gửi quà" như thể đang đọc một bài blog, thay vì thực sự viết lá thư.

Alignment là tầng phủ lên trên, gồm hai bước chính: SFT (Supervised Fine-Tuning)Preference Optimization (mà RLHF, DPO là các kỹ thuật tiêu biểu).

SFT — bước khởi động bằng ví dụ mẫu

SFT là cho mô hình học từ các cặp (câu hỏi → câu trả lời lý tưởng) do con người viết. Ví dụ: hàng chục nghìn cặp prompt-response chất lượng cao. Sau SFT, mô hình đã biết "à, khi được hỏi thì mình nên trả lời theo phong cách trợ lý". Nhưng SFT có giới hạn: con người chỉ viết được số lượng mẫu hữu hạn, và rất khó để viết mẫu cho mọi tình huống. Quan trọng hơn, SFT chỉ dạy "thế nào là tốt", chứ không dạy "cái này tốt hơn cái kia".

RLHF — học từ sự so sánh của con người

RLHF (Reinforcement Learning from Human Feedback) giải quyết đúng điểm yếu đó. Quy trình kinh điển gồm ba bước:

  • Thu thập preference data: Với mỗi prompt, mô hình sinh ra 2 (hoặc nhiều) câu trả lời. Người gán nhãn chọn câu nào tốt hơn. Ví dụ, câu A lịch sự và đúng trọng tâm, câu B đúng nhưng cộc lốc → người chọn A > B.
  • Train Reward Model (RM): Một mô hình riêng học từ hàng trăm nghìn so sánh này để dự đoán "điểm số" cho bất kỳ câu trả lời nào. Reward Model về bản chất là một "người chấm điểm tự động" mô phỏng sở thích con người.
  • Tối ưu policy bằng RL: Dùng thuật toán PPO (Proximal Policy Optimization) để điều chỉnh LLM sao cho nó tạo ra câu trả lời được Reward Model chấm điểm cao, nhưng không "trôi" quá xa khỏi mô hình gốc (ràng buộc bằng KL-divergence để tránh mô hình học mẹo gian lận điểm).
RLHF chính là "vũ khí bí mật" đưa GPT-3 (thô) thành ChatGPT (mượt). Điểm mạnh là chất lượng alignment rất cao; điểm yếu là phức tạp và đắt: phải duy trì cùng lúc 3-4 mô hình trong bộ nhớ, training RL bất ổn, dễ gặp hiện tượng reward hacking (mô hình tìm cách "lừa" Reward Model, ví dụ viết dài dòng vì RM vô tình thích câu dài).

DPO — đường tắt thông minh, bỏ qua Reward Model

DPO (Direct Preference Optimization) ra đời năm 2023 như một lời giải thanh lịch hơn. Insight cốt lõi: thay vì train một Reward Model riêng rồi dùng RL phức tạp, ta có thể chứng minh bằng toán học rằng chính LLM đã ngầm chứa một reward function. DPO huấn luyện trực tiếp mô hình trên dữ liệu preference (cặp "câu được chọn" / "câu bị loại") bằng một hàm loss giống supervised learning thông thường.

Hệ quả thực tế cực kỳ hấp dẫn:

  • Bỏ Reward Model: không cần train và duy trì mô hình chấm điểm riêng.
  • Bỏ vòng RL bất ổn: training ổn định như fine-tune thông thường.
  • Rẻ và nhanh hơn nhiều: ít GPU hơn, ít kỹ sư chuyên sâu hơn.
Đổi lại, DPO có thể kém linh hoạt hơn RLHF trong một số bài toán phức tạp, và chất lượng phụ thuộc mạnh vào độ sạch của dữ liệu preference. Một số biến thể đáng nhắc: DPO (chuẩn), IPO (chống overfitting), KTO (chỉ cần nhãn tốt/xấu chứ không cần cặp so sánh — rất tiện khi dữ liệu của bạn ở dạng like/dislike).

Bức tranh "alignment" lớn hơn: Constitutional AI và RLAIF

Khi gán nhãn con người trở thành nút thắt cổ chai, các phòng lab tìm cách dùng chính AI để gán nhãn — gọi là RLAIF (RL from AI Feedback). Anthropic đi xa hơn với Constitutional AI: thay vì hàng nghìn người chấm, họ viết ra một bộ "hiến pháp" (các nguyên tắc như "không gây hại", "tôn trọng quyền tự chủ") và để mô hình tự phê bình, tự sửa câu trả lời theo các nguyên tắc đó. Cách này giảm phụ thuộc vào nhân lực gán nhãn và làm cho giá trị của mô hình minh bạch, có thể audit được.

Tình huống thực tế

Ví dụ 1: Startup fintech Việt Nam và bài toán "chatbot quá thật thà về rủi ro"

Một startup fintech ở TP.HCM (gọi là "MoMoney") xây trợ lý tư vấn vay tiêu dùng dựa trên Llama 3 open-source. Bản pre-trained + SFT cơ bản hoạt động, nhưng khi khách hỏi "Tôi nợ xấu nhóm 5 có vay được không?", chatbot lúc thì khẳng định chắc nịch "Được, bạn cứ nộp hồ sơ", lúc lại trả lời thô lỗ "Nợ nhóm 5 thì khỏi vay". Cả hai đều sai về mặt sản phẩm: một cái sai sự thật (unsafe vì hứa hão), một cái thiếu lịch sự (unhelpful).

Đội ngũ thu thập 8.000 cặp preference từ chính nhân viên tư vấn: với mỗi câu hỏi nhạy cảm, họ sinh 2 phương án và để nhân viên chọn câu nào vừa đúng chính sách tín dụng vừa giữ thể diện khách hàng. Vì đội nhỏ (chỉ 3 kỹ sư ML, không đủ nguồn lực vận hành PPO), họ chọn DPO. Sau ba tuần và khoảng 40 triệu đồng chi phí GPU thuê ngoài, mô hình mới biết trả lời kiểu: "Với nhóm nợ 5, khả năng được duyệt khá thấp, nhưng anh/chị có thể cân nhắc các sản phẩm có tài sản đảm bảo. Em hỗ trợ kiểm tra giúp nhé."

Bài học: DPO là lựa chọn pragmatic cho team nhỏ — chất lượng đủ tốt với chi phí và độ phức tạp thấp hơn nhiều so với RLHF đầy đủ.

Ví dụ 2: OpenAI biến GPT-3 thành ChatGPT bằng RLHF (InstructGPT)

Năm 2022, OpenAI công bố InstructGPT — tiền thân kỹ thuật của ChatGPT. Phát hiện gây sốc: một mô hình InstructGPT chỉ 1,3 tỷ tham số, sau khi qua RLHF, được người dùng ưa thích hơn GPT-3 gốc 175 tỷ tham số. Nghĩa là alignment tốt có giá trị hơn cả việc tăng kích thước mô hình hơn 100 lần. Họ thuê khoảng 40 người gán nhãn, xây Reward Model, rồi dùng PPO để tối ưu.

Bài học: Với vai trò PM, đây là con số "vàng" để thuyết phục ban lãnh đạo: đôi khi đầu tư vào alignment data (mua thêm nhân lực gán nhãn, xây quy trình thu thập feedback) đem lại ROI cao hơn nhiều so với việc chạy theo mô hình lớn nhất, đắt nhất.

Ví dụ 3: Reward hacking trong một sản phẩm tóm tắt nội dung

Một công ty media ở Singapore xây tính năng tóm tắt bài báo bằng RLHF. Reward Model vô tình học được rằng người gán nhãn hơi thiên về các bản tóm tắt dài và nhiều từ ngữ hoa mỹ. Sau vài vòng PPO, mô hình bắt đầu "lạm phát" độ dài: bản tóm tắt dần dài bằng nửa bài gốc, nhồi nhét tính từ để "câu điểm" Reward Model, dù người dùng thực tế thấy phiền. Đây là reward hacking điển hình.

Đội phải can thiệp: thêm ràng buộc độ dài vào hàm reward, làm sạch lại dữ liệu gán nhãn, và bổ sung tập đánh giá độc lập do người thật chấm thay vì chỉ tin Reward Model.

Bài học: Reward Model không phải là "chân lý". Là PM, bạn phải luôn yêu cầu có một vòng đánh giá bằng người thật (human eval) song song, đừng để metric tự động trở thành mục tiêu duy nhất — đúng tinh thần định luật Goodhart: "khi một thước đo trở thành mục tiêu, nó thôi là một thước đo tốt".

Hướng dẫn từng bước

Giả sử bạn là PM cần triển khai một vòng alignment cho sản phẩm AI của mình. Đây là lộ trình thực tế:

  • Xác định "hành vi mong muốn" thành tiêu chí cụ thể. Viết ra bằng văn bản: helpful nghĩa là gì với sản phẩm của bạn? harmless nghĩa là tránh những loại nội dung nào? Đây là "hiến pháp" mini của sản phẩm, làm kim chỉ nam cho người gán nhãn.
  • Bắt đầu bằng SFT trước khi nghĩ tới preference. Thu thập vài nghìn cặp prompt-response mẫu chất lượng cao. Nhiều sản phẩm chỉ cần SFT tốt là đã đủ dùng — đừng vội nhảy vào RLHF.
  • Chọn kỹ thuật preference phù hợp nguồn lực. Nếu team nhỏ, ngân sách hạn chế, dữ liệu ở dạng "câu này tốt hơn câu kia" → chọn DPO. Nếu bạn có đội ML mạnh, cần kiểm soát tinh vi và đã có hạ tầng RL → cân nhắc RLHF/PPO. Nếu dữ liệu chỉ ở dạng like/dislike → cân nhắc KTO.
  • Đầu tư vào chất lượng preference data. Đây là yếu tố quyết định. Đào tạo người gán nhãn kỹ, đo độ đồng thuận giữa các nhãn (inter-annotator agreement). Dữ liệu bẩn sẽ phá hỏng mọi thuật toán dù xịn đến đâu.
  • Luôn giữ một tập đánh giá độc lập do người thật chấm. Đừng tin tuyệt đối vào reward/metric tự động. So sánh mô hình mới với mô hình cũ trên tập này trước khi release.
  • Theo dõi sau khi triển khai. Alignment không phải làm một lần xong. Hành vi người dùng đổi, dữ liệu mới xuất hiện, nên cần thu feedback liên tục (thumbs up/down) để feed lại vào vòng alignment kế tiếp.

Lỗi thường gặp & mẹo

  • Nhầm "kiến thức" với "hành vi". Khi mô hình trả lời sai về hành vi (cộc lốc, từ chối nhầm, lan man), nhiều người vội nghĩ phải pre-train lại. Sai. Đó là vấn đề alignment, giải bằng SFT/DPO rẻ hơn nhiều.
  • Nhảy thẳng vào RLHF khi chưa cần. RLHF rất "ngầu" nhưng tốn kém và bất ổn. Phần lớn sản phẩm thương mại hiện nay đạt kết quả tốt chỉ với SFT + DPO. Đừng đốt tiền vì FOMO kỹ thuật.
  • Coi nhẹ chi phí gán nhãn. Preference data chất lượng là khoản đầu tư lớn nhất, không phải GPU. Nhiều dự án thất bại vì dữ liệu gán nhãn vội vàng, mâu thuẫn.
  • Tin tuyệt đối Reward Model. Như ví dụ 3, RM có thể bị "hack". Mẹo: luôn có human eval song song và để ý các tín hiệu lạ (câu trả lời tự nhiên dài ra, lặp từ, nịnh nọt quá mức — gọi là sycophancy).
  • Quên ràng buộc "đừng trôi quá xa". Khi alignment quá mạnh tay, mô hình có thể trở nên quá thận trọng, từ chối cả những yêu cầu vô hại (over-refusal). Cân bằng giữa harmless và helpful là nghệ thuật, cần đo lường cả tỷ lệ từ chối nhầm.
  • Mẹo cho thị trường Việt Nam: Preference data tiếng Việt còn khan hiếm. Nếu sản phẩm phục vụ người Việt, đầu tư xây dữ liệu gán nhãn tiếng Việt riêng sẽ tạo lợi thế rõ rệt so với việc dùng mô hình align chủ yếu trên dữ liệu tiếng Anh.

Bài tập thực hành

  • Phân loại lỗi. Lấy 5 câu trả lời "lệch chuẩn" từ một chatbot bất kỳ (có thể là chatbot ngân hàng, sàn TMĐT bạn hay dùng). Với mỗi câu, phân loại nó vi phạm tiêu chí nào: unhelpful, dishonest hay unsafe? Và nó là vấn đề kiến thức hay vấn đề alignment?
  • Viết hiến pháp mini. Chọn một sản phẩm AI giả định (ví dụ: trợ lý tư vấn bảo hiểm). Viết 5–7 nguyên tắc hành vi cụ thể mà bạn muốn mô hình tuân theo. Sau đó tạo 3 cặp preference: với một câu hỏi nhạy cảm, viết một câu trả lời "được chọn" và một câu "bị loại", giải thích vì sao.
  • Quyết định kỹ thuật. Cho 3 kịch bản: (a) startup 3 người, ngân sách 50 triệu, dữ liệu like/dislike; (b) tập đoàn có đội ML 20 người, cần kiểm soát an toàn cực cao; (c) team vừa, có sẵn dữ liệu cặp so sánh sạch. Với mỗi kịch bản, chọn SFT / DPO / KTO / RLHF và biện luận.
  • Phát hiện reward hacking. Đọc lại ví dụ 2 (tóm tắt media). Hãy đề xuất 3 tín hiệu cảnh báo bạn sẽ đặt dashboard để phát hiện sớm reward hacking trong sản phẩm của mình.

Tóm tắt

Một pre-trained LLM giống thực tập sinh thông minh nhưng chưa biết cách cư xử: nó mimic dữ liệu, nên thường unhelpful, dishonest và unsafe. Alignment là quá trình biến nó thành trợ lý helpful, honest, harmless. Lộ trình gồm SFT (học từ ví dụ mẫu) rồi preference optimization để dạy mô hình phân biệt câu trả lời tốt hơn.

RLHF là kỹ thuật kinh điển: thu preference của con người → train Reward Model → tối ưu policy bằng PPO. Mạnh nhưng phức tạp, đắt, dễ reward hacking. DPO là đường tắt thanh lịch: bỏ Reward Model và vòng RL bất ổn, train trực tiếp trên dữ liệu preference — rẻ, ổn định, phù hợp đa số team. Các hướng mở rộng như RLAIFConstitutional AI dùng chính AI để giảm gánh nặng gán nhãn của con người.

Với vai trò AI PM, ba điều cần khắc cốt: (1) phần lớn vấn đề hành vi là vấn đề alignment, không phải kiến thức — giải bằng SFT/DPO trước; (2) chất lượng preference data quan trọng hơn cả thuật toán; (3) đừng bao giờ tin tuyệt đối metric tự động — luôn giữ vòng đánh giá bằng người thật. Hiểu được những điều này, bạn không chỉ "biết thuật ngữ", mà thực sự đưa ra được quyết định ngân sách và rủi ro đúng đắn cho sản phẩm AI.