Buckets:

hf-doc-build/doc / diffusers /main /id /api /schedulers /entropy_bound.md
mishig's picture
|
download
raw
5.02 kB
# EntropyBoundScheduler
[Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking](https://huggingface.co/papers/2505.24857) mengusulkan `EntropyBoundScheduler`, yang mengunci posisi dengan entropi terendah yang entropi gabungan 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](/docs/diffusers/main/id/api/pipelines/diffusion_gemma#diffusers.DiffusionGemmaPipeline).
## EntropyBoundScheduler[[diffusers.EntropyBoundScheduler]]
#### diffusers.EntropyBoundScheduler[[diffusers.EntropyBoundScheduler]]
```python
diffusers.EntropyBoundScheduler(entropy_bound: float = 0.1, t_max: float = 0.8, t_min: float = 0.4, num_inference_steps: int = 32)
```
[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_entropy_bound.py#L51)
**Parameter:**
entropy_bound (`float`, default 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`, default 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[[diffusers.EntropyBoundScheduler.step]]
```python
step(model_output: torch.Tensor, timestep: int | torch.Tensor, sample: torch.LongTensor, entropy_bound: float | None = None, generator: torch.Generator | None = None, return_dict: bool = True)
```
[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_entropy_bound.py#L118)
**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*) : Menimpa batas entropi yang dikonfigurasi untuk langkah ini.
generator (`torch.Generator`, *opsional*) : RNG untuk sampling.
return_dict (`bool`) : Apakah akan mengembalikan [EntropyBoundSchedulerOutput](/docs/diffusers/main/id/api/schedulers/entropy_bound#diffusers.EntropyBoundSchedulerOutput) atau tuple biasa.
Terima posisi dengan entropi terendah di bawah batas entropi dan lakukan renoise pada sisanya.
## EntropyBoundSchedulerOutput[[diffusers.EntropyBoundSchedulerOutput]]
#### diffusers.EntropyBoundSchedulerOutput[[diffusers.EntropyBoundSchedulerOutput]]
```python
diffusers.EntropyBoundSchedulerOutput(prev_sample: torch.LongTensor, accepted_index: torch.BoolTensor, sampled_tokens: torch.LongTensor, sampled_probs: torch.Tensor, pred_logits: torch.Tensor)
```
[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_entropy_bound.py#L27)
**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.

Xet Storage Details

Size:
5.02 kB
·
Xet hash:
927a3df9243c36d95163db5fdf91a335d465ad9113b1053f45c140231406e68d

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.