Diffusion Language Models
Model ngôn ngữ khuếch tán tạo văn bản bằng cách bỏ mask nhiều token song song qua một số bước khử nhiễu. Nội dung đề cập đến masked diffusion, LLaDA và Mercury.
Mô hình ngôn ngữ khuếch tán tạo văn bản bằng cách bắt đầu từ một chuỗi bị làm nhiễu hoàn toàn, thường gồm toàn token mask, rồi tinh chỉnh nhiều vị trí song song qua một loạt bước khử nhiễu; trong khi đó, mô hình ngôn ngữ lớn (LLM) thông thường tạo từng token một, từ trái sang phải. Phương pháp này chuyển ý tưởng đằng sau mô hình khuếch tán hình ảnh sang văn bản rời rạc: một quy trình xuôi dần phá hủy chuỗi, còn transformer học cách đảo ngược quy trình đó. Phương pháp này đạt quy mô production vào năm 2025. LLaDA, một model khuếch tán 8 tỷ tham số được huấn luyện từ đầu, đạt kết quả cạnh tranh với LLaMA3 8B trong học trong ngữ cảnh; các model Mercury Coder của Inception Labs đạt tốc độ 1.109 và 737 token mỗi giây trên GPU NVIDIA H100 trong các thử nghiệm độc lập; còn Gemini Diffusion thử nghiệm của Google DeepMind công bố tốc độ lấy mẫu trung bình 1.479 token mỗi giây.
Cách khuếch tán có mask hoạt động#
LLaDA và hầu hết model gần đây khác sử dụng khuếch tán có mask, hay khuếch tán trạng thái hấp thụ. Quy trình xuôi chọn mức nhiễu t trong khoảng từ 0 đến 1 rồi thay mỗi token bằng ký hiệu mask với xác suất t:
import torch
torch.manual_seed(6)
tokens = ["the", "cat", "sat", "on", "the", "warm", "mat", "by", "the", "door"]
# Forward process of a masked diffusion LM: at noise level t, each token is masked with probability t
for t in [0.25, 0.5, 0.75, 1.0]:
masked = torch.rand(len(tokens)) < t
noisy = ["[M]" if m else token for token, m in zip(tokens, masked)]
print(f"t={t:.2f}: {' '.join(noisy)}")Chương trình in câu với lần lượt 2, 5, 8, rồi cuối cùng là cả 10 từ bị mask. Trong quá trình huấn luyện, một transformer không có causal mask nhận một chuỗi như vậy và dự đoán đồng thời mọi token bị mask, sử dụng hàm mất mát cross-entropy trên các vị trí bị mask mà LLaDA nhân trọng số với 1/t. Mục tiêu này khái quát hóa phương pháp mô hình hóa ngôn ngữ bằng mask của BERT, vốn luôn dự đoán 15% số token, cho mọi tỷ lệ mask; đồng thời, phương pháp này chặn trên log-likelihood của model để kết quả trở thành một model sinh đầy đủ.
Quá trình tạo sinh chạy ngược từ t = 1. Ở mỗi bước, model dự đoán tất cả vị trí bị mask, chốt các dự đoán có độ tin cậy cao nhất rồi mask lại phần còn lại — chiến lược mà LLaDA gọi là remasking độ tin cậy thấp. Đầu ra dài thường được tạo theo từng khối, phương pháp được chính thức hóa thành khuếch tán theo khối, để có thể lưu cache các khối trước đó và không cần cố định trước độ dài đầu ra:
Từ D3PM đến các model production#
Năm 2021, D3PM của Google định nghĩa khuếch tán trên các trạng thái rời rạc, bao gồm trạng thái mask hấp thụ mà hiện nay hầu hết model sử dụng. Năm 2022, Diffusion-LM của Stanford khuếch tán embedding từ liên tục của từ để hướng văn bản tạo sinh đến các ràng buộc về cú pháp và chủ đề. SEDD của Aaron Lou, Chenlin Meng và Stefano Ermon, đoạt giải Bài báo xuất sắc nhất ICML 2024, giảm perplexity của các model khuếch tán văn bản trước đó từ 25% đến 75% và vượt GPT-2. Sau đó, LLaDA cho thấy phương pháp này có thể mở rộng đến hàng tỷ tham số; nhờ đọc ngữ cảnh theo cả hai hướng, LLaDA còn vượt GPT-4o trong tác vụ hoàn thành thơ đảo ngược, vốn kiểm tra lỗi đảo ngược của các model trái sang phải. Inception cung cấp Mercury qua API Chat Completions tương thích với OpenAI, vì vậy giao diện LLM của Ultralytics có thể gọi model bằng api="chat.completions" và base_url của Inception, chẳng hạn để chuyển các detection từ YOLO26 thành báo cáo dạng văn bản.
Ưu điểm và đánh đổi#
Việc bỏ mask song song cần ít lượt chạy xuôi hơn số token, đây là nguồn tạo nên tốc độ; chất lượng giảm khi mỗi bước chốt nhiều token hơn nhưng số bước ít hơn. Các token được chốt trong cùng một bước được lấy mẫu độc lập, vì vậy chốt nhiều token cùng lúc có thể tạo ra những tổ hợp không ăn khớp. Mỗi bước cũng attention trên toàn bộ khối theo cả hai hướng, khiến một bước tốn kém hơn một bước tự hồi quy có KV cache. Ngữ cảnh hai chiều giúp việc điền khuyết và chỉnh sửa trở nên tự nhiên: model có thể điền vào chỗ trống giữa một hàm hoặc tài liệu bằng cách dùng văn bản ở cả hai phía, phù hợp với các công cụ hoàn thành mã và lập trình bằng agent có khả năng chỉnh sửa tệp hiện có.
Diffusion LM và các thuật ngữ liên quan#
- Tạo sinh văn bản tự hồi quy: Dự đoán từng token dựa trên các token bên trái, với một lượt chạy xuôi cho mỗi token.
- Khuếch tán hình ảnh: Stable Diffusion và các mô hình khuếch tán tiềm ẩn khác thêm nhiễu Gaussian vào pixel hoặc biểu diễn tiềm ẩn liên tục, thường dùng transformer khuếch tán (DiT) làm bộ khử nhiễu.
- Ép buộc khuếch tán: Gán mức nhiễu riêng cho từng token, kết hợp dự đoán token tiếp theo với khuếch tán toàn chuỗi, chủ yếu dùng cho video và lập kế hoạch.
- Giải mã suy đoán: Tăng tốc model tự hồi quy bằng cách dùng model nhỏ hơn để tạo bản nháp gồm một số token rồi xác minh chúng trong một lượt chạy của model lớn; cách này giữ nguyên phân phối đầu ra của model.










