# Kandinsky 6 Transformers

يستخدم Kandinsky 6 محوّلاً انتشاريًا متعدد الوسائط (multimodal diffusion transformer) لإزالة الضوضاء من كامنات الفيديو والصوت معًا لتوليد فيديو وصوت من نص أو صورة، كما يستخدم محوّلاً انتشاريًا خاليًا من النص (text-free diffusion transformer) لرفع دقة الفيديو.

## Kandinsky6Transformer3DModel[[diffusers.Kandinsky6Transformer3DModel]]

المحوّل متعدد الوسائط المستخدم في [Kandinsky6TI2VAPipeline](/docs/diffusers/v0.43.0/ar/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline).

```python
import torch
from diffusers import Kandinsky6Transformer3DModel

transformer = Kandinsky6Transformer3DModel.from_pretrained(
    "kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers", subfolder="transformer", torch_dtype=torch.bfloat16
)
```

#### diffusers.Kandinsky6Transformer3DModel[[diffusers.Kandinsky6Transformer3DModel]]

```python
diffusers.Kandinsky6Transformer3DModel(in_visual_dim: int = 16, out_visual_dim: int = 16, in_text_dim: int = 3584, in_text_dim2: int = 768, time_dim: int = 1024, patch_size: tuple = (1, 2, 2), model_dim: int = 4096, ff_dim: int = 16384, num_text_blocks: int = 4, num_visual_blocks: int = 60, axes_dims: tuple = (32, 48, 48), visual_cond: bool = True, in_audio_dim: int = 20, out_audio_dim: int = 20, model_dim_a: int | None = None, time_dim_a: int | None = None, ff_dim_a: int | None = None, axes_dims_a: tuple | None = None, audio_freqs_scaling: float = 1.0, scale_factor: tuple | list[float] = (1.0, 2.0, 2.0), text_token_padding: bool = False, ca_rope: bool = False, cross_gates: bool = False, fix_modulation: bool = False, visual_token_type_num_embeddings: int = 0)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_kandinsky6.py#L591)

**المعاملات:**

in_visual_dim (*int*، *optional*، القيمة الافتراضية 16) : عدد قنوات الكاميرا الكامنة (latent) في الفيديو المُدخل.

out_visual_dim (*int*، *optional*، القيمة الافتراضية 16) : عدد قنوات الكاميرا الكامنة في الفيديو الناتج.

in_text_dim (*int*، *optional*، القيمة الافتراضية 3584) : بُعد تضمين رمز النص.

in_text_dim2 (*int*، *optional*، القيمة الافتراضية 768) : بُعد تمثيل النص المجمّع.

time_dim (*int*، *optional*، القيمة الافتراضية 1024) : بُعد تضمين الوقت.

patch_size (*tuple[int, int, int]*، *اختياري*، القيمة الافتراضية `(1, 2, 2)`) : حجم رقعة الفيديو.

model_dim (*int*، *optional*، القيمة الافتراضية 4096) : بُعد المخفي (hidden dimension) في محوّل الفيديو (Video transformer).

ff_dim (*int*، *optional*، القيمة الافتراضية 16384) : بُعد المخفي للتقدم الأمامي في الفيديو.

num_text_blocks (*int*، *اختياري*، القيمة الافتراضية 4) : عدد كتل النص لكل نمط.

num_visual_blocks (*int*، *اختياري*، القيمة الافتراضية 60) : عدد كتل الفيديو/الصوت المدمجة.

axes_dims (*tuple[int, int, int]*، *اختياري*، القيمة الافتراضية `(32, 48, 48)`) : أبعاد RoPE للفيديو.

visual_cond (*bool*، *اختياري*، القيمة الافتراضية True) : ما إذا كانت قنوات تكييف الفيديو موجودة.

in_audio_dim (*int*، *optional*، القيمة الافتراضية 20) : عدد قنوات الصوت الكامنة للمدخلات.

out_audio_dim (*int*، *optional*، القيمة الافتراضية 20) : عدد قنوات الصوت الكامنة في المخرجات.

model_dim_a (*int*، *اختياري*) : بُعد المخفي لمحوّل الصوت. القيمة الافتراضية هي *model_dim*.

time_dim_a (*int*، *اختياري*) : بُعد تضمين الوقت الصوتي. القيمة الافتراضية هي *time_dim*.

ff_dim_a (*int*، *اختياري*) : بُعد المخفي للتغذية الأمامية للصوت. القيمة الافتراضية هي *ff_dim*.

axes_dims_a (*tuple[int, int, int]*، *اختياري*) : أبعاد Audio RoPE. القيمة الافتراضية هي *axes_dims*.

audio_freqs_scaling (*float*، *optional*، القيمة الافتراضية 1.0) : تحجيم تردد Audio RoPE.

scale_factor (*tuple[float, float, float]*، *اختياري*، القيمة الافتراضية *(1.0, 2.0, 2.0)*) : معامل تحجيم تردد RoPE لكل محور *(t, h, w)* يُطبَّق على مواضع الفيديو.

text_token_padding (*bool*، *اختياري*، القيمة الافتراضية False) : بيانات وصفية لنقطة الحفظ تسجّل ما إذا كانت تسلسلات النص في النموذج المرجعي مُملأة. يقبل *forward* دائمًا *encoder_attention_mask* اختياريًا بغضّ النظر عن هذا العلم؛ أما ما إذا كان يُمرَّر فعليًا فيعتمد بالكامل على المستدعي.

ca_rope (*bool*، *اختياري*، القيمة الافتراضية False) : ما إذا كان سيتم استخدام RoPE الصوتي متعدد الوسائط.

cross_gates (*bool*، *اختياري*، القيمة الافتراضية False) : ما إذا كان سيتم استخدام بوابات المتبقي بين الوسائط.

fix_modulation (*bool*، *اختياري*، القيمة الافتراضية False) : ما إذا كان سيتم استخدام متغير التعديل الثابت.

visual_token_type_num_embeddings (*int*، *اختياري*، القيمة الافتراضية 0) : عدد تضمينات أنواع الرموز البصرية.

Kandinsky 6 محوّل متعدد الوسائط لتوليد الفيديو والصوت من النص أو الصورة.

يتم إزالة الضوضاء من الفيديو والصوت معًا عبر كتل تحويلية مدمجة متعددة الوسائط، حيث تُشترط كل كتلة على فرع النص الخاص بها (رموز Qwen2.5-VL + تضمين مجمّع من CLIP). عند عدم تمرير *audio_hidden_states*، تتم إزالة الضوضاء من الفيديو وحده مع الاستمرار في تشغيل مراحل الانتباه الذاتي للفيديو، والانتباه المتقاطع، وطبقة التغذية الأمامية داخل الكتلة المدمجة. تُحسب التضمينات الدوارة داخل *forward* انطلاقًا من شبكة الرموز.

تُعيّن نقاط التفتيش المُصدَّرة *text_token_padding* و*ca_rope* و*cross_gates* و*fix_modulation* إلى *True* (راجع *transformer/config.json* الخاص بكل نقطة تفتيش)؛ أما القيم الافتراضية *False* فتصف فقط متغيرًا معماريًا لا يوفر هذا المستودع أوزانًا له.

#### forward[[diffusers.Kandinsky6Transformer3DModel.forward]]

```python
forward(hidden_states: Tensor, encoder_hidden_states: Tensor, pooled_projections: Tensor, timestep: Tensor, audio_hidden_states: Tensor | None = None, visual_rope_pos: tuple[Tensor, Tensor, Tensor] | None = None, encoder_attention_mask: Tensor | None = None, visual_token_type_ids: Tensor | None = None, return_dict: bool = True)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_kandinsky6.py#L739)

**المعاملات:**

hidden_states (`torch.Tensor` من الشكل `(batch_size, num_frames, height, width, in_channels)`) : كامنات الفيديو في تخطيط `(B, T, H, W, C)`. عند تعيين `visual_cond=True`، يكون `in_channels` مساوياً لـ `2 * in_visual_dim + 1`: الكامن الضوضائي، والكامن الشرطي، وقناع التشريع.

encoder_hidden_states (`torch.Tensor` من الشكل `(batch_size, sequence_length, in_text_dim)`) : تمثيلات رموز النص، مشتركة بين فرعي النص للفيديو والصوت.

pooled_projections (`torch.Tensor` من الشكل `(batch_size, in_text_dim2)`) : تمثيل نصي مجمّع يُضاف إلى تمثيل خطوة الزمن في كلا الفرعين.

timestep (`torch.Tensor` من الشكل `(batch_size,)`) : خطوة الانتشار على مقياس `[0, num_train_timesteps]`، مشتركة بين كلا النمطين.

audio_hidden_states (`torch.Tensor` من الشكل `(batch_size, audio_length, in_audio_dim)`، *اختياري*) : كامنات الصوت. عند إهماله، تعمل الكتل المدمجة عبر مسار الفيديو فقط.

visual_rope_pos (`tuple[torch.Tensor, torch.Tensor, torch.Tensor]`, *اختياري*) : فهارس الموضع الدوراني `(t, h, w)` لكل محور لرموز الفيديو المقسّمة إلى بقع. القيمة الافتراضية هي `arange` على كل محور. يمرّر خط الأنابيب فهرسًا زمنيًا صريحًا عند إضافة إطار مرجعي يعيد استخدام الموضع `0`.

encoder_attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع تعبئة منطقي لـ`encoder_hidden_states`. مرّر `None` عندما لا يكون هناك تعبئة للموجّه.

visual_token_type_ids (`torch.Tensor` من الشكل `(batch_size, num_frames)`، *اختياري*) : معرّفات أنواع الرموز لكل إطار، مضمّنة عبر `visual_token_type_embeddings`. يتطلب `visual_token_type_num_embeddings > 0`.

return_dict (`bool`، القيمة الافتراضية `True`) : ما إذا كان يجب إرجاع `Kandinsky6TransformerOutput` بدلاً من tuple عادي.

**يعيد:** `Kandinsky6TransformerOutput` أو `tuple`

سرعة الفيديو المتوقعة في التخطيط `(B, T, H, W, out_visual_dim)` و، عند تقديم `audio_hidden_states`، سرعة الصوت المتوقعة ذات الشكل `(B, audio_length, out_audio_dim)`.

## Kandinsky6SRTransformer3DModel[[diffusers.Kandinsky6SRTransformer3DModel]]

المحوّل (Transformer) الخالي من النص الذي يستخدمه [Kandinsky6SRPipeline](/docs/diffusers/v0.43.0/ar/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipeline) لتحسين بلاطة واحدة من الفيديو المُوسَّع في كل مرة.

```python
import torch
from diffusers import Kandinsky6SRTransformer3DModel

transformer = Kandinsky6SRTransformer3DModel.from_pretrained(
    "kandinskylab/Kandinsky-6.0-VSR-distilled2steps-5s-Diffusers", subfolder="transformer", torch_dtype=torch.bfloat16
)
# The transformer always runs NABLA sparse attention (`nabla_threshold`, 0.8 by default) on the `flex` backend.
# Compile it, otherwise flex falls back to an eager implementation that needs far more memory at video resolutions.
transformer.compile_repeated_blocks(fullgraph=True)
```

#### diffusers.Kandinsky6SRTransformer3DModel[[diffusers.Kandinsky6SRTransformer3DModel]]

```python
diffusers.Kandinsky6SRTransformer3DModel(in_visual_dim: int = 64, out_visual_dim: int = 640, time_dim: int = 512, patch_size: tuple[int, int, int] = (1, 1, 1), model_dim: int = 1792, ff_dim: int = 7168, num_visual_blocks: int = 32, axes_dims: tuple[int, int, int] = (16, 24, 24), scale_factor: tuple[float, float, float] = (1.0, 2.0, 2.0), nabla_threshold: float = 0.8, nabla_window: tuple[int, int, int] = (11, 7, 7), tile_sizes: tuple[tuple[int, int], ...] = ((512, 512), (512, 768), (768, 512)))
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_kandinsky6_sr.py#L412)

**المعاملات:**

in_visual_dim (`int`، القيمة الافتراضية `64`) : عدد قنوات الحالة الكامنة في K-VAE.

out_visual_dim (`int`، القيمة الافتراضية `640`) : عدد قنوات الإخراج.

time_dim (`int`، القيمة الافتراضية `512`) : بُعد تضمين خطوة الزمن.

patch_size (`tuple[int, int, int]`، القيمة الافتراضية `(1, 1, 1)`) : حجم البقعة على شكل `(temporal, height, width)`.

model_dim (`int`، القيمة الافتراضية `1792`) : البُعد الخفي للحوّال.

ff_dim (`int`، القيمة الافتراضية `7168`) : البُعد الداخلي لشبكات التغذية الأمامية.

num_visual_blocks (`int`، القيمة الافتراضية `32`) : عدد كتل التحويل.

axes_dims (`tuple[int, int, int]`، القيمة الافتراضية `(16, 24, 24)`) : أبعاد RoPE لكل محور من محاور `(t, h, w)`؛ مجموعها هو بُعد رأس الانتباه.

scale_factor (`tuple[float, float, float]`، القيمة الافتراضية `(1.0, 2.0, 2.0)`) : معامل تحجيم تردد RoPE لكل محور يُطبَّق على مواضع الرموز.

nabla_threshold (`float`، القيمة الافتراضية `0.8`) : عتبة الانتباه التراكمي لاختيار كتل NABLA.

nabla_window (`tuple[int, int, int]`، القيمة الافتراضية هي `(11, 7, 7)`) : أبعاد `(t, h, w)` الفردية للأولوية ذات البلاطات المنزلقة التي يهتم بها كل كتوك 8x8 بشكل دائم.

tile_sizes (`tuple[tuple[int, int], ...]`، القيمة الافتراضية هي `((512, 512), (512, 768), (768, 512))`) : أحجام `(height, width)` بالبكسل للبلاطات التي تم تدريب النموذج عليها. يقوم [Kandinsky6SRPipeline](/docs/diffusers/v0.43.0/ar/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipeline) بتحسين كل بلاطة عند الحجم الذي تكون نسبة أبعاده أقرب إلى نسبة أبعاد الفيديو المُدخل.

محوّل انتشار بدون نص لرفع دقة فيديو Kandinsky 6.

يقوم النموذج بإزالة الضوضاء من بلاطات الفيديو الكامني الخاص بـ K-VAE. يجمع مدخله بين الكامني الضوضائي والكامني المرجعي وقناع المرجع الذي يشترطان على عملية رفع الدقة (`2 * in_visual_dim + 1` قناة)، ويحتوي مخرجه على `out_visual_dim` قناة: `in_visual_dim` لنقطة تحقق السرعة العادية، أو `n_grid * in_visual_dim` موسعة لنقاط التحقق المُقطّرة الخاصة بـ [PiflowScheduler](/docs/diffusers/v0.43.0/ar/api/schedulers/piflow#diffusers.PiflowScheduler). يعمل الانتباه الذاتي للفيديو عبر نمط الكتلة المتناثرة NABLA على واجهة الانتباه `flex`، والتي تتطلب أن يكون شبكة الرموز (`height` و`width` بعد `patch_size`) قابلة للقسمة على 8.

#### forward[[diffusers.Kandinsky6SRTransformer3DModel.forward]]

```python
forward(hidden_states: Tensor, timestep: Tensor, return_dict: bool = True)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_kandinsky6_sr.py#L496)

**المعاملات:**

hidden_states (`torch.Tensor` من الشكل `(batch_size, num_frames, height, width, 2 * in_visual_dim + 1)`) : بلاطات كامنة (Latent tiles) بتنسيق `(B, T, H, W, C)`: الكامنة الضجيجية (noisy latent) والكامنة المرجعية (anchor latent) وقناع المرجع (anchor mask) مدمجة على محور القناة.

timestep (`torch.Tensor` من الشكل `(batch_size,)`) : خطوة الانتشار على مقياس `[0, num_train_timesteps]`.

return_dict (`bool`، القيمة الافتراضية `True`) : ما إذا كان يجب إرجاع [Transformer2DModelOutput](/docs/diffusers/v0.43.0/ar/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) بدلاً من tuple عادي.

**يعيد:** [Transformer2DModelOutput](/docs/diffusers/v0.43.0/ar/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) أو `tuple`

شكل التنبؤ `(batch_size, num_frames, height, width, out_visual_dim)`.

