Buckets:
EntropyBoundScheduler
O EntropyBoundScheduler confirma as posições de menor entropia cuja entropia conjunta permanece abaixo de entropy_bound, de modo que tokens aproximadamente independentes são aceitos juntos e os demais são re-ruídos. Ele anela sua temperatura de amostragem de t_max no primeiro passo até t_min no último, correspondendo ao amostrador do checkpoint liberado. Proposto em Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking.
Este scheduler é usado por DiffusionGemmaPipeline.
EntropyBoundScheduler[[diffusers.EntropyBoundScheduler]]
diffusers.EntropyBoundScheduler[[diffusers.EntropyBoundScheduler]]
diffusers.EntropyBoundScheduler(entropy_bound: float = 0.1, t_max: float = 0.8, t_min: float = 0.4, num_inference_steps: int = 32)
Parâmetros:
entropy_bound (float, padrão 0.1) : A entropia conjunta máxima tolerada dos tokens aceitos. Valores maiores aceitam mais tokens por etapa.
t_max (float, padrão 0.8) : Temperatura de amostragem na primeira etapa de desruidamento.
t_min (float, padrão 0.4) : Temperatura de amostragem na última etapa de desnívelamento.
num_inference_steps (int, padrão 32) : O número máximo de etapas de desruidamento.
Agendador de limite de entropia para o processo de corrupção uniforme.
A cada etapa, o agendador amostra um token candidato por posição e aceita as k posições de menor entropia, de modo que sum_i^k entropy_i - max(entropy_1, ..., entropy_k) <= entropy_bound. O lado esquerdo da equação estabelece um limite superior para a informação mútua conjunta entre os tokens aceitos, o que significa que eles são aproximadamente independentes. As posições aceitas mantêm seu token amostrado; as demais são renormalizadas com tokens aleatórios uniformes (não há um token de máscara).
Proposto em "Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking" (https://huggingface.co/papers/2505.24857).
A temperatura de amostragem é anelada de t_max no primeiro passo até t_min no último, correspondendo ao amostrador do checkpoint liberado (amostragem mais aguda à medida que o desruido avança). Ela é aplicada aos logits antes tanto da amostragem dos candidatos quanto da entropia que dirige a aceitação.
etapa[[diffusers.EntropyBoundScheduler.step]]
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)
Parâmetros:
model_output (torch.Tensor de forma (batch_size, block_length, vocab_size)) : Logits brutos do modelo para o bloco atual.
timestep (int ou torch.Tensor) : Índice do passo atual dentro do agendamento de desruidamento; define a temperatura de amostragem anelada.
sample (torch.LongTensor de forma (batch_size, block_length)) : IDs dos tokens do bloco atual.
entropy_bound (float, opcional) : Substitui o limite de entropia configurado para esta etapa.
generator (torch.Generator, opcional) : RNG para amostragem.
return_dict (bool) : Se deve retornar um EntropyBoundSchedulerOutput ou uma tupla simples.
Aceite as posições de menor entropia dentro do limite de entropia e rebarulhe as demais.
EntropyBoundSchedulerOutput[[diffusers.EntropyBoundSchedulerOutput]]
diffusers.EntropyBoundSchedulerOutput[[diffusers.EntropyBoundSchedulerOutput]]
diffusers.EntropyBoundSchedulerOutput(prev_sample: torch.LongTensor, accepted_index: torch.BoolTensor, sampled_tokens: torch.LongTensor, sampled_probs: torch.Tensor, pred_logits: torch.Tensor)
Parâmetros:
prev_sample (torch.LongTensor de forma (batch_size, block_length)) : Tokens de bloco atualizados após a etapa atual de desruido.
accepted_index (torch.BoolTensor de forma (batch_size, block_length)) : Máscara booleana das posições aceitas (comprometidas) nesta etapa.
sampled_tokens (torch.LongTensor de forma (batch_size, block_length)) : IDs de tokens amostrados dos logits do modelo.
sampled_probs (torch.Tensor de forma (batch_size, block_length)) : Probabilidades dos tokens amostrados.
pred_logits (torch.Tensor de forma (batch_size, block_length, vocab_size)) : Os logits escalados por temperatura dos quais os candidatos foram extraídos, para autocondicionar o próximo passo.
Classe de saída para o agendador de limite de entropia.
Xet Storage Details
- Size:
- 5.06 kB
- Xet hash:
- 4329509cff30c5db50fb247c596bf0295c8186a7350d30af40fdab9f8d99c300
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.