Buckets:
| # EntropyBoundScheduler | |
| `EntropyBoundScheduler` фиксирует позиции с наименьшей энтропией, для которых совместная энтропия не превышает `entropy_bound`, благодаря чему приблизительно независимые токены принимаются совместно, а остальные подвергаются повторному шумлению. Температура выборки аннелируется от `t_max` на первом шаге до `t_min` на последнем, что соответствует сэмплеру опубликованной контрольной точки. Предложено в [Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking](https://huggingface.co/papers/2505.24857). | |
| Этот планировщик используется в [DiffusionGemmaPipeline](/docs/diffusers/main/ru/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) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_entropy_bound.py#L51) | |
| **Параметры:** | |
| entropy_bound (`float`, по умолчанию 0.1) : Максимально допустимая совместная энтропия принятых токенов. Большие значения приводят к принятию большего количества токенов на каждом шаге. | |
| t_max (`float`, по умолчанию 0.8) : Температура выборки на первом шаге денойзинга. | |
| t_min (`float`, по умолчанию 0.4) : Температура выборки на последнем шаге денойзинга. | |
| num_inference_steps (`int`, по умолчанию 32) : Максимальное количество шагов денойзинга. | |
| Планировщик с ограничением энтропии для процесса равномерного повреждения. | |
| На каждом шаге планировщик выбирает по одному кандидату на каждую позицию и принимает `k` позиций с наименьшей энтропией, для которых выполняется условие `sum_i^k entropy_i - max(entropy_1, ..., entropy_k) <= entropy_bound`. Левая часть этого выражения является верхней границей для совместной взаимной информации принятых токенов, поэтому они приблизительно независимы. В принятых позициях сохраняется выбранный токен; остальные позиции подвергаются повторному шумлению с использованием равномерно случайных токенов (токен маски не используется). | |
| Предложено в статье «Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking» (https://huggingface.co/papers/2505.24857). | |
| Температура выборки аннелируется от `t_max` на первом шаге до `t_min` на последнем, что соответствует сэмплеру выпущенной контрольной точки (более острый выбор по мере продвижения процесса денойзинга). Она применяется к логитам как перед выборкой кандидатов, так и перед энтропией, определяющей принятие. | |
| #### шаг[[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) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_entropy_bound.py#L118) | |
| **Параметры:** | |
| model_output (`torch.Tensor` формы `(batch_size, block_length, vocab_size)`) : Сырые логиты модели для текущего блока. | |
| timestep (`int` или `torch.Tensor`) : Текущий индекс шага в расписании денойзинга; задает температуру отжига при выборке. | |
| sample (`torch.LongTensor` формы `(batch_size, block_length)`) : ID токенов текущего блока. | |
| entropy_bound (`float`, *необязательный*) : Переопределяет настроенное ограничение энтропии для этого шага. | |
| generator (`torch.Generator`, *необязательный*) : генератор случайных чисел для выборки. | |
| return_dict (`bool`) : Нужно ли возвращать [EntropyBoundSchedulerOutput](/docs/diffusers/main/ru/api/schedulers/entropy_bound#diffusers.EntropyBoundSchedulerOutput) или обычный кортеж. | |
| Принимайте позиции с наименьшей энтропией в пределах заданного порога энтропии и заново добавляйте шум к остальным. | |
| ## 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) | |
| ``` | |
| [Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_entropy_bound.py#L27) | |
| **Параметры:** | |
| prev_sample (`torch.LongTensor` формы `(batch_size, block_length)`) : Обновлённые токены блока после текущего шага денойзинга. | |
| accepted_index (`torch.BoolTensor` формы `(batch_size, block_length)`) : Булева маска позиций, принятых (закреплённых) на этом шаге. | |
| sampled_tokens (`torch.LongTensor` формы `(batch_size, block_length)`) : Идентификаторы токенов, выбранные из логитов модели. | |
| sampled_probs (`torch.Tensor` формы `(batch_size, block_length)`) : Вероятности сэмплированных токенов. | |
| pred_logits (`torch.Tensor` формы `(batch_size, block_length, vocab_size)`) : логиты, масштабированные по температуре, из которых были выбраны кандидаты, для самоусловливания следующего шага. | |
| Класс вывода для планировщика с ограничением энтропии. | |
Xet Storage Details
- Size:
- 7.26 kB
- Xet hash:
- e9e2a587dbabc97991cbd5b524559db72113bbf5382cad0dfe0b79023ecdd911
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.