Hướng dẫn xây dựng mô hình ngôn ngữ khuếch tán (Diffusion Language Model)
Bài viết này giới thiệu chi tiết về mô hình ngôn ngữ khuếch tán (diffusion language models), một hướng đi mới đầy hứa hẹn thay thế cho mô hình tự hồi quy (autoregressive) truyền thống. Từ khái niệm cơ bản về khuếch tán masking, các kỹ thuật tinh chỉnh lặp, đến những mô hình tiên tiến hiện nay như Mercury, Gemma Diffusion, Nemotron Diffusion, bài viết cung cấp cái nhìn toàn diện về lĩnh vực đang phát triển nhanh chóng này.

Hướng dẫn xây dựng mô hình ngôn ngữ khuếch tán (Diffusion Language Model)
Mô hình ngôn ngữ khuếch tán đang nổi lên như một ứng viên sáng giá thay thế cho mô hình tự hồi quy (autoregressive) truyền thống. Khác với cách tạo văn bản từ trái sang phải, mô hình khuếch tán tạo ra toàn bộ chuỗi cùng lúc và tinh chỉnh qua nhiều bước, mang lại tốc độ nhanh hơn và khả năng sửa lỗi linh hoạt hơn. Bài viết này sẽ khám phá các khối xây dựng cốt lõi của công nghệ này, từ khuếch tán masking cho đến các kỹ thuật hướng dẫn (guidance) và tinh chỉnh, đồng thời giới thiệu các mô hình tiên phong hiện nay.
Giới thiệu
Trong lĩnh vực trí tuệ nhân tạo tạo sinh, có hai họ thuật toán chính đang được sử dụng rộng rãi. Đối với dữ liệu liên tục như hình ảnh hoặc video, phương pháp tối tân nhất dựa trên mô hình khuếch tán (diffusion models). Ngược lại, đối với dữ liệu rời rạc như văn bản hoặc mã nguồn, phương pháp tiêu chuẩn lại là mô hình tự hồi quy (autoregressive models). Bài viết này tập trung khám phá một hướng đi thay thế cho dữ liệu rời rạc, được xây dựng dựa trên mô hình khuếch tán hiện đại.
Hạn chế của mô hình tự hồi quy
Mô hình ngôn ngữ chính thống hiện nay thường là tự hồi quy: chúng tạo ra token từ trái sang phải, mỗi token được tạo dựa trên các token trước đó. Phương pháp này mạnh mẽ nhưng có những hạn chế cố hữu:
- Tốc độ chậm: Việc tạo token tuần tự khiến quá trình suy luận chậm, khó tận dụng tối đa sức mạnh song song của GPU.
- Không thể sửa lỗi: Khi một token sai được tạo ra, lỗi này sẽ lan truyền và ảnh hưởng đến toàn bộ phần còn lại của chuỗi.
- Thiếu bối cảnh hai chiều: Mô hình chỉ nhìn thấy ngữ cảnh phía trước, không nhìn thấy phía sau.
Mô hình khuếch tán tiếp cận khác biệt
Mô hình khuếch tán có cách tiếp cận hoàn toàn khác. Thay vì tạo văn bản từng token một, chúng tạo ra toàn bộ chuỗi cùng lúc, bắt đầu từ một dự đoán ban đầu và tinh chỉnh nó qua nhiều bước. Điều này mang lại một số lợi thế:
- Tốc độ và chất lượng linh hoạt: Có thể điều chỉnh số bước để đánh đổi giữa tốc độ và chất lượng.
- Sửa lỗi trong quá trình tạo: Nếu phát hiện lỗi ở bước trước, mô hình có thể tự sửa ở các bước sau.
- Bối cảnh hai chiều: Mỗi bước đều có thể nhìn thấy toàn bộ ngữ cảnh của chuỗi.
Việc áp dụng khuếch tán vào ngôn ngữ từng là một bài toán mở. Nhưng đến năm 2024, lĩnh vực này đã đạt bước ngoặt khi các mô hình khuếch tán trở nên cạnh tranh với mô hình tự hồi quy về chất lượng. Đến năm 2026, diffusion LLMs đã trở thành hiện thực với các bản phát hành từ các phòng thí nghiệm hàng đầu như Mercury 2 (Inception Labs), Gemma Diffusion (Google), và Nemotron Diffusion (NVIDIA).
So sánh quá trình khuếch tán AR và Diffusion
Hình minh họa so sánh cách hoạt động giữa mô hình tự hồi quy (AR) và mô hình khuếch tán trong việc tạo dữ liệu.
Nguyên lý cốt lõi: Quá trình khuếch tán Gaussian cho hình ảnh
Để hiểu về khuếch tán ngôn ngữ, trước tiên chúng ta cần nắm được khái niệm khuếch tán Gaussian cho việc tạo hình ảnh.
Quá trình thuận (Forward Process)
Quá trình thuận bắt đầu từ một hình ảnh sạch và biến nó thành nhiễu tinh khiết qua từng bước. Ở mỗi bước, một lượng nhiễu Gaussian ngẫu nhiên được thêm vào, khiến hình ảnh ngày càng mờ đi cho đến khi tan biến hoàn toàn thành tĩnh (static). Quá trình này không cần học — chúng ta chỉ đơn giản là thêm nhiễu — nhưng nó cực kỳ hữu ích vì tạo ra một nguồn dữ liệu huấn luyện vô tận: các ví dụ về hình ảnh được biến đổi thành nhiễu và ngược lại.
Quá trình khuếch tán thuận từ ảnh sạch sang nhiễu
Quá trình thuận: thêm nhiễu Gaussian dần dần vào một bức ảnh sạch cho đến khi thành nhiễu hoàn toàn.
Quá trình nghịch (Reverse Process)
Quá trình nghịch là nơi quá trình học thực sự diễn ra. Chúng ta huấn luyện một mô hình để biến đổi nhiễu thành hình ảnh, bằng cách đi theo các bước của quá trình thuận theo chiều ngược lại.
Cụ thể, với một hình ảnh nhiễu, chúng ta huấn luyện mô hình để tách nhiễu khỏi hình ảnh gốc. Một khi mô hình làm được điều này, việc tạo ảnh trở nên đơn giản: bắt đầu từ nhiễu tinh khiết, nhờ mô hình ước lượng và loại bỏ một phần nhiễu, rồi lặp lại cho đến khi thu được hình ảnh sạch.
Quá trình khuếch tán nghịch từ nhiễu về ảnh sạch
Quá trình nghịch: mô hình học cách loại bỏ nhiễu dần dần để tái tạo lại hình ảnh gốc.
Khuếch tán Masking: Phương pháp áp dụng cho ngôn ngữ
Trở ngại chính khi áp dụng khuếch tán vào ngôn ngữ là xác định "nhiễu" nên được hiểu như thế nào đối với token rời rạc. Nhiễu Gaussian cổ điển không thể áp dụng trực tiếp cho các biến phân loại. Một giải pháp đơn giản và hiệu quả là sử dụng masking.
Bạn có thể hiểu khuếch tán masked như một transformer chuyên "giải mã" (unmasking). Chúng ta huấn luyện mô hình bằng cách lấy các chuỗi sạch, mask ngẫu nhiên một phần token, và yêu cầu một transformer hai chiều điền vào chỗ trống. Nếu bạn biết BERT, đây về cơ bản là BERT với tỷ lệ mask ngẫu nhiên — nhưng khác với BERT, mô hình kết quả có tính tạo sinh. Bạn có thể coi khuếch tán masked là một BERT tạo sinh (generative BERT).
Quá trình tạo sinh
Để tạo văn bản, chúng ta bắt đầu từ một chuỗi được mask hoàn toàn và lặp lại hai bước sau:
- Bước 1: Yêu cầu mô hình dự đoán token cho tất cả các vị trí đã bị mask.
- Bước 2: Chọn một số vị trí có độ tin cậy cao nhất và "mở khóa" (unmask) chúng, giữ lại các dự đoán đó.
Mỗi vòng lặp để lại ít vị trí bị mask hơn, cho đến khi chuỗi hội tụ về một mẫu sạch. Quá trình tạo sinh giống như việc bắt đầu với một chuỗi chỉ toàn dấu chấm và dần dần điền từ ngữ theo thứ tự bất kỳ.
Quá trình khuếch tán thuận và nghịch
Minh họa quá trình khuếch tán thuận (mask token dần) và quá trình nghịch (giải mã token dần).
Từ khuếch tán masking đến mô hình Mô hình ngôn ngữ khuếch tán (MDLM)
Nhóm nghiên cứu của tác giả đã phổ biến cách tiếp cận masking này và nó hiện là nền tảng cho hầu hết các mô hình ngôn ngữ khuếch tán mã nguồn mở. Một trong những mô hình quan trọng là Mô hình ngôn ngữ khuếch tán (Diffusion Language Model - MDLM).
MDLM kết hợp các khái niệm:
- Lịch trình mask (αt): Kiểm soát tỷ lệ token được giữ nguyên (không mask) tại thời điểm t. Bắt đầu từ 1 (chuỗi sạch) và giảm dần về 0 (chuỗi mask hoàn toàn).
- Quá trình thuận (Forward Process): Tạo dữ liệu huấn luyện bằng cách mask ngẫu nhiên một phần token theo lịch trình.
- Quá trình nghịch (Reverse Process): Học cách dự đoán token bị mask dựa trên các token còn lại, sử dụng mất mát cross-entropy.
Kỹ thuật mở rộng: Tinh chỉnh lặp (Iterative Refinement)
Một biến thể quan trọng là Block Diffusion, được sử dụng trong các mô hình như Gemini Diffusion của Google. Thay vì giải mã toàn bộ các token bị mask cùng một lúc (một-bước), kỹ thuật này chia chuỗi thành các "khối" (blocks) và giải mã từng khối qua nhiều bước với lịch trình khác nhau. Điều này giúp cân bằng tốc độ và chất lượng, đồng thời cho phép tạo ra chuỗi có độ dài thay đổi (variable-length generation).
Tạo dữ liệu có điều kiện với Hướng dẫn phân loại (Classifier Guidance)
Trong nhiều ứng dụng, chúng ta muốn tạo ra dữ liệu có các thuộc tính cụ thể. Kỹ thuật Hướng dẫn phân loại (Classifier Guidance - CG) cho phép điều này bằng cách sử dụng một bộ phân loại độc lập để đánh giá xác suất của dữ liệu mục tiêu.
Công thức hoạt động bằng cách kết hợp xác suất của mô hình không điều kiện với một "hệ số hướng dẫn" từ bộ phân loại. Tham số γ kiểm soát mức độ ưu tiên giữa thuộc tính mong muốn và sở thích của chính mô hình.
Hạn chế: Cần một bộ phân loại riêng, dẫn đến mất mát về hiệu suất và phức tạp khi huấn luyện.
Hướng dẫn không phân loại (Classifier-free Guidance)
Một phương pháp hiệu quả hơn là Hướng dẫn không phân loại (Classifier-Free Guidance - CFG). Thay vì huấn luyện một bộ phân loại riêng, chúng ta huấn luyện cùng lúc một mô hình có điều kiện và một mô hình không điều kiện, bằng cách ngẫu nhiên bỏ qua tín hiệu điều kiện trong quá trình huấn luyện.
Công thức kết hợp:
- Sử dụng mô hình có điều kiện và mô hình không điều kiện cùng lúc.
- Tham số γ kiểm soát độ mạnh của điều kiện.
Kỹ thuật này tránh được việc phải huấn luyện thêm bộ phân loại và được sử dụng rộng rãi trong các mô hình hiện nay.
Tinh chỉnh với Học tăng cường (Reinforcement Learning)
Diffusion language models cũng có thể được tinh chỉnh bằng học tăng cường để cải thiện khả năng suy luận, tương tự như cách làm với mô hình tự hồi quy. Tuy nhiên, việc tính xác suất của một chuỗi tạo ra ở mô hình khuếch tán phức tạp hơn nhiều so với mô hình tự hồi quy.
Một số thuật toán mới đã được phát triển để giải quyết vấn đề này:
- diffu-GRPO: Thuật toán policy-gradient không dùng critic, sử dụng xấp xỉ mean-field để ước lượng log-probabilities, kết hợp với masked supervised fine-tuning.
- Phương pháp ước lượng likelihood cải tiến: Cung cấp các bộ ước lượng chính xác hơn, từ đó đạt được kết quả tốt hơn trên các benchmark suy luận logic và toán học mà không cần dựa vào supervised fine-tuning.
Ứng dụng trong sinh học
Một trong những lĩnh vực thành công sớm nhất của diffusion language models là ứng dụng vào chuỗi sinh học, đặc biệt là protein và DNA.
Mô hình protein
ESM3 là một ví dụ tiêu biểu, triển khai MDLM với lên tới 100 tỷ tham số và được huấn luyện trên các cơ sở dữ liệu axit amin khổng lồ. Tác giả báo cáo rằng cách tiếp cận này vượt trội hơn so với các baseline tự hồi quy và thiết lập một tiêu chuẩn mới trong việc tạo protein.
Mô hình DNA
Nucleotide Transformer v3 (NT-v3), được phát triển từ sự hợp tác giữa nhóm nghiên cứu của tác giả, InstaDeep và BioNTech, mở rộng MDLM lên hàng tỷ tham số và hơn một nghìn tỷ token DNA. Các mô hình này hỗ trợ tạo ra các chuỗi DNA với các đặc tính mong muốn thông qua discrete classifier-free guidance.
Trong một thử nghiệm, nhóm nghiên cứu đã tạo ra các chuỗi DNA điều hòa để tăng cường hoặc ức chế biểu hiện của các gen cụ thể. Các chuỗi này điều chỉnh biểu hiện gen tốt hơn so với các baseline trước đó, chứng minh hiệu quả của guidance.
Sự trỗi dậy của Diffusion LLMs
Trong 18 tháng qua, đã có sự gia tăng nhanh chóng của các diffusion LLM thương mại và mã nguồn mở:
LLaDA
- Mở rộng MDLM lên 8 tỷ tham số, mô phỏng cách tiếp cận LLaMA.
- Mã nguồn mở, tương thích với remasking và post-training.
- Báo cáo khả năng mở rộng tốt so với mô hình tự hồi quy.
Mercury (Inception Labs)
- Diffusion LLM thương mại đầu tiên.
- Điểm khác biệt là tốc độ: vượt quá 1.000 token/giây/người dùng trên GPU tiêu chuẩn.
- Mercury 2 cạnh tranh với các mô hình tối ưu tốc độ (Claude Haiku, Gemini Flash-Lite/Flash) với tốc độ nhanh gấp 5-10 lần.
Gemma Diffusion (Google)
- Mã nguồn mở, được hỗ trợ rộng rãi trong Unsloth và Hugging Face.
- Kết hợp nền tảng UDLM, block diffusion, kiến trúc encoder-decoder.
- Dịch chuyển nút thắt cổ chai từ băng thông bộ nhớ sang tính toán.
Nemotron Diffusion (NVIDIA)
- Mã nguồn mở, được huấn luyện với mục tiêu kết hợp tự hồi quy và khuếch tán.
- Mở rộng lên 35 tỷ tham số.
- Thông lượng gấp 2-8 lần so với mô hình tự hồi quy, giữ lại tới 99% chất lượng.
Viễn cảnh tương lai
Câu hỏi lớn được đặt ra: liệu diffusion models có thể mang lại những cải tiến căn bản về trí thông minh so với mô hình tự hồi quy hay không?
Từ góc độ quy luật mở rộng (scaling laws), có một lập luận thú vị:
- Sự tiến bộ về trí thông minh từ 2019-2024 đến chủ yếu từ việc mở rộng tiền huấn luyện (pre-training). Điều này có được nhờ kiến trúc transformer, vốn là thuật toán huấn luyện song song hoàn toàn, tận dụng được GPU.
- RNNs không bao giờ dẫn đến sự bùng nổ pre-training vì chúng là thuật toán tuần tự, không thể tận dụng GPU hiệu quả.
- Từ 2024, các cải tiến về trí thông minh chủ yếu đến từ việc mở rộng post-training và inference-time compute. Nhưng cả hai đều bị giới hạn bởi tốc độ tạo sinh, vốn là thuật toán tuần tự.
- Nếu inference có thể song song hóa, như đã làm với training, kết quả có thể thúc đẩy trí thông minh một cách ấn tượng như trước đây với pre-training.
"Diffusion có thể đối với quy luật mở rộng inference-time và post-training như transformer đã làm với RNN cho quy luật mở rộng pre-training." — Quan điểm của tác giả bài viết.
Kết luận
Lĩnh vực diffusion language models đã phát triển bùng nổ trong hai năm qua với các bản phát hành sản xuất từ nhiều phòng thí nghiệm hàng đầu. Diffusion mang lại những lợi thế tiềm năng so với mô hình tự hồi quy về:
- Tốc độ: Nhanh hơn tới 10 lần nhờ tạo sinh song song.
- Khả năng kiểm soát: Tinh chỉnh lặp để tạo ra dữ liệu có thuộc tính mục tiêu.
- Đa phương thức: Một cách tiếp cận thuật toán thống nhất cho cả hình ảnh và văn bản.
- Mở rộng theo thời gian inference: Khả năng tận dụng thêm sức mạnh tính toán.
Diffusion chưa được mở rộng đến cùng tham số, sức mạnh tính toán và dữ liệu như mô hình tự hồi quy, nhưng các thử nghiệm ở quy mô lên đến 100 tỷ tham số cho thấy những triển vọng đáng kể. Nếu có thể song song hóa hoàn toàn quá trình suy luận, diffusion có tiềm năng tạo ra bước nhảy vọt về trí thông minh nhân tạo, tương tự như transformer đã làm cho quá trình tiền huấn luyện.


