Hôm nay chúng ta sẽ bước vào một lãnh địa mới, nơi các Mô hình Ngôn ngữ Lớn (LLM) không chỉ "biết" mà còn bắt đầu "suy nghĩ" – đó chính là Reasoning LLMs (LLM có khả năng lập luận). Sự xuất hiện của những cái tên đình đám như DeepSeek-R1, OpenAI o1/o2/o3-mini, hay Google Gemini 2.0 Flash không chỉ là những bản cập nhật thông thường. Chúng đại diện cho một cuộc cách mạng thầm lặng (paradigm shift) trong cách chúng ta xây dựng và tối ưu hóa LLM: sự chuyển dịch trọng tâm từ việc "nhồi nhét" kiến thức lúc huấn luyện (Train-Time Compute) sang việc cho phép mô hình "tư duy sâu hơn" lúc hoạt động (Test-Time Compute).
Trong bài viết này, với hơn 40 hình ảnh minh họa từ nguồn tham khảo, chúng ta sẽ cùng nhau bóc tách từng lớp khái niệm, từ bản chất của "tư duy" trong LLM, sự khác biệt giữa hai loại tài nguyên tính toán, các kỹ thuật cốt lõi, cho đến phân tích sâu về kiến trúc tiên phong DeepSeek-R1.
Bài viết này được xây dựng dựa trên sự phân tích sâu sắc và những kiến thức vô giá từ bài viết "A Visual Guide to Reasoning LLMs" của tác giả Maarten Grootendorstr. Xin gửi lời cảm ơn chân thành đến tác giả vì đã cung cấp một nguồn tài liệu tham khảo tuyệt vời, đặc biệt là các hình ảnh minh họa giúp trực quan hóa những khái niệm phức tạp này.
Hãy cùng bắt đầu hành trình khám phá tương lai của LLM nhé!
Phần 1: Reasoning LLM Là Gì? Khi LLM Học Cách "Làm Thế Nào"
Chúng ta thường đánh giá LLM qua câu trả lời cuối cùng của chúng. Nhưng Reasoning LLM lại khác biệt ở chính quá trình đi đến câu trả lời đó.
- LLM thông thường: Tập trung học "cái gì" (what) để trả lời. Giống như một học sinh chỉ học thuộc lòng đáp án.
- Reasoning LLM: Tập trung học "làm thế nào" (how) để giải quyết vấn đề. Giống như một học sinh hiểu rõ các bước giải bài toán.
Vậy cái gọi là "quá trình tư duy" (thought process), "bước lập luận" (reasoning step), hay "Chuỗi Suy Nghĩ" (Chain-of-Thought - CoT) thực chất là gì trong ngữ cảnh LLM?
Dù cuộc tranh luận triết học về việc liệu LLM có thực sự "suy nghĩ" như con người hay không vẫn còn đó, về mặt kỹ thuật, các "bước lập luận" này là cách mô hình chia nhỏ một vấn đề phức tạp thành các suy luận (inferences) nhỏ hơn, có cấu trúc hơn. Thay vì nhảy thẳng đến kết luận, mô hình tạo ra các bước trung gian, giải thích logic, hoặc các phép tính nhỏ.
Ví dụ minh họa:
- Câu hỏi: "Nếu một quả táo giá 5 nghìn, một quả cam giá 7 nghìn, tôi mua 3 táo và 2 cam thì hết bao nhiêu tiền?"
- LLM thông thường (có thể): "Tổng cộng là 29 nghìn."
- Reasoning LLM (có thể):
<think> 1. Tính tiền táo: 3 quả * 5 nghìn/quả = 15 nghìn. 2. Tính tiền cam: 2 quả * 7 nghìn/quả = 14 nghìn. 3. Tính tổng tiền: 15 nghìn + 14 nghìn = 29 nghìn. </think> <answer>Tổng số tiền bạn cần trả là 29 nghìn đồng.</answer>
Việc tạo ra các bước <think>
này giúp tăng độ tin cậy, dễ gỡ lỗi, và quan trọng nhất là thường dẫn đến câu trả lời chính xác hơn cho các bài toán đòi hỏi nhiều bước logic.
Sự trỗi dậy của các phương pháp tạo ra "bước suy nghĩ" này gắn liền với sự thay đổi trong cách chúng ta phân bổ tài nguyên tính toán. Hãy cùng tìm hiểu về Train-Time và Test-Time Compute.
Phần 2: Train-Time Compute - Kỷ Nguyên Vàng Son (Đã Qua?) Của Việc Mở Rộng Quy Mô
Cho đến khoảng nửa đầu năm 2024, chiến lược thống trị để nâng cao hiệu năng của LLM là tối đa hóa Train-Time Compute. Đây là tổng hợp tài nguyên tính toán được sử dụng trong quá trình trước khi mô hình được triển khai để người dùng sử dụng, bao gồm:
- Quy mô Mô hình (Model Size): Tăng số lượng tham số (ví dụ: từ hàng tỷ lên hàng nghìn tỷ tham số). Càng nhiều tham số, mô hình càng có khả năng lưu trữ và xử lý thông tin phức tạp hơn.
- Quy mô Dữ liệu (Dataset Size): Tăng số lượng token (từ, ký tự) trong bộ dữ liệu dùng để huấn luyện (pre-training). Dữ liệu càng lớn và đa dạng, mô hình càng học được nhiều kiến thức và mẫu ngôn ngữ hơn.
- Quy mô Tính toán (Compute): Tăng số lượng phép toán dấu phẩy động (FLOPs - Floating Point Operations Per Second) cần thiết để xử lý dữ liệu và cập nhật tham số mô hình trong quá trình pre-training và fine-tuning. Điều này thường đòi hỏi các cụm siêu máy tính GPU/TPU khổng lồ.
Người ta ví von dữ liệu huấn luyện như "nhiên liệu hóa thạch của AI" – càng "đốt" nhiều (tức là dùng nhiều dữ liệu và compute để huấn luyện), mô hình càng mạnh mẽ.
Định Luật Tỷ Lệ (Scaling Laws)
Mối quan hệ giữa việc tăng quy mô (scale) và hiệu năng (performance) của mô hình được nghiên cứu qua các Định luật Tỷ lệ. Chúng thường có dạng "hàm mũ" (power laws), nghĩa là việc tăng một yếu tố (ví dụ: compute) sẽ dẫn đến sự cải thiện tỷ lệ thuận (thường là theo hàm mũ) ở yếu tố khác (ví dụ: performance, đo bằng loss giảm hoặc độ chính xác tăng).
Khi biểu diễn trên đồ thị log-log (cả hai trục đều theo thang logarit), mối quan hệ này thường trông giống như một đường thẳng, cho thấy sự cải thiện ổn định khi quy mô tăng lên theo cấp số nhân.
- Định luật Kaplan (OpenAI, 2020): Cho rằng với một ngân sách tính toán cố định, việc tăng kích thước mô hình thường hiệu quả hơn là tăng kích thước dữ liệu.
- Định luật Chinchilla (DeepMind, 2022): Lại cho rằng kích thước mô hình và kích thước dữ liệu quan trọng như nhau và cần được tăng đồng bộ để đạt hiệu năng tối ưu với một mức compute nhất định.
Các định luật này đã thúc đẩy cuộc chạy đua vũ trang về quy mô LLM trong nhiều năm.
Lợi Ích Cận Biên Giảm Dần (Diminishing Returns)
Tuy nhiên, không có gì tăng trưởng mãi mãi. Trong năm 2024, dù các yếu tố quy mô (tham số, dữ liệu, compute) vẫn tiếp tục tăng, những lợi ích thu được về hiệu năng ngày càng ít đi so với chi phí bỏ ra. Việc huấn luyện các mô hình lớn hơn nữa trở nên cực kỳ tốn kém và không còn mang lại những bước nhảy vọt như trước.
Điều này đặt ra câu hỏi lớn: "Phải chăng chúng ta đã chạm đến giới hạn (hit a wall) của việc chỉ tập trung vào Train-Time Compute?"
Phần 3: Test-Time Compute - Khai Phá Sức Mạnh Lúc Suy Luận
Trước chi phí ngày càng tăng và lợi ích giảm dần của Train-Time Compute, cộng đồng nghiên cứu bắt đầu tìm kiếm một hướng đi thay thế hoặc bổ sung: Test-Time Compute.
Test-Time Compute đề cập đến lượng tài nguyên tính toán mà mô hình sử dụng trong quá trình tạo ra câu trả lời cho người dùng (inference time). Thay vì cố gắng "nhồi" tất cả trí thông minh vào mô hình lúc huấn luyện, ý tưởng ở đây là cho phép mô hình "suy nghĩ lâu hơn" hoặc "suy nghĩ kỹ hơn" khi đối mặt với một yêu cầu cụ thể.
Hãy so sánh:
- Mô hình không lập luận (Non-reasoning model):
- Nhận prompt -> Dùng X đơn vị compute -> Trả lời ngay.
- Mô hình lập luận (Reasoning model):
- Nhận prompt -> Dùng X đơn vị compute để phân tích -> Dùng thêm Y đơn vị compute để tạo các bước suy nghĩ trung gian -> Dùng thêm Z đơn vị compute để tổng hợp -> Trả lời. (Tổng compute X+Y+Z > X)
Tại sao lại làm vậy? Bởi vì việc dành thêm tài nguyên lúc suy luận để tạo ra các bước trung gian (thông tin bổ sung, mối quan hệ, suy nghĩ mới) có thể giúp mô hình nâng cao chất lượng và độ chính xác của câu trả lời cuối cùng. Giống như việc bạn dành thêm thời gian nháp các bước giải toán thay vì viết ngay đáp số.
Định Luật Tỷ Lệ cho Test-Time Compute
Lĩnh vực này còn khá mới, nhưng đã có những dấu hiệu thú vị cho thấy test-time compute cũng có tiềm năng tuân theo các định luật tỷ lệ:
- Nghiên cứu của OpenAI ("Learning to reason with LLMs"): Họ gợi ý rằng việc tăng test-time compute (cho mô hình "suy nghĩ lâu hơn") có thể mang lại sự cải thiện hiệu năng theo một xu hướng tương tự như việc tăng train-time compute. Đường cong cải thiện hiệu năng khi tăng test-time compute có thể tiếp nối đường cong của train-time compute, mở ra một không gian tối ưu hóa mới.
- Bài báo "Scaling Scaling Laws with Board Games" (DeepMind, 2022): Nghiên cứu này sử dụng AlphaZero để chơi cờ Hex với các mức train-time và test-time compute khác nhau. Kết quả cho thấy một mối quan hệ chặt chẽ giữa hai loại compute này. Để đạt cùng một mức ELO (thước đo sức mạnh trong cờ), bạn có thể bù đắp việc huấn luyện ít hơn (ít train-time compute) bằng cách cho mô hình suy nghĩ lâu hơn lúc chơi (nhiều test-time compute) và ngược lại. Mỗi đường cong trên biểu đồ thể hiện sự đánh đổi này.
Những phát hiện này củng cố cho sự chuyển dịch mô hình đang diễn ra. Thay vì chỉ tập trung tối đa vào pre-training và fine-tuning, các "reasoning models" tìm cách cân bằng giữa việc đầu tư lúc huấn luyện và tối ưu hóa quá trình suy luận.
Một khía cạnh thú vị là test-time compute có thể được mở rộng theo chiều dài (scaling in length) – tức là tạo ra các chuỗi suy nghĩ ngày càng dài và phức tạp hơn, như chúng ta sẽ thấy trong trường hợp của DeepSeek-R1.
Phần 4: "Hộp Đồ Nghề" Xây Dựng Reasoning LLM
Làm thế nào để chúng ta thực sự "bật" khả năng lập luận và tận dụng test-time compute? Có rất nhiều kỹ thuật, nhưng chúng có thể được phân loại thành hai nhóm chính, dựa trên cách chúng tác động đến quá trình tạo ra câu trả lời:
- Search against Verifiers:
- Tập trung vào: Đánh giá và lựa chọn kết quả đầu ra (output-focused).
- Cách làm: Tạo ra nhiều phương án (chuỗi suy nghĩ + câu trả lời), sau đó dùng một "giám khảo" (Verifier/Reward Model) để chấm điểm và chọn ra phương án tốt nhất.
- Modifying Proposal Distribution:
- Tập trung vào: Cải thiện quá trình tạo ra đầu vào (input-focused) cho các bước tiếp theo.
- Cách làm: Huấn luyện hoặc điều chỉnh mô hình để nó có xu hướng tự tạo ra các bước suy nghĩ tốt hơn ngay từ đầu, thay đổi cách nó "chọn" token tiếp theo.
Trước khi đi sâu vào từng nhóm, hãy làm rõ về các "giám khảo" - Verifier / Reward Model (RM). Đây thường là các LLM được fine-tune đặc biệt để đánh giá chất lượng:
- Outcome Reward Model (ORM): Chỉ quan tâm đến kết quả cuối cùng. Ví dụ: Câu trả lời có đúng không? Có hữu ích không? Nó không quan tâm quá trình đi đến đó lộn xộn hay logic.
- Process Reward Model (PRM): Đánh giá chất lượng của từng bước trong quá trình lập luận. Ví dụ: Bước suy nghĩ này có logic không? Có dẫn đến hướng giải quyết đúng không? Ngay cả khi câu trả lời cuối cùng đúng, nếu quá trình có bước sai, PRM có thể chấm điểm thấp cho bước đó.
Sau đây là ví dụ để làm cho các bước suy luận này rõ ràng hơn một chút:
Lưu ý rằng bước 2 là một bước suy luận kém và được PRM chấm điểm thấp!
Bây giờ, hãy khám phá chi tiết từng nhóm kỹ thuật.
Phần 5: Kỹ Thuật Nhóm 1 - Tìm Kiếm & Lựa Chọn (Search Against Verifiers)
Nhóm này hoạt động theo nguyên tắc "thử nhiều, chọn tốt".
Quy trình chung:
- Tạo mẫu (Sampling): LLM chính (Proposer) được yêu cầu tạo ra nhiều (N) phiên bản chuỗi suy nghĩ và câu trả lời khác nhau cho cùng một prompt. Thường sử dụng
temperature
cao hoặc thay đổi để khuyến khích sự đa dạng. - Đánh giá & Lựa chọn: Verifier (ORM hoặc PRM) chấm điểm các mẫu này, và mẫu tốt nhất được chọn.
Các kỹ thuật cụ thể:
1. Majority Voting (Bỏ Phiếu Đa Số) / Self-Consistency
- Cách làm: Tạo ra N câu trả lời cuối cùng (có thể kèm theo chuỗi suy nghĩ hoặc không). Chọn câu trả lời xuất hiện nhiều lần nhất.
- Nguyên tắc: Nếu mô hình đưa ra cùng một câu trả lời qua nhiều con đường suy nghĩ khác nhau, câu trả lời đó có khả năng đúng cao hơn.
- Ưu điểm: Đơn giản, không cần Verifier.
- Nhược điểm: Chỉ hiệu quả nếu câu trả lời đúng thực sự chiếm đa số, có thể bỏ qua các câu trả lời đúng nhưng hiếm gặp hơn.
2. Best-of-N Samples (Chọn Mẫu Tốt Nhất Trong N)
-
Cách làm:
- Proposer tạo N mẫu (chuỗi suy nghĩ + câu trả lời).
- Chọn mẫu tốt nhất dựa trên điểm số, có hai lựa chọn:
- Dùng ORM: Chấm điểm câu trả lời cuối cùng của mỗi mẫu. Chọn mẫu có điểm ORM cao nhất.
- Dùng PRM: Chấm điểm từng bước trong chuỗi suy nghĩ của mỗi mẫu. Tính tổng điểm PRM cho mỗi chuỗi. Chọn mẫu có tổng điểm PRM cao nhất.
- Dùng ORM: Chấm điểm câu trả lời cuối cùng của mỗi mẫu. Chọn mẫu có điểm ORM cao nhất.
- Weighted Best-of-N: Tính điểm cho mỗi mẫu (bằng ORM hoặc PRM), sau đó tính xác suất chọn mỗi mẫu dựa trên điểm số (ví dụ: dùng softmax). Chọn mẫu theo xác suất này hoặc lấy trung bình có trọng số.
- Proposer tạo N mẫu (chuỗi suy nghĩ + câu trả lời).
-
Ưu điểm: Sử dụng thông tin đánh giá chất lượng rõ ràng hơn Majority Voting.
-
Nhược điểm: Cần huấn luyện Verifier tốt. Tạo N mẫu tốn compute lúc suy luận.
3. Beam Search với Process Reward Models (PRM)
- Cách làm: Mở rộng ý tưởng của Best-of-N bằng cách áp dụng cơ chế tìm kiếm chùm (beam search) vào quá trình tạo chuỗi suy nghĩ.
- Tại mỗi bước tạo token/bước suy nghĩ, thay vì chỉ chọn một token tốt nhất, mô hình tạo ra
k
(beam width) token/bước có khả năng cao nhất. - PRM được sử dụng để đánh giá chất lượng của
k
"nhánh" (beams) này. - Chỉ giữ lại
k
nhánh có tổng điểm PRM tích lũy cao nhất để tiếp tục mở rộng ở bước sau. Các nhánh kém hiệu quả sẽ bị loại bỏ sớm.
- Tại mỗi bước tạo token/bước suy nghĩ, thay vì chỉ chọn một token tốt nhất, mô hình tạo ra
- Ưu điểm: Hiệu quả hơn Best-of-N vì tập trung vào các hướng đi hứa hẹn, tránh lãng phí compute vào các nhánh suy nghĩ tệ.
- Nhược điểm: Vẫn cần PRM tốt, phức tạp hơn trong triển khai.
4. Monte Carlo Tree Search (MCTS)
- Cách làm: Một kỹ thuật tìm kiếm cây (tree search) tiên tiến hơn, thường dùng trong các trò chơi như cờ vua, cờ vây, nhưng cũng có thể áp dụng cho việc tạo chuỗi suy nghĩ. MCTS cân bằng giữa việc khai thác (exploitation) các nhánh suy nghĩ đã biết là tốt và khám phá (exploration) các nhánh mới tiềm năng. Sau đây là công thức được sử dụng để chấm điểm và lựa chọn:
- Selection: Chọn một "nút lá" (bước suy nghĩ chưa được mở rộng) trong cây dựa trên một công thức cân bằng giữa điểm số hiện tại và tiềm năng khám phá.
- Expansion: Tạo ra các bước suy nghĩ mới từ nút lá đã chọn.
- Simulation (Rollouts): Từ một nút mới, mô phỏng ngẫu nhiên các bước suy nghĩ tiếp theo cho đến khi đạt được kết quả cuối cùng (ví dụ: câu trả lời).
- Backpropagation: Cập nhật điểm số của các nút cha dựa trên kết quả của các rollouts.
- Ưu điểm: Có khả năng khám phá không gian tìm kiếm rất lớn một cách hiệu quả, tìm ra các chuỗi suy nghĩ tối ưu mà các phương pháp khác có thể bỏ lỡ.
- Nhược điểm: Rất phức tạp, tốn nhiều compute, việc thiết kế hàm lựa chọn và rollout hiệu quả là thách thức.
Tổng kết Nhóm 1: Các kỹ thuật này mạnh ở chỗ có thể cải thiện chất lượng đầu ra mà không cần (hoặc ít cần) huấn luyện lại LLM chính. Tuy nhiên, chúng đánh đổi bằng chi phí tính toán đáng kể lúc suy luận và sự phụ thuộc vào chất lượng của Verifier.
Phần 6: Kỹ Thuật Nhóm 2 - Điều Chỉnh Cách Mô Hình "Đề Xuất" (Modifying Proposal Distribution)
Nhóm này có cách tiếp cận khác: thay vì tạo nhiều rồi chọn, chúng ta cố gắng huấn luyện hoặc hướng dẫn mô hình để nó tự tạo ra các bước suy nghĩ tốt hơn ngay từ đầu. Mục tiêu là làm thay đổi phân phối xác suất (proposal distribution) của các token mà mô hình có khả năng tạo ra tiếp theo, sao cho các token dẫn đến lập luận tốt được ưu tiên hơn.
Hãy tưởng tượng chúng ta có một câu hỏi và một phân phối xác suất (distribution) mà từ đó chúng ta có thể lấy mẫu (sample) các token. Một chiến lược phổ biến là chọn token có điểm số cao nhất (highest-scoring token):
Tuy nhiên, lưu ý rằng một số token được tô màu đỏ trong hình trên. Đó là những token có nhiều khả năng dẫn đến một quy trình suy luận (reasoning process) hơn:
Mặc dù việc chọn token theo kiểu tham lam (greedy token) không hẳn là sai, nhưng việc chọn một token dẫn đến quy trình suy luận thường mang lại câu trả lời tốt hơn (improved answer).
Khi chúng ta điều chỉnh phân phối đề xuất (proposal distribution) - tức là phân phối xác suất của các token - về cơ bản, chúng ta đang làm cho mô hình xếp hạng lại (re-rank) phân phối đó sao cho các token "dẫn đến suy luận" (reasoning tokens) được chọn thường xuyên hơn:
Có nhiều phương pháp khác nhau để điều chỉnh phân phối đề xuất, nhưng chúng thường có thể được chia thành hai loại chính:
- Cập nhật prompt (lời nhắc) thông qua kỹ thuật prompt (prompt engineering)
- Huấn luyện (Training) mô hình để tập trung vào các token/quy trình suy luận.
1. Prompting (Kỹ thuật tạo câu lệnh)
- Cách làm: Sử dụng chính câu lệnh (prompt) để "gợi ý" hoặc "ép" mô hình thể hiện hành vi lập luận.
- Zero-Shot Prompting: Thêm các cụm từ ma thuật như "Let's think step-by-step." vào cuối prompt. Điều này thay đổi nhẹ phân phối đề xuất, khiến mô hình có xu hướng chia nhỏ vấn đề.
- Few-Shot / In-Context Learning: Cung cấp một vài ví dụ hoàn chỉnh (prompt + chuỗi suy nghĩ + answer) trong chính prompt. Mô hình sẽ học theo "khuôn mẫu" này để giải quyết yêu cầu mới.
Mô hình sẽ có xu hướng tạo raQ: Tính 2*3+4? <think> 2*3 = 6. 6+4 = 10. </think> A: 10 Q: Tính 5*6-7? <think> 5*6 = 30. 30-7 = 23. </think> A: 23 Q: Tính 8*2+9?
<think>
và<answer>
tương tự.
- Zero-Shot Prompting: Thêm các cụm từ ma thuật như "Let's think step-by-step." vào cuối prompt. Điều này thay đổi nhẹ phân phối đề xuất, khiến mô hình có xu hướng chia nhỏ vấn đề.
- Ưu điểm: Dễ thực hiện, không cần huấn luyện lại mô hình.
- Nhược điểm: Hiệu quả hạn chế, mô hình không thực sự học cách lập luận mà chỉ "bắt chước". Nếu bước đầu tiên sai, nó có thể tiếp tục sai mà không tự sửa chữa (thiếu self-refinement). Kết quả không ổn định.
2. Huấn luyện Mô hình để Lập luận (STaR, RL, etc.)
- Cách làm: Sử dụng các kỹ thuật huấn luyện (Supervised Fine-Tuning - SFT, Reinforcement Learning - RL) để dạy mô hình cách tạo ra các chuỗi suy nghĩ chất lượng.
- STaR (Self-Taught Reasoner): Một phương pháp SFT độc đáo.
- Cho LLM giải một bài toán.
- Nếu trả lời đúng: Giữ lại cặp (prompt, chuỗi suy nghĩ, câu trả lời đúng) -> Thêm vào bộ dữ liệu huấn luyện.
- Nếu trả lời sai: Cung cấp cho LLM câu trả lời đúng (hint) -> Yêu cầu LLM giải thích tại sao câu trả lời đó lại đúng -> Giữ lại cặp (prompt, chuỗi giải thích mới, câu trả lời đúng) -> Thêm vào bộ dữ liệu huấn luyện.
- Fine-tune LLM trên bộ dữ liệu được tạo ra này.
- Điểm hay: Mô hình tự tạo ra dữ liệu lập luận của chính nó, có khả năng học từ lỗi sai.
- Reinforcement Learning (RL): Sử dụng các thuật toán RL (như PPO, hoặc GRPO như DeepSeek dùng) với các hàm thưởng (reward functions) được thiết kế để khuyến khích hành vi lập luận.
- Ví dụ: Thưởng cho việc sử dụng đúng định dạng
<think>
, thưởng cho câu trả lời cuối cùng chính xác, thưởng cho các bước suy nghĩ logic (nếu có PRM), thưởng cho việc duy trì ngôn ngữ nhất quán, v.v. - Điểm mạnh: Có thể dạy mô hình những hành vi phức tạp mà SFT khó đạt được, mô hình có thể tự khám phá ra các chiến lược lập luận hiệu quả.
- Ví dụ: Thưởng cho việc sử dụng đúng định dạng
Tổng kết Nhóm 2: Các kỹ thuật này nhằm mục đích thay đổi bản chất của mô hình, giúp nó "nội tại" có khả năng lập luận tốt hơn. Chúng có thể hiệu quả hơn lúc suy luận so với nhóm 1, nhưng đòi hỏi nỗ lực đáng kể trong việc thu thập dữ liệu chất lượng cao hoặc thiết kế các quy trình huấn luyện phức tạp.
Phần 7: "Mổ Xẻ" DeepSeek-R1 - Một Nghiên Cứu Điển Hình
DeepSeek-R1 là một mô hình LLM lập luận mã nguồn mở (671 tỷ tham số) gây tiếng vang lớn, cạnh tranh trực tiếp với các mô hình đóng như OpenAI o1. Điểm đặc biệt là cách DeepSeek Team đã khéo léo kết hợp SFT và đặc biệt là RL để "chưng cất" khả năng lập luận vào mô hình nền DeepSeek-V3-Base của họ, mà không cần đến các Verifier phức tạp như PRM trong quá trình chính.
Giai đoạn 1: Thử nghiệm với DeepSeek-R1 Zero
- Mục tiêu: Xem liệu chỉ dùng RL có thể dạy mô hình lập luận không.
- Cách làm:
- Bắt đầu từ DeepSeek-V3-Base.
- Sử dụng một prompt rất đơn giản, chỉ yêu cầu mô hình đặt quá trình suy nghĩ vào giữa tag
<think>
và<answer>
. Không hề cung cấp ví dụ về cách suy nghĩ. - Áp dụng thuật toán Group Relative Policy Optimization (GRPO) - một dạng RL giúp tăng/giảm xác suất của toàn bộ chuỗi hành động (tokens, bước suy nghĩ) dẫn đến kết quả tốt/xấu.
- Sử dụng hai hàm thưởng dựa trên quy tắc (rule-based rewards) đơn giản:
- Accuracy rewards: Thưởng nếu câu trả lời cuối cùng đúng (kiểm tra tự động).
- Format rewards: Thưởng nếu mô hình sử dụng đúng tag
<think>
và<answer>
.
- Kết quả bất ngờ: Chỉ với những hàm thưởng gián tiếp này, mô hình tự khám phá ra rằng việc tạo ra các chuỗi suy nghĩ (
<think>...
) dài hơn và phức tạp hơn giúp tăng khả năng đưa ra câu trả lời đúng. Nó tự học được các hành vi giống Chain-of-Thought, thậm chí cả self-reflection và self-verification sơ khai, mà không cần ai dạy cụ thể.- Đây là minh chứng mạnh mẽ cho sự liên hệ giữa test-time compute (chuỗi suy nghĩ dài hơn) và hiệu năng.
- Đây là minh chứng mạnh mẽ cho sự liên hệ giữa test-time compute (chuỗi suy nghĩ dài hơn) và hiệu năng.
- Hạn chế: Kết quả tuy ấn tượng về khả năng lập luận nhưng khó đọc, hay trộn lẫn ngôn ngữ.
Giai đoạn 2: Xây dựng DeepSeek-R1 Chính Thức (Quy trình 5 bước)
Để giải quyết hạn chế của R1-Zero và tạo ra một mô hình mạnh mẽ, ổn định hơn, DeepSeek Team đã thực hiện một quy trình tinh vi gồm 5 bước:
- Cold Start (Khởi động lạnh):
- Mục đích: Tránh vấn đề "khởi đầu lạnh" khi huấn luyện RL, giúp mô hình có định hướng ban đầu tốt hơn về lập luận và cải thiện tính dễ đọc.
- Cách làm: Fine-tune nhẹ DeepSeek-V3-Base với một bộ dữ liệu lập luận chất lượng cao nhưng rất nhỏ (chỉ khoảng 5,000 mẫu).
- Reasoning-oriented Reinforcement Learning (RL hướng Lập luận):
- Mục đích: Tăng cường khả năng lập luận cốt lõi bằng RL.
- Cách làm: Áp dụng quy trình RL tương tự R1-Zero (dùng GRPO) cho mô hình vừa fine-tune ở bước 1. Bổ sung thêm hàm thưởng để đảm bảo mô hình giữ nguyên ngôn ngữ mục tiêu (ví dụ: nếu hỏi tiếng Anh thì trả lời tiếng Anh).
- Rejection Sampling (Lấy mẫu Loại bỏ):
- Mục đích: Tạo ra một bộ dữ liệu lập luận tổng hợp (synthetic) quy mô lớn và chất lượng cao để dùng cho SFT ở bước sau. Đây là bước cực kỳ quan trọng.
- Cách làm:
- Sử dụng mô hình đã qua RL ở bước 2 để tạo ra hàng triệu mẫu lập luận.
- Áp dụng các bộ lọc dựa trên quy tắc (rule-based rejection) để loại bỏ các mẫu chất lượng thấp.
- Sử dụng một Reward Model (chính là DeepSeek-V3-Base được fine-tune nhẹ) để chấm điểm và chọn ra 600,000 mẫu lập luận chất lượng cao nhất.
- Tạo thêm 200,000 mẫu không lập luận (câu trả lời trực tiếp) từ DeepSeek-V3 và dữ liệu huấn luyện của nó.
- Kết quả: Một bộ dữ liệu SFT gồm 800,000 mẫu tổng hợp chất lượng cao.
- Supervised Fine-Tuning (SFT):
- Mục đích: "Chưng cất" kiến thức lập luận từ bộ dữ liệu tổng hợp vào mô hình nền một cách ổn định.
- Cách làm: Fine-tune lại DeepSeek-V3-Base (bản gốc) trên toàn bộ 800,000 mẫu dữ liệu tổng hợp thu được ở bước 3.
- Reinforcement Learning for all Scenarios (RL cho Mọi Tình huống):
- Mục đích: Tinh chỉnh mô hình cuối cùng để phù hợp hơn với sở thích của con người và xử lý đa dạng các tình huống.
- Cách làm: Áp dụng RL một lần nữa cho mô hình vừa SFT ở bước 4.
- Sử dụng cách tiếp cận tương tự R1-Zero (GRPO, thưởng accuracy, format).
- Bổ sung các tín hiệu thưởng quan trọng khác: tập trung vào tính hữu ích (helpfulness) và tính vô hại (harmlessness) (thường được đánh giá bởi con người hoặc RM khác).
- Yêu cầu mô hình tóm tắt lại quá trình suy nghĩ của nó (có thể là một phần của prompt hoặc hàm thưởng) để cải thiện tính dễ đọc.
Kết quả: DeepSeek-R1, một mô hình mạnh mẽ được tạo ra chủ yếu thông qua việc kết hợp khéo léo giữa SFT với dữ liệu tổng hợp chất lượng cao và nhiều giai đoạn RL với các hàm thưởng được thiết kế cẩn thận.
Giai đoạn 3: Chưng Cất Khả Năng Lập Luận (Distillation)
DeepSeek-R1 rất lớn (671B). Để mang khả năng lập luận đến các mô hình nhỏ hơn, chạy được trên phần cứng phổ thông, kỹ thuật chưng cất kiến thức (knowledge distillation) đã được áp dụng :
- Cách làm:
- Sử dụng DeepSeek-R1 làm mô hình giáo viên (teacher model).
- Chọn một mô hình nhỏ hơn (ví dụ: Qwen-32B) làm mô hình học sinh (student model).
- Cho cả hai mô hình cùng xem một prompt từ bộ dữ liệu 800,000 mẫu.
- Huấn luyện mô hình học sinh sao cho phân phối xác suất token mà nó tạo ra càng giống với phân phối của mô hình giáo viên càng tốt (thường dùng hàm loss như KL Divergence).
- Kết quả: Các mô hình học sinh được chưng cất không chỉ học từ 800,000 câu trả lời đúng mà còn học được "cách suy nghĩ" (thể hiện qua phân phối xác suất) của mô hình giáo viên mạnh mẽ, giúp cải thiện đáng kể khả năng lập luận của chúng.
Những Thử Nghiệm Không Thành Công (Bài Học Quan Trọng)
DeepSeek Team cũng chia sẻ rằng họ đã thử nghiệm các kỹ thuật thuộc nhóm "Search against Verifiers" như MCTS và Best-of-N với PRM nhưng không đạt được thành công như mong đợi:
- Với MCTS: Gặp khó khăn trong việc quản lý không gian tìm kiếm khổng lồ của các chuỗi suy nghĩ, phải giới hạn việc mở rộng nút. Việc huấn luyện một Reward Model đủ chi tiết để dẫn đường cho MCTS cũng rất khó.
- Với PRM (cho Best-of-N): Gặp vấn đề về chi phí tính toán lớn để liên tục huấn luyện lại PRM nhằm tránh hiện tượng reward hacking - mô hình tìm cách tối đa hóa điểm thưởng mà không thực sự cải thiện chất lượng.
Điều này không có nghĩa là MCTS hay PRM vô dụng, nhưng nó cho thấy những thách thức thực tế khi triển khai các kỹ thuật này ở quy mô lớn và nhấn mạnh sự thành công của phương pháp tập trung vào RL và SFT với dữ liệu tổng hợp của DeepSeek.
Phần 8: Kết Luận - Hướng Tới Những LLM Thực Sự "Hiểu Biết"
Chúng ta đang chứng kiến những bước đi đầu tiên nhưng đầy mạnh mẽ của một kỷ nguyên mới cho LLM - kỷ nguyên của sự lập luận (reasoning). Việc chuyển dịch trọng tâm sang Test-Time Compute, cho phép mô hình "suy nghĩ kỹ hơn" lúc hoạt động, đang mở ra những tiềm năng to lớn để vượt qua các giới hạn của việc chỉ đơn thuần mở rộng quy mô huấn luyện.
Các kỹ thuật đa dạng, từ Tìm kiếm dựa trên Bộ xác minh (như Best-of-N, MCTS) đến Điều chỉnh Phân phối Đề xuất (như Prompting, STaR, RL), cung cấp một "hộp đồ nghề" phong phú để các nhà nghiên cứu xây dựng những LLM thông minh hơn, logic hơn.
Thành công của DeepSeek-R1 là một minh chứng điển hình cho sức mạnh của việc kết hợp khéo léo giữa học tăng cường (RL) và học có giám sát (SFT) với dữ liệu tổng hợp chất lượng cao, cho thấy rằng chúng ta có thể "dạy" LLM cách tự khám phá và tinh chỉnh quá trình suy nghĩ của chúng.
Hành trình này vẫn còn dài, với nhiều thách thức về chi phí tính toán, độ tin cậy, khả năng giải thích và sự an toàn. Tuy nhiên, đích đến là vô cùng hấp dẫn: những mô hình AI không chỉ là những cỗ máy trả lời tự động dựa trên kho kiến thức khổng lồ, mà còn là những đối tác có khả năng phân tích, suy luận, giải quyết vấn đề một cách sâu sắc và đáng tin cậy.
Hãy cùng tiếp tục theo dõi và khám phá những bước tiến tiếp theo trên con đường tạo ra những LLM thực sự "hiểu biết"!