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.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

EntropyBoundScheduler

EntropyBoundScheduler cam kết các vị trí có entropy thấp nhất mà entropy liên hợp của chúng vẫn nằm dưới entropy_bound, do đó các token gần như độc lập sẽ được chấp nhận cùng nhau và phần còn lại sẽ được renoised. Nó làm nguội nhiệt độ lấy mẫu từ t_max ở bước đầu tiên xuống t_min ở bước cuối, khớp với trình lấy mẫu của checkpoint đã phát hành. Được đề xuất trong Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking.

Trình lập lịch này được sử dụng bởi DiffusionGemmaPipeline.

EntropyBoundScheduler

lớp diffusers.EntropyBoundScheduler

< >

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

Tham số

  • entropy_bound (float, mặc định là 0.1) — Entropy hỗn hợp tối đa được chấp nhận cho các token đã nhận. Giá trị lớn hơn sẽ chấp nhận nhiều token hơn mỗi bước.
  • t_max (float, mặc định là 0.8) — Nhiệt độ lấy mẫu ở bước khử nhiễu đầu tiên.
  • t_min (float, mặc định là 0.4) — Nhiệt độ lấy mẫu ở bước khử nhiễu cuối cùng.
  • num_inference_steps (int, mặc định là 32) — Số bước khử nhiễu tối đa.

Trình lập lịch giới hạn entropy cho quá trình phá hủy đồng đều.

Tại mỗi bước, trình lập lịch lấy mẫu một token ứng viên cho mỗi vị trí và chấp nhận k vị trí có entropy thấp nhất sao cho sum_i^k entropy_i - max(entropy_1, ..., entropy_k) <= entropy_bound. Vế trái đặt ra cận trên cho thông tin tương hỗ liên hợp giữa các token được chấp nhận, do đó chúng gần như độc lập. Các vị trí được chấp nhận giữ nguyên token đã lấy mẫu; các vị trí còn lại được thêm nhiễu lại bằng các token ngẫu nhiên đều (không có token mask).

Được đề xuất trong “Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking” (https://huggingface.co/papers/2505.24857).

Nhiệt độ lấy mẫu được ủ từ t_max ở bước đầu tiên xuống t_min ở bước cuối, khớp với trình lấy mẫu của checkpoint đã phát hành (lấy mẫu sắc nét hơn khi quá trình khử nhiễu tiến triển). Nó được áp dụng lên logits trước cả việc lấy mẫu ứng viên lẫn entropy điều khiển việc chấp nhận.

bước

< >

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

Tham số

  • model_output (torch.Tensor có hình dạng (batch_size, block_length, vocab_size)) — Logits thô từ mô hình cho khối hiện tại.
  • timestep (int hoặc torch.Tensor) — Chỉ số bước hiện tại trong lịch trình khử nhiễu; thiết lập nhiệt độ lấy mẫu đã ủ.
  • sample (torch.LongTensor có hình dạng (batch_size, block_length)) — Các ID token của khối hiện tại.
  • entropy_bound (float, tùy chọn) — Ghi đè giới hạn entropy đã cấu hình cho bước này.
  • generator (torch.Generator, tùy chọn) — RNG để lấy mẫu.
  • return_dict (bool) — Có nên trả về một EntropyBoundSchedulerOutput hay một tuple thông thường.

Chấp nhận các vị trí có entropy thấp nhất dưới ngưỡng entropy và tạo nhiễu lại phần còn lại.

EntropyBoundSchedulerOutput

lớp diffusers.EntropyBoundSchedulerOutput

< >

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

Tham số

  • prev_sample (torch.LongTensor có hình dạng (batch_size, block_length)) — Các token khối đã cập nhật sau bước khử nhiễu hiện tại.
  • accepted_index (torch.BoolTensor có hình dạng (batch_size, block_length)) — Mặt nạ boolean của các vị trí được chấp nhận (cam kết) trong bước này.
  • sampled_tokens (torch.LongTensor có hình dạng (batch_size, block_length)) — Các ID token được lấy mẫu từ logits của mô hình.
  • sampled_probs (torch.Tensor có hình dạng (batch_size, block_length)) — Xác suất của các token được lấy mẫu.
  • pred_logits (torch.Tensor có hình dạng (batch_size, block_length, vocab_size)) — Các logits đã được điều chỉnh theo nhiệt độ mà các ứng viên được lấy ra từ đó, dùng để tự điều kiện cho bước tiếp theo.

Lớp đầu ra cho trình lập lịch giới hạn entropy.

Update on GitHub