Ce este Diffusion Transformers (DiT)?

Imagini, sunet și video Peebles și Xie, 2022; Stable Diffusion 3, FLUX.1 Q&A AI / Distribuie cod

Modele de difuzie în care rețeaua U-Net este înlocuită cu un transformer care lucrează pe bucăți (patch-uri) din imaginea latentă; scalează bine cu calculul.

Denumire completă

Arhitectură pentru modele de difuzie bazată pe transformer

Primele modele de difuzie populare pentru imagini, precum Stable Diffusion 1.x și SDXL, foloseau ca rețea principală o U-Net convoluțională, care estimează zgomotul de eliminat la fiecare pas.

Diffusion Transformers (DiT), propuse de William Peebles și Saining Xie în decembrie 2022, înlocuiesc U-Net-ul cu un transformer care lucrează pe patch-uri din imaginea latentă, asemănător tokenilor dintr-un text. Lucrarea a arătat că modelele cu mai mult calcul (transformer mai adânc sau mai lat, ori mai multe patch-uri) au obținut constant imagini mai bune, iar cel mai mare model, DiT-XL/2, a obținut FID 2,27 pe ImageNet 256×256.

Ideea a fost preluată de modele importante: Stable Diffusion 3 (Stability AI, 2024) folosește un transformer cu ponderi separate pentru text și imagine și antrenare de tip rectified flow; FLUX.1 (Black Forest Labs) este un transformer rectified flow de 12 miliarde de parametri; Sora (OpenAI, 2024) a fost descris de OpenAI ca un diffusion transformer pe patch-uri spațio-temporale, iar aplicația și API-ul lui au fost închise în 2026. Pentru folosirea practică a acestor modele, vezi secțiunile ComfyUI și AI pentru audio și video.

Concepte cheie și caracteristici

Concept / Parametru Descriere practică
Patch-uri latente Imaginea latentă este tăiată în pătrate de p × p (în DiT-XL/2, p = 2). Patch-urile mai mici înseamnă mai mulți tokeni, mai mult calcul și, în lucrarea DiT, rezultate mai bune.
Condiționarea Felul în care promptul sau clasa ghidează generarea. DiT-ul original era condiționat pe clase ImageNet; Stable Diffusion 3 lasă tokenii de text și de imagine să comunice în ambele sensuri, în același transformer.
Rectified flow / flow matching Formulări în care drumul dintre zgomot și imagine este o linie dreaptă sau un drum ales special. Lucrarea Stable Diffusion 3 le folosește pentru generare de înaltă rezoluție.
Pași de eșantionare Numărul de pași de eliminare a zgomotului. FLUX.1 [schnell], distilat special, generează în 1–4 pași.

Exemple practice și scenarii reale

Exemplul 1: Generare cu FLUX.1 [schnell] din biblioteca diffusers

Exemplul din fișa modelului de pe Hugging Face. enable_model_cpu_offload() mută părți din model în memoria RAM ca să reducă necesarul de memorie video.

import torch
from diffusers import FluxPipeline

pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-schnell", torch_dtype=torch.bfloat16)
pipe.enable_model_cpu_offload()

prompt = "A cat holding a sign that says hello world"
image = pipe(
    prompt,
    guidance_scale=0.0,
    num_inference_steps=4,
    max_sequence_length=256,
    generator=torch.Generator("cpu").manual_seed(0)
).images[0]
image.save("flux-schnell.png")

Greșeli frecvente și capcane

  • Confuzia DiT cu un model autoregresiv: DiT curăță de zgomot toate patch-urile în paralel, în pași succesivi, nu le generează pe rând, de la stânga la dreapta.
  • Subestimarea memoriei: 12 miliarde de parametri în bfloat16 înseamnă aproximativ 24 GB doar pentru ponderi; pe plăci video mai mici ai nevoie de descărcare parțială în RAM sau de variante cuantizate.
  • Ignorarea licenței: FLUX.1 [schnell] are licența Apache-2.0, dar FLUX.1 [dev] are o licență necomercială.

Noțiuni și module înrudite

Învață AI • Comunitate & Q&A

Întrebări & Discuții: Diffusion Transformers (DiT)

Ai o întrebare despre Diffusion Transformers (DiT) sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.