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.
Khi internet đã được "cào" hết sạch để lấy text cho LLM, và mỗi token dữ liệu mới có giá cả đắt đỏ, các lab nghiên cứu bắt đầu chuyển hướng sang một nguồn dữ liệu không giới hạn: chính model đang được train. Từ AlphaGo Zero đến DeepSeek-R1, self-play và synthetic data đang trở thành "bí kíp" để model tự cải thiện mà không cần human label mới — nhưng chỉ hoạt động nếu bạn hiểu cơ chế "quality gate" để tránh collapse.
Vấn đề
Scaling laws của AI đang đối mặt với "data wall" — bức tường dữ liệu. Chúng ta đã dùng hết văn bản chất lượng cao trên internet (~15 nghìn tỷ token), và việc thu thập dữ liệu mới từ con người tốn kém, chậm chạp, nhạy cảm về privacy, và chứa đầy bias không kiểm soát được.
Vấn đề cơ học: Khi tăng scale model (parameters) nhưng không tăng tương ứng lượng data chất lượng, returns diminish — model bắt đầu overfit vào pattern cũ thay vì học khái niệm mới. Trong reasoning (toán, code, logic), dữ liệu người tạo còn thiếu "quá trình nghĩ" — chỉ có đáp án cuối cùng, không có bước suy luận trung gian.
Cần một cách để tạo dữ liệu training không giới hạn, có chất lượng kiểm soát được, và đặc biệt là tự động tiến hóa theo khả năng hiện tại của model.
Ý tưởng cốt lõi
Thay vì cào dữ liệu từ bên ngoài, hãy để model tự sinh bài tập cho chính nó, rồi tự chấm điểm qua một verifier xác định — tạo thành vòng lặp self-improvement. Đây không chỉ là "data augmentation" đơn thuần mà là automated curriculum design: hệ thống tự tạo ra bài tập nằm ngay tại mép khả năng hiện tại (Zone of Proximal Development), vừa đủ khó để học, vừa đủ dễ để giải được.
The "aha" moment: Verification dễ hơn Generation. Kiểm tra một chứng minh toán học đúng sai dễ hơn viết ra chứng minh đó. Dùng sự chênh lệch này — generator tạo ra nhiều candidate, verifier chỉ giữ lại đúng — ta có thể lọc ra dataset chất lượng cao từ chính model mà không cần người can thiệp.
Cơ chế cụ thể:
-
Variational Problem Synthesis: Model không sinh ngẫu nhiên mà tạo biến thể có kiểm soát của bài toán đã biết — ví dụ đổi số trong bài toán đại số nhưng giữ nguyên cấu trúc logic — tạo ra training data nằm ngay frontier của khả năng hiện tại.
-
Generator-Verifier Gap Exploitation: Dùng automated verifier (compiler, theorem prover, unit test, hoặc chính version mạnh hơn của model) để filter output. Chỉ những output pass verification mới được đưa vào vòng train tiếp theo.
-
Iterative SPIN (Self-Play fIne-tuNing): Model yếu tạo ra "negative examples", model mạnh hơn (hoặc chính model sau khi update) đánh giá chúng, tạo thành curriculum tự động leo thang độ khó.
-
Quality-Gated Evolution: Điều kiện tiên quyết để tránh model collapse — hiện tượng model tự "tẩy não" khi train trên data tự sinh quá nhiều lần mà không filter chặt. Cần divergence filters và reference answer checks để đảm bảo distribution không thu hẹp lại.
-
Absolute Zero Paradigm: Model học cách đặt câu hỏi mà nó chưa biết trả lời nhưng có thể verify, tạo động lực nội tại để explore không gian bài toán.
Nhiều người nhầm tưởng synthetic data là "cho model tự nói chuyện với nhau sẽ sinh ra data tốt". Thực tế, không có quality gate, model sẽ collapse về mediocrity — giống như inbreeding trong di truyền học. Bí quyết nằm ở verifier chắc chắn và cơ chế lọc nghiêm ngặt.
Tại sao nó hoạt động
Self-play hoạt động vì nó khai thác bất đối xứng giữa sinh và kiểm tra. Trong lý thuyết học máy, điều này tương tự như việc dùng GAN (Generative Adversarial Network), nhưng thay vì hai model riêng biệt, ta dùng một model với một verifier cứng nhắc (rule-based).
Về mặt giáo dục, đây là Zone of Proximal Development tự động. Một đứa trẻ học tốt nhất khi được cho bài tập vừa sức — không quá dễ (chán), không quá khó (nản). Self-play với variational synthesis tự động tạo ra bài tập ở vùng này bằng cách biến đổi nhẹ bài toán đã giải được để tạo thử thách mới vừa trong tầm với.
Về mặt toán học, vòng lặp này là iterative policy improvement:
- Iteration N: Model sinh ra tập câu trả lời, verifier giữ lại ~10% đúng nhất
- Iteration N+1: Model train trên 10% đó, nâng baseline lên
- Repeat: Dần dần, mức sàn chất lượng được nâng lên, model tự ép buộc mình học chiến lược phức tạp hơn để giải các biến thể khó hơn
Cơ chế rejection sampling đảm bảo distribution không drift. Mỗi lần chỉ giữ lại "ngọc" trong "cát", tránh việc model tự luyện trên chính lỗi của mình.
Ý nghĩa thực tế
Impact thực tế: Đây là con đường duy nhất để vượt qua data wall mà không cần thuê hàng triệu labelers người. AlphaGo Zero đạt superhuman level trong cờ vây mà không cần xem một ván cờ người chơi nào — chỉ từ self-play với rules của trò chơi. Tương tự, DeepSeek-R1-Zero chứng minh có thể học reasoning chỉ qua RLVR mà không cần SFT data.
So sánh với traditional supervised learning:
- Supervised: Static dataset → model cố gắng fit vào pattern cố định
- Synthetic Self-Play: Dynamic curriculum → model liên tục được thử thách ở mép khả năng, dẫn đến generalization tốt hơn
Ai đang dùng: OpenAI (dự án Q* cho math reasoning), DeepMind (AlphaProof, AlphaCode), DeepSeek (R1 reasoning pipeline), Meta (Llama 3 synthetic data augmentation), và các mô hình code generation (CodeT5, AlphaCode) sử dụng execution feedback làm verifier.
Limitations rõ ràng:
- Chỉ hoạt động trong domain có ground truth xác định (toán, code, game, vật lý mô phỏng). Không dùng được cho creative writing, đánh giá đạo đức, hay bất kỳ task nào không có verifier rõ ràng.
- Cần warm start: Model phải đủ khả năng sinh ra ít nhất vài đáp án đúng để bắt đầu vòng lặp. Model ngẫu nhiên không thể tự cải thiện từ zero.
- Collapse risk: Nếu verifier không đủ mạnh hoặc filter không đủ chặt, model sẽ tự "lẩn quẩn" trong vòng tròn nghèo nàn, giống như echo chamber.
Đào sâu hơn
Paper gốc:
- "Self-Play Fine-Tuning Converts Weak Language Models to Strong Commonsense Reasoners" (2024) — Giới thiệu SPIN
- "Absolute Zero: Reinforced Self-play Reasoning with Zero Data" (2025) — Lý thuyết self-play không cần data người
- "Self-play with Variational Problem Synthesis Sustains RLVR" (2025) — Cơ chế biến đổi bài toán để duy trì cải thiện liên tục
Bài liên quan TroiSinh:
Cùng cụm (alignment-frontier):
- SimPO — DPO không cần reference model, đơn giản hóa pipeline alignment
- ORPO — Gộp SFT và preference learning thành một stage duy nhất, bỏ pipeline phức tạp
- KTO — Chỉ cần binary feedback (thumbs up/down) thay vì pairwise preferences, phù hợp với data từ self-play verifier
- Online DPO — Generate response on-the-fly thay vì dùng dataset cố định, kết hợp tốt với synthetic data streaming
Đọc tiếp:
- GRPO — Thuật toán RLVR phổ biến để train model reasoning trên reward verifiable, thường được dùng kết hợp với synthetic data
- DPO — Nền tảng preference optimization mà synthetic data thường được dùng để tạo pairwise comparisons
- Reasoning Distillation — Khi model nhỏ học cách "nghĩ" từ model lớn thông qua synthetic CoT (Chain-of-Thought)
External resources:
- Blog: "The Quest for AGI: Self-Play and Synthetic Data" (a16z) — Phân tích chiến lược synthetic data của các lab lớn
- Discussion: Reddit r/singularity "Why synthetic data works" — Giải thích intuitive về self-improvement loops
ORPO — SFT + preference 1 lần duy nhất, bỏ pipeline nhiều stage
ORPO kết hợp supervised fine-tuning và preference alignment thành một giai đoạn duy nhất bằng odds ratio, loại bỏ hoàn toàn reference model và đơn giản hóa pipeline alignment từ 3 bước xuống 1.
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.