Diffusers documentation

EntropyBoundScheduler

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

EntropyBoundScheduler

Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking mengusulkan EntropyBoundScheduler, yang mengunci posisi dengan entropi terendah yang entropi gabungannya tetap di bawah entropy_bound, sehingga token yang kira-kira independen diterima bersama dan sisanya di-renoising. Scheduler ini menurunkan suhu samplingnya dari t_max pada langkah pertama hingga t_min pada langkah terakhir, sesuai dengan sampler dari checkpoint yang dirilis.

Scheduler ini digunakan oleh DiffusionGemmaPipeline.

EntropyBoundScheduler

kelas diffusers.EntropyBoundScheduler

< >

( entropy_bound: float = 0.1t_max: float = 0.8t_min: float = 0.4num_inference_steps: int = 32 )

Parameter

  • entropy_bound (float, defaultnya 0.1) — Entropi gabungan maksimum yang ditoleransi untuk token yang diterima. Nilai yang lebih besar menerima lebih banyak token per langkah.
  • t_max (float, default 0.8) — Suhu sampling pada langkah denoising pertama.
  • t_min (float, defaultnya 0.4) — Suhu sampling pada langkah denoising terakhir.
  • num_inference_steps (int, defaultnya 32) — Jumlah maksimum langkah denoising.

Penjadwal batas entropi untuk proses korupsi seragam.

Pada setiap langkah, penjadwal mengambil sampel satu kandidat token per posisi dan menerima k posisi dengan entropi terendah sedemikian rupa sehingga sum_i^k entropy_i - max(entropy_1, ..., entropy_k) <= entropy_bound. Sisi kiri memberikan batas atas bagi informasi bersama (joint mutual information) antara token yang diterima, sehingga token-token tersebut bersifat independen secara aproksimasi. Posisi yang diterima mempertahankan token yang diambil sampelnya; sisanya di-renoising dengan token acak seragam (tidak ada token mask).

Diusulkan dalam “Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking” (https://huggingface.co/papers/2505.24857).

Suhu sampling dianil dari t_max pada langkah pertama hingga t_min pada langkah terakhir, sesuai dengan sampler dari checkpoint yang dirilis (sampling lebih tajam seiring kemajuan denoising). Suhu ini diterapkan ke logits sebelum sampling kandidat dan entropi yang mendorong penerimaan.

langkah

< >

( model_output: torch.Tensortimestep: int | torch.Tensorsample: torch.LongTensorentropy_bound: float | None = Nonegenerator: torch.Generator | None = Nonereturn_dict: bool = True )

Parameter

  • model_output (torch.Tensor dengan bentuk (batch_size, block_length, vocab_size)) — Logit mentah dari model untuk blok saat ini.
  • timestep (int atau torch.Tensor) — Indeks langkah saat ini dalam jadwal denoising; mengatur suhu sampling yang dianil.
  • sample (torch.LongTensor dengan bentuk (batch_size, block_length)) — ID token blok saat ini.
  • entropy_bound (float, opsional) — Menggantikan batas entropi yang dikonfigurasi untuk langkah ini.
  • generator (torch.Generator, opsional) — RNG untuk sampling.
  • return_dict (bool) — Apakah akan mengembalikan EntropyBoundSchedulerOutput atau tuple biasa.

Terima posisi dengan entropi terendah di bawah batas entropi dan lakukan renoise pada sisanya.

EntropyBoundSchedulerOutput

kelas diffusers.EntropyBoundSchedulerOutput

< >

( prev_sample: torch.LongTensoraccepted_index: torch.BoolTensorsampled_tokens: torch.LongTensorsampled_probs: torch.Tensorpred_logits: torch.Tensor )

Parameter

  • prev_sample (torch.LongTensor dengan bentuk (batch_size, block_length)) — Token blok yang diperbarui setelah langkah denoising saat ini.
  • accepted_index (torch.BoolTensor dengan bentuk (batch_size, block_length)) — Mask boolean untuk posisi yang diterima (dikonfirmasi) pada langkah ini.
  • sampled_tokens (torch.LongTensor dengan bentuk (batch_size, block_length)) — ID token yang disampelkan dari logits model.
  • sampled_probs (torch.Tensor dengan bentuk (batch_size, block_length)) — Probabilitas dari token yang disampelkan.
  • pred_logits (torch.Tensor dengan bentuk (batch_size, block_length, vocab_size)) — Logit yang telah diskalakan suhu tempat kandidat diambil, untuk self-conditioning langkah berikutnya.

Kelas output untuk penjadwal batas entropi.

Update on GitHub