Buckets:
| # BlockRefinementScheduler | |
| يدير `BlockRefinementScheduler` التحسين التكراري على مستوى الكتل لتوزيع الرموز المنفصلة. في كل خطوة، يُثبّت الرموز الأكثر ثقة، ويحرّر اختيارياً الرموز المثبتة مسبقاً عندما يتنبأ النموذج برمز مختلف بثقة عالية. | |
| يُستخدم هذا المجدول بواسطة [LLaDA2Pipeline](/docs/diffusers/main/ar/api/pipelines/llada2#diffusers.LLaDA2Pipeline). | |
| ## BlockRefinementScheduler[[diffusers.BlockRefinementScheduler]] | |
| #### diffusers.BlockRefinementScheduler[[diffusers.BlockRefinementScheduler]] | |
| ```python | |
| diffusers.BlockRefinementScheduler(block_length: int = 32, num_inference_steps: int = 32, threshold: float = 0.95, editing_threshold: float | None = None, minimal_topk: int = 1) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_block_refinement.py#L54) | |
| مجدول لتحسين تكراري على مستوى الكتل (التزام حسب الثقة). | |
| في كل خطوة، يقوم المجدول بسحب رموز مرشحة من قيم النموذج (logits) ويثبّت تلك التي تتمتع بأعلى درجة ثقة. يُحدَّد عدد الرموز التي يجب تثبيتها في كل خطوة من خلال توزيع طول الكتلة بالتساوي على عدد خطوات التحسين. | |
| يدعم التحرير بشكل اختياري: بعد حل جميع رموز الأقنعة، يمكن استبدال الرموز إذا توقع النموذج رمزًا مختلفًا بثقة تتجاوز `editing_threshold` الإيجابي (تعطّل ميزة التحرير عند تعيين `None` أو `0.0` أو قيمة سالبة). | |
| #### add_noise[[diffusers.BlockRefinementScheduler.add_noise]] | |
| ```python | |
| add_noise(original_samples: torch.LongTensor, attention_mask: torch.LongTensor, prompt_length: int, block_length: int, mask_token_id: int, generator: torch.Generator | None = None) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_block_refinement.py#L456) | |
| **المعاملات:** | |
| original_samples (`torch.LongTensor` من الشكل `(batch_size, seq_len)`) : معرّفات الرموز النظيفة. | |
| attention_mask (`torch.LongTensor` من الشكل `(batch_size, seq_len)`) : قناع الحشو (1 للقيم الصالحة، 0 للحشو). | |
| prompt_length (`int`) : عدد رموز الموجّهة الأولية التي يجب إبقاؤها دون إخفاء. | |
| block_length (`int`) : حجم الكتلة للتعتيم. | |
| mask_token_id (`int`) : معرّف الرمز (Token ID) الذي يُستخدم للمواقع المقنّعة. | |
| generator (`torch.Generator`، *اختياري*) : مولّد الأرقام العشوائية (RNG) لضمان قابلية التكرار. | |
| **يعيد:** `tuple[torch.LongTensor, torch.LongTensor, torch.BoolTensor, torch.BoolTensor]` | |
| `(noisy, noisy_rev, masked, masked_rev)` — التسلسلان الضاجّان المتكاملان وأقنعتاهما المنطقية المقابلة. | |
| طبّق العملية الأمامية (إضافة الضوضاء) لتقنية إخفاء الكتل شبه التلقائية. | |
| لكل كتلة بعد الاستعلام، يتم استبدال نسبة عشوائية من الرموز الصالحة (غير الحشو) بـ `mask_token_id`. تُعاد وجهتان متكاملتان: `noisy` و`noisy_rev`، حيث تكون المواضع المقنّعة في إحداهما هي المواضع غير المقنّعة في الأخرى. | |
| #### check_block_should_continue[[diffusers.BlockRefinementScheduler.check_block_should_continue]] | |
| ```python | |
| check_block_should_continue(step_idx: int, masks_remaining: bool, editing_enabled: bool, editing_transfer_index: torch.BoolTensor, post_steps: int, max_post_steps: int, finished: torch.BoolTensor) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_block_refinement.py#L412) | |
| **المعاملات:** | |
| step_idx (`int`) : فهرس خطوة التحسين الحالية داخل هذا الكتلة. | |
| masks_remaining (`bool`) : ما إذا كانت هناك رموز أقنعة متبقية في الكتلة. | |
| editing_enabled (`bool`) : ما إذا كان وضع التحرير نشطًا. | |
| editing_transfer_index (`torch.BoolTensor`) : الرموز التي تم تعديلها في هذه الخطوة. | |
| post_steps (`int`) : عدد خطوات التعديل بعد القناع التي تم اتخاذها حتى الآن. | |
| max_post_steps (`int`) : الحد الأقصى لخطوات التحرير المسموح بها بعد تطبيق القناع. | |
| finished (`torch.BoolTensor`) : أعلام الانتهاء لكل دفعة (من اكتشاف EOS). | |
| **يعيد:** `bool` | |
| `True` إذا كان يجب مواصلة التحسين، `False` للإيقاف. | |
| حدد ما إذا كان يجب استمرار حلقة التكرار الداخلية للتحسين للكتلة الحالية. | |
| #### check_eos_finished[[diffusers.BlockRefinementScheduler.check_eos_finished]] | |
| ```python | |
| check_eos_finished(cur_x: torch.LongTensor, sampled_tokens: torch.LongTensor, final_transfer: torch.BoolTensor, finished: torch.BoolTensor, eos_token_id: int, mask_token_id: int, prompt_length: int) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_block_refinement.py#L362) | |
| **المعاملات:** | |
| cur_x (`torch.LongTensor` من الشكل `(batch_size, seq_len)`) : التسلسل الكامل الحالي بما في ذلك جميع الكتل حتى النافذة الحالية. | |
| sampled_tokens (`torch.LongTensor` من الشكل `(batch_size, block_length)`) : الرموز التي عيّنها المجدول في هذه الخطوة. | |
| final_transfer (`torch.BoolTensor` من الشكل `(batch_size, block_length)`) : قناع مجمّع للمواقع الملتزم بها والمعدّلة. | |
| finished (`torch.BoolTensor` من الشكل `(batch_size,)`) : أعلام الانتهاء الحالية لكل دفعة. | |
| eos_token_id (`int`) : معرّف رمز نهاية الجملة (EOS). | |
| mask_token_id (`int`) : معرّف رمز القناع. | |
| prompt_length (`int`) : عدد رموز الاستدعاء (prompt tokens) في بداية التسلسل. | |
| **يعيد:** `torch.BoolTensor` | |
| تم تحديث أعلام الانتهاء. | |
| حدّث أعلام الانتهاء لكل دفعة عند تثبيت رموز EOS. | |
| #### get_num_transfer_tokens[[diffusers.BlockRefinementScheduler.get_num_transfer_tokens]] | |
| ```python | |
| get_num_transfer_tokens(block_length: int, num_inference_steps: int) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_block_refinement.py#L102) | |
| وزّع التزامات الرموز `block_length` بالتساوي على `num_inference_steps` خطوة. | |
| #### خطوة[[diffusers.BlockRefinementScheduler.step]] | |
| ```python | |
| step(model_output: torch.Tensor, timestep: int | torch.Tensor, sample: torch.LongTensor, mask_token_id: int | None = None, temperature: float = 0.0, top_p: float | None = None, top_k: int | None = None, sampling_method: str = 'auto', threshold: float | None = None, editing_threshold: float | None = None, minimal_topk: int | None = None, prompt_mask: torch.BoolTensor | None = None, generator: torch.Generator | None = None, return_dict: bool = True) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/schedulers/scheduling_block_refinement.py#L181) | |
| **المعاملات:** | |
| model_output (`torch.Tensor` من الشكل `(batch_size, block_length, vocab_size)`) : القيم الخام (logits) من النموذج للكتلة الحالية. | |
| timestep (`int` أو `torch.Tensor`) : فهرس الخطوة الحالية ضمن جدول تحسين الكتلة. | |
| sample (`torch.LongTensor` من الشكل `(batch_size, block_length)`) : معرّفات الرموز الحالية للكتلة (تحتوي على رموز القناع للمواقع غير المؤكدة في الوضع القائم على القناع). | |
| mask_token_id (`int`, *اختياري*) : معرّف الرمز (Token ID) المستخدم للمواقع المقنّعة. عند تعيين `None`، يعمل المجدول في وضع التآكل المنتظم: حيث يتتبع المواقع المُثبَّتة داخليًا (مع إعادة تعيينها عند `timestep == 0`) ويعيد إضافة الضوضاء إلى المواقع غير المُثبَّتة باستخدام رموز عشوائية منتظمة، بما يتوافق مع عيّنة تحسين الكتل في DiffusionGemma. | |
| temperature (`float`) : درجة حرارة العينة. | |
| top_p (`float`، *اختياري*) : حدّ قطع عينات النواة. | |
| top_k (`int`، *اختياري*) : حدّ قطع أخذ العينة Top-k. | |
| sampling_method (`str`) : طريقة أخذ العينات (`auto`، `greedy`، `multinomial`). | |
| threshold (`float`، *اختياري*) : عتبة الثقة لالتزام الرموز. القيمة الافتراضية هي قيمة الإعداد. | |
| editing_threshold (`float`، *اختياري*) : عتبة الثقة لتحرير الرموز غير المقنّعة؛ يجب أن تكون موجبة لتفعيل التحرير. القيمة الافتراضية هي قيمة الإعداد. | |
| minimal_topk (`int`، *اختياري*) : الحد الأدنى لعدد الرموز التي يجب تثبيتها في كل خطوة. القيمة الافتراضية هي قيمة الإعداد. | |
| prompt_mask (`torch.BoolTensor`، *اختياري*) : قناع منطقي (Boolean mask) من الشكل `(block_length,)` حيث يشير `True` إلى مواضع الاستدعاء (prompt) غير القابلة للتحرير. | |
| generator (`torch.Generator`، *اختياري*) : مولّد الأرقام العشوائية (RNG) للعينات. | |
| return_dict (`bool`) : ما إذا كان يجب إرجاع `BlockRefinementSchedulerOutput` أو مجموعة (tuple). | |
| أداء خطوة تحسين واحدة: أخذ عينة من القيم اللوجستية، تثبيت الرموز ذات الثقة العالية، وتعديل الرموز الموجودة اختيارياً. | |
| ## BlockRefinementSchedulerOutput[[diffusers.BlockRefinementSchedulerOutput]] | |
| #### diffusers.BlockRefinementSchedulerOutput[[diffusers.BlockRefinementSchedulerOutput]] | |
| ```python | |
| diffusers.BlockRefinementSchedulerOutput(prev_sample: torch.LongTensor, transfer_index: torch.BoolTensor, editing_transfer_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_block_refinement.py#L27) | |
| **المعاملات:** | |
| prev_sample (`torch.LongTensor` من الشكل `(batch_size, block_length)`) : رموز الكتل المحدّثة بعد خطوة التحسين الحالية. | |
| transfer_index (`torch.BoolTensor` من الشكل `(batch_size, block_length)`) : قناع منطقي يُظهر الرموز التي تم تثبيتها (تعبئة القناع). | |
| editing_transfer_index (`torch.BoolTensor` من الشكل `(batch_size, block_length)`) : قناع منطقي (Boolean mask) يُظهر الرموز التي تم تعديلها (استبدال غير القناع). | |
| 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)`) : قيم اللوجيت الخاصة بإزالة الضوضاء، تُمرَّر لتسهيل التكييف الذاتي في الخطوة التالية. | |
| فئة الإخراج لجدولة تحسين الكتل. | |
Xet Storage Details
- Size:
- 12.2 kB
- Xet hash:
- ac23417fe85d53e14773e1a09b5b3625b13285aeb66d7f12928f5b9582d5045a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.