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

and get access to the augmented documentation experience

to get started

EntropyBoundScheduler

يقوم EntropyBoundScheduler بتثبيت المواضع ذات الإنتروبيا الأدنى التي تبقى إنتروبياها المشتركة دون entropy_bound، بحيث تُقبل الرموز شبه المستقلة معًا ويُعاد تشويش الباقي. وهو يُبرّد درجة حرارة العينة من t_max في الخطوة الأولى إلى t_min في الخطوة الأخيرة، بما يتوافق مع مُعيّن نقاط التفتيش المُصدر. وقد قُدم في Accelerated Sampling from Masked Diffusion Models via Entropy Bounded Unmasking.

يُستخدم هذا المجدول بواسطة DiffusionGemmaPipeline.

EntropyBoundScheduler

فئة diffusers.EntropyBoundScheduler

< >

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

المعاملات

  • 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. يحدد الطرف الأيسر حدًا علويًا للمعلومات المتبادلة المشتركة بين الرموز المقبولة، وبالتالي فهي مستقلة تقريبًا. تحتفظ المواضع المقبولة بالرمز المعين لها؛ بينما تُعاد إضافة الضوضاء للمواضع المتبقية باستخدام رموز عشوائية موحدة (لا يوجد رمز قناع).

قُدم في “https://huggingface.co/papers/2505.24857”

يتم تبريد درجة الحرارة الخاصة بالتعيّن من t_max في الخطوة الأولى إلى t_min في الخطوة الأخيرة، بما يتوافق مع مُعيّن نقطة التفتيش المُصدَرة (تعيّن أكثر حدة مع تقدم إزالة الضوضاء). وتُطبَّق على القيم اللوجستية قبل كلٍّ من تعيّن المرشحين والإنتروبيا التي تُشغّل القبول.

خطوة

< >

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

المعاملات

  • model_output (torch.Tensor من الشكل (batch_size, block_length, vocab_size)) — قيم اللوجيت الخام من النموذج للكتلة الحالية.
  • timestep (int أو torch.Tensor) — مؤشر الخطوة الحالية ضمن جدول إزالة الضوضاء؛ يحدد درجة حرارة العينة المُبرَّدة.
  • sample (torch.LongTensor من الشكل (batch_size, block_length)) — معرّفات الرموز الحالية للكتلة.
  • entropy_bound (float، اختياري) — يتجاوز حد الإنتروبيا المُهيأ لهذه الخطوة.
  • generator (torch.Generator، اختياري) — مولّد الأرقام العشوائية (RNG) للعينات.
  • return_dict (bool) — ما إذا كان يجب إرجاع EntropyBoundSchedulerOutput أو مجرد tuple.

اقبل المواضع ذات الإنتروبيا الأدنى ضمن حد الإنتروبيا وأعدّ الضجيج للباقي.

EntropyBoundSchedulerOutput

فئة diffusers.EntropyBoundSchedulerOutput

< >

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

المعاملات

  • prev_sample (torch.LongTensor من الشكل (batch_size, block_length)) — رموز الكتلة المحدّثة بعد خطوة إزالة الضوضاء الحالية.
  • accepted_index (torch.BoolTensor من الشكل (batch_size, block_length)) — قناع منطقي للمواقع المقبولة (المُثبَّتة) في هذه الخطوة.
  • sampled_tokens (torch.LongTensor من الشكل (batch_size, block_length)) — معرّفات الرموز المُستخرجة من قيم النموذج الاحتمالية (logits).
  • sampled_probs (torch.Tensor من الشكل (batch_size, block_length)) — احتمالات الرموز المُستخرجة.
  • pred_logits (torch.Tensor من الشكل (batch_size, block_length, vocab_size)) — القيم اللوجستية المُقيَّسة بدرجة الحرارة التي سُميت منها المرشحات، لغرض التكييف الذاتي للخطوة التالية.

فئة الإخراج لمجدول حد الإنتروبيا.

Update on GitHub