Buckets:
EntropyBoundScheduler
Le EntropyBoundScheduler valide les positions à plus faible entropie dont l'entropie conjointe reste sous entropy_bound, de sorte que les jetons approximativement indépendants sont acceptés ensemble et que le reste est rebruité. Il annule sa température d'échantillonnage de t_max à la première étape jusqu'à t_min à la dernière, en accord avec l'échantillonneur du point de contrôle publié. Proposé dans Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking.
Ce planificateur est utilisé par 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)
Paramètres :
entropy_bound (float, par défaut 0.1) : L'entropie conjointe maximale tolérée pour les jetons acceptés. Des valeurs plus élevées acceptent plus de jetons par étape.
t_max (float, par défaut 0.8) : Température d'échantillonnage lors de la première étape de débruitage.
t_min (float, par défaut 0.4) : Température d'échantillonnage à la dernière étape de débruitage.
num_inference_steps (int, par défaut 32) : Le nombre maximal d'étapes de débruitage.
Planificateur de limite d'entropie pour le processus de corruption uniforme.
À chaque étape, le planificateur échantillonne un jeton candidat par position et accepte les k positions à plus faible entropie telles que sum_i^k entropy_i - max(entropy_1, ..., entropy_k) <= entropy_bound. Le membre de gauche borne supérieurement l'information mutuelle conjointe entre les jetons acceptés, ce qui les rend approximativement indépendants. Les positions acceptées conservent leur jeton échantillonné ; les autres sont rebruitées avec des jetons aléatoires uniformes (il n'y a pas de jeton de masque).
Proposé dans « Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking » (https://huggingface.co/papers/2505.24857).
La température d'échantillonnage est recuite depuis t_max à la première étape jusqu'à t_min à la dernière, conformément à l'échantillonneur du point de contrôle publié (échantillonnage plus net à mesure que le débruitage progresse). Elle est appliquée aux logits avant à la fois l'échantillonnage des candidats et l'entropie qui pilote l'acceptation.
étape[[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)
Paramètres :
model_output (torch.Tensor de forme (batch_size, block_length, vocab_size)) : Logits bruts du modèle pour le bloc actuel.
timestep (int ou torch.Tensor) : Index de l'étape actuelle dans le calendrier de débruitage ; définit la température d'échantillonnage recuite.
sample (torch.LongTensor de forme (batch_size, block_length)) : ID des jetons du bloc actuel.
entropy_bound (float, facultatif) : Remplace la borne d'entropie configurée pour cette étape.
generator (torch.Generator, facultatif) : générateur de nombres aléatoires pour l'échantillonnage.
return_dict (bool) : Indique s'il faut retourner un EntropyBoundSchedulerOutput ou un simple tuple.
Accepter les positions à plus faible entropie sous la limite d'entropie et rebruitiser le reste.
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)
Paramètres :
prev_sample (torch.LongTensor de forme (batch_size, block_length)) : Jetons de bloc mis à jour après l'étape de débruitage actuelle.
accepted_index (torch.BoolTensor de forme (batch_size, block_length)) : masque booléen des positions acceptées (validées) à cette étape.
sampled_tokens (torch.LongTensor de forme (batch_size, block_length)) : Identifiants de jetons échantillonnés à partir des logits du modèle.
sampled_probs (torch.Tensor de forme (batch_size, block_length)) : Probabilités des jetons échantillonnés.
pred_logits (torch.Tensor de forme (batch_size, block_length, vocab_size)) : les logits mis à l'échelle par la température à partir desquels les candidats ont été tirés, pour l'auto-conditionnement de l'étape suivante.
Classe de sortie pour le planificateur de borne d'entropie.
Xet Storage Details
- Size:
- 5.4 kB
- Xet hash:
- 80435afdf3e9ff36d79323e92a6fed4c305ccffa5aced2871cd19833990ccdaf
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.