TROISINH
FrontierNew Architectures

Diffusion LM — Noise-and-denoise cho text, generate song song

Hiểu bản chất Diffusion Language Models: tại sao denoise liên tục trong không gian embedding lại cho phép generate text song song thay vì từng token, mở khóa khả năng edit và kiểm soát cao hơn autoregressive.

Generation text thường giống như viết bằng bút lông: một điểm mực nhỏ cũng không sửa được. Diffusion Language Models (Diffusion LM) thay đổi điều này bằng cách coi text generation như quá trình "phác thảo bằng bút chì" — có thể xóa, sửa, và hoàn thiện toàn bộ câu cùng lúc thay vì từng chữ một. Đây là kiến trúc đang nổi lên như một alternative mạnh mẽ cho autoregressive Transformer, đặc biệt khi cần kiểm soát thuộc tính (sentiment, style) và khả năng chỉnh sửa non-destructive.

Vấn đề

Autoregressive (AR) models như GPT buộc phải generate theo kiểu "một chiều" — token thứ 5 một khi đã sinh ra thì không thể sửa dựa trên thông tin ở token thứ 20. Điều này tạo ra "prefix locking": nếu bắt đầu sai hướng, cả câu sau đều lệch. Hơn nữa, AR khó kiểm soát các thuộc tính toàn cục như sentiment hoặc style vì quyết định được đưa ra từng bước nhỏ mà không có cái nhìn tổng thể.

Ví dụ cụ thể: Nếu bạn muốn viết một đoạn văn "tích cực" nhưng GPT bắt đầu bằng từ tiêu cực, bạn không thể "quay lại" và sửa từ đầu tiên mà không regenerate toàn bộ đoạn sau. Đây là giới hạn cơ bản của việc generate từng token một cách tuần tự.

Ý tưởng cốt lõi

Diffusion LM không generate từng token. Nó "tô màu" toàn bộ chuỗi cùng lúc từ một bức tranh nhiễu loạn.

Ý chính chỉ có vậy. Thay vì đi từ trái sang phải, model bắt đầu với một chuỗi hoàn toàn là noise (vector ngẫu nhiên trong không gian embedding), sau đó qua nhiều bước "làm sạch" (denoise) dần dần để thu về text hoàn chỉnh. Mỗi bước denoise xử lý toàn bộ sequence song song, cho phép thông tin từ cuối câu ảnh hưởng đến đầu câu ngay từ bước đầu tiên.

Tại sao điều này khả thi? Vì text tokens là discrete (integer IDs từ 0-50,000), nhưng Gaussian noise chỉ hoạt động trên continuous space. Trick nằm ở embedding bridge: ta ánh xạ token sang không gian vector liên tục (word embeddings), thêm noise vào đó, rồi cho Transformer học cách "dự đoán noise" hoặc "dự đoán vector sạch" tại mỗi timestep.

Phép so sánh "Phác thảo vs. Bút lông":

  • Autoregressive như viết bằng bút lông: Mỗi nét vẽ là vĩnh viễn. Sai từ đầu thì cả bài lệch.
  • Diffusion như vẽ bằng chì: Bạn phác thảo toàn bộ bức tranh thô sơ trước, rồi dần dần tô chi tiết, xóa chỗ này, đậm chỗ kia, cho đến khi hoàn thiện. Bạn có thể thay đổi bố cục tổng thể ngay cả khi đã vẽ xong phần thô.

That's it. Không có bí mật phức tạp. Sự khác biệt nằm ở việc tách biệt quá trình "lên ý tưởng" (không gian latent liên tục) và "viết chữ" (discrete tokens). Điều này cho phép model plan globally trước khi commit locally.

Một misconception phổ biến: "Diffusion cho text chậm hơn vì phải chạy nhiều bước." Thực tế, mỗi bước denoise xử lý song song toàn bộ sequence, trong khi AR phải chạy tuần tự N bước cho N token. Với sequence ngắn, AR nhanh hơn; nhưng với các tác vụ cần nhiều lần chỉnh sửa hoặc generation dài, Diffusion có thể hiệu quả hơn nhờ khả năng parallel.

Tại sao nó hoạt động

Forward Process — Thêm noise có hệ thống: Quá trình forward thêm Gaussian noise vào embedding theo schedule (thường 100-1000 bước): xt=αˉtx0+1αˉtϵx_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1-\bar{\alpha}_t} \epsilon Trong đó x0x_0 là embedding gốc, ϵ\epsilon là noise ngẫu nhiên, và αˉt\bar{\alpha}_t là hệ số schedule giảm dần theo thời gian. Sau T bước, xTx_T gần như là noise thuần túy.

Reverse Process — Học để làm sạch: Model Transformer (thường là biến thể của BERT hoặc GPT) học để dự đoán noise ϵ\epsilon hoặc reconstruct x0x_0 từ xtx_t. Loss function là MSE giữa noise thực và noise dự đoán: L=Ex0,ϵ,t[ϵϵθ(xt,t)2]\mathcal{L} = \mathbb{E}_{x_0, \epsilon, t} \left[ || \epsilon - \epsilon_\theta(x_t, t) ||^2 \right]

Continuous Embedding Bridge: Vấn đề lớn nhất khi áp dụng Diffusion cho text là tính discrete. Diffusion-LM (2022) giải quyết bằng cách:

  1. Chuyển token ID thành embedding vector (qua lookup table)
  2. Thêm noise vào embedding
  3. Ở bước cuối, "làm tròn" (rounding) vector về token gần nhất trong vocabulary

Classifier-Free Guidance (CFG): Đây là lý do Diffusion LM vượt trội về controllability. Trong khi AR phải dùng thủ thuật như PPLM (can thiệp vào hidden states phức tạp), Diffusion LM có thể điều khiển trực tiếp trong không gian continuous bằng cách thêm gradient của classifier vào quá trình denoise: ϵ^θ(xt,t,c)=ϵθ(xt,t,)+w(ϵθ(xt,t,c)ϵθ(xt,t,))\hat{\epsilon}_\theta(x_t, t, c) = \epsilon_\theta(x_t, t, \emptyset) + w \cdot (\epsilon_\theta(x_t, t, c) - \epsilon_\theta(x_t, t, \emptyset)) Với cc là điều kiện (sentiment, style), và ww là guidance scale.

Ý nghĩa thực tế

So sánh với Autoregressive:

Khía cạnhAutoregressive (GPT)Diffusion LM
Chế độ generateTuần tự, từng tokenSong song, toàn bộ chuỗi
Khả năng editKhông thể sửa prefix đã generateCó thể "xóa" và vẽ lại bất kỳ vị trí
ControllabilityKhó kiểm soát thuộc tính toàn cụcDễ dàng điều chỉnh sentiment/style qua guidance
Inference stepsN steps cho N tokens10-128 steps (không phụ thuộc độ dài chuỗi)
KV CacheCó thể dùng KV Cache tối ưuChưa có equivalent hiệu quả

Benchmarks thực tế:

  • Controllability: Diffusion-LM đạt 85%+ accuracy trên sentiment control, so với 60% của PPLM/FUDGE (các phương pháp can thiệp vào AR).
  • Scale: LLaDA-8B (2025) — diffusion model lớn nhất hiện tại — đạt kết quả tương đương LLaMA2-7B trên MMLU (46.5 vs 46.8), HumanEval (13.4 vs 14.0), và GSM8K (15.8 vs 14.6), chứng minh diffusion có thể scale đến LLM regime.
  • Tốc độ: Non-autoregressive cho phép parallel decoding, nhưng cần cân bằng giữa số bước diffusion và chi phí mỗi bước.

Ai đang dùng:

  • Shanghai AI Lab: LLaDA (Large Language Diffusion Model) — model 8B parameter với pre-training + SFT paradigm.
  • Stanford NLP: Diffusion-LM — foundational work cho controllable text generation.
  • Microsoft Research: SpellGen — ứng dụng cho code generation với khả năng refactor và sửa lỗi linh hoạt.

Limitations — Trade-offs cần biết:

  1. Inference latency: Cần nhiều forward passes (10-128 steps) so với 1 pass per token của AR. Mặc dù mỗi pass là parallel, tổng latency có thể cao hơn cho generation ngắn.
  2. Rounding errors: Chiếu từ continuous embedding về discrete token ở bước cuối có thể tạo ra từ vô nghĩa nếu noise schedule quá aggressive.
  3. Ecosystem gap: Chưa có "KV Cache" tương đương cho diffusion, và training infrastructure chưa mature như AR Transformers.
  4. Best-of-both-worlds: Hiện tại, diffusion phù hợp hơn cho các tác vụ cần nhiều lần chỉnh sửa (editing, inpainting cho text) hoặc controllable generation, trong khi AR vẫn dominate streaming generation.

Đào sâu hơn

Paper gốc:

Bài liên quan TroiSinh:

Cùng cụm (new-architectures):

  • Mamba & SSMs — Selective scan thay attention, linear scaling — Cách tiếp cận khác để giải quyết vấn đề quadratic attention.
  • Mamba-2 — SSM = structured matrix multiply, kết nối với linear attention — Hiểu sâu hơn về State Space Duality.
  • Hybrid Attention-SSM (Jamba, Zamba) — SSM + attention khi cần precision — Cách kết hợp hai thế giới linear và quadratic.
  • Linear Attention — Đổi kernel function, quadratic → linear — Alternative khác cho efficient long-context.

Đọc tiếp:

  • Long Context & Position Extrapolation — Các phương pháp mở rộng context window, liên quan đến khả năng xử lý chuỗi dài của các kiến trúc non-autoregressive.
  • Reasoning & RL — GRPO và test-time compute — Khi kết hợp với diffusion, có thể tạo ra các model reasoning với khả năng plan-ahead tốt hơn.

On this page