# Cosmos3OmniTransformer

نموذج تحويل مشترك للرؤية واللغة من نوع خليط التحويلات (Mixture-of-Transformer) أُدخل كجزء من عائلة نماذج الأساس للعالم Cosmos3 من NVIDIA. يعمل النموذج عبر مساري حساب متوازيين على تسلسل مشترك مضغوط:

- مسار **فهم سببي** يقوم بالانتباه الذاتي على رموز النص مع استخدام قناع سببي، و
- مسار **«توليد» ثنائي الاتجاه** يقوم بالانتباه المتقاطع من رموز التوليد (كائنات الرؤية + كائنات الصوت الاختيارية) على مجموعة المفاتيح/القيم الكاملة التي تجمع بين الفهم والتوليد.

تشارك المساران نفس حجم المخفي وعدد الطبقات، لكنهما يحافظان على **تحويلات Q/K/V/O ومستقلات MLPs ومعلمات RMSNorm منفصلة**، وهو ما يجعل البنية خليطاً من محولات (Mixture-of-Transformer) بدلاً من خليط خبراء قياسي. يتم توفير معلومات الموقع عبر RoPE متعدد الوسائط ثلاثي الأبعاد (mRoPE) الذي يمزج ترددات الزمن/الارتفاع/العرض لكائنات الفيديو الكامنة، ويعيد استخدام محور الزمن للنص والصوت.

يمكن تحميل النموذج على النحو التالي.

```python
import torch
from diffusers import Cosmos3OmniTransformer

transformer = Cosmos3OmniTransformer.from_pretrained(
    "nvidia/Cosmos3-Nano", subfolder="transformer", dtype=torch.bfloat16
)
```

## Cosmos3OmniTransformer[[diffusers.Cosmos3OmniTransformer]]

#### diffusers.Cosmos3OmniTransformer[[diffusers.Cosmos3OmniTransformer]]

```python
diffusers.Cosmos3OmniTransformer(attention_bias: bool = False, attention_dropout: float = 0.0, dtype: str = 'bfloat16', head_dim: int = 128, hidden_size: int = 4096, intermediate_size: int = 12288, base_fps: int = 24, enable_fps_modulation: bool = True, latent_channel: int = 48, unified_3d_mrope_reset_spatial_ids: bool = True, unified_3d_mrope_temporal_modality_margin: int = 15000, latent_patch_size: int = 2, num_attention_heads: int = 32, num_hidden_layers: int = 36, num_key_value_heads: int = 8, patch_latent_dim: int = 192, rms_norm_eps: float = 1e-06, rope_scaling: dict | None = None, rope_theta: float = 5000000.0, action_dim: int | None = None, action_gen: bool = False, num_embodiment_domains: int = 32, sound_dim: int | None = None, sound_gen: bool = False, sound_latent_fps: float = 25.0, timestep_scale: float = 0.001, vocab_size: int = 151936, hidden_act: str = 'silu', qk_norm_for_text: bool = True, use_und_k_norm_for_gen: bool = False, rope_axes_dim: tuple[int, int, int] | list[int] | None = None)
```

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

#### forward[[diffusers.Cosmos3OmniTransformer.forward]]

```python
forward(input_ids: Tensor, text_indexes: Tensor, position_ids: Tensor, und_len: int, sequence_length: int, vision_tokens: list[torch.Tensor], vision_token_shapes: list[tuple[int, int, int]], vision_sequence_indexes: Tensor, vision_mse_loss_indexes: Tensor, vision_timesteps: Tensor, vision_noisy_frame_indexes: list[torch.Tensor], sound_tokens: list[torch.Tensor] | None = None, sound_token_shapes: list[tuple[int, int, int]] | None = None, sound_sequence_indexes: typing.Optional[torch.Tensor] = None, sound_mse_loss_indexes: typing.Optional[torch.Tensor] = None, sound_timesteps: typing.Optional[torch.Tensor] = None, sound_noisy_frame_indexes: list[torch.Tensor] | None = None, action_tokens: list[torch.Tensor] | None = None, action_token_shapes: list[tuple[int, int, int]] | None = None, action_sequence_indexes: typing.Optional[torch.Tensor] = None, action_mse_loss_indexes: typing.Optional[torch.Tensor] = None, action_timesteps: typing.Optional[torch.Tensor] = None, action_noisy_frame_indexes: list[torch.Tensor] | None = None, action_domain_ids: list[torch.Tensor] | None = None, return_dict: bool = True)
```

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

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

input_ids : معرّفات رموز النص (Text token IDs) المُوضوعة عند `text_indexes` في التسلسل المشترك.

text_indexes : فهارس رموز النص في التسلسل المشترك.

position_ids : `[3, sequence_length]` معرّفات مواضع mRoPE للترابط المشترك الكامل.

und_len : طول بادئة النص السببي (الفهم)؛ تتبعها رموز التوليد.

sequence_length : إجمالي طول التسلسل المعبأ المشترك.

vision_tokens : متجهات الكامنة البصرية لكل عنصر قبل تطبيق تقطيع الباتش.

vision_token_shapes : أشكال شبكات البقع `(T, H, W)` لكل عنصر بصري.

vision_sequence_indexes : فهارس رموز الرؤية في التسلسل المشترك.

vision_mse_loss_indexes : الفهارس المستخدمة لقراءة تنبؤات الرؤية بعد العمود الفقري.

vision_timesteps : خطوات الانتشار لكل رقعة لرموز الرؤية.

vision_noisy_frame_indexes : فهارس الإطارات الضوضائية لكل عنصر بصري.

sound_tokens : متجهات كامنة اختيارية للصوت قبل التعبئة.

sound_token_shapes : أشكال شبكة التصحيح الاختيارية لعناصر الصوت.

sound_sequence_indexes : فهارس اختيارية لرموز الصوت في التسلسل المشترك.

sound_mse_loss_indexes : فهارس اختيارية تُستخدم لقراءة تنبؤات الصوت.

sound_timesteps : خطوات انتشار اختيارية لكل رمز للصوت.

sound_noisy_frame_indexes : فهارس الإطارات الضوضائية الاختيارية لكل عنصر صوتي.

action_tokens : متجهات كامنة اختيارية للإجراء قبل التعبئة.

action_token_shapes : أشكال شبكة التصحيح الاختيارية `(T, H, W)` لكل عنصر إجراء.

action_sequence_indexes : فهارس اختيارية لرموز الإجراء في التسلسل المشترك.

action_mse_loss_indexes : فهارس اختيارية تُستخدم لقراءة تنبؤات الإجراء بعد العمود الفقري.

action_timesteps : خطوات انتشار اختيارية لكل رمز لرموز الإجراء.

action_noisy_frame_indexes : فهارس الإطارات الضوضائية الاختيارية لكل عنصر إجراء.

action_domain_ids : معرّفات المجال لكل عنصر، اختيارية، لاختيار أوزان رأس الإجراء.

return_dict : ما إذا كان يجب إرجاع [*Cosmos3OmniTransformerOutput*] بدلاً من tuple.

**يعيد:**

[*Cosmos3OmniTransformerOutput*] أو مجموعة (tuple) من قوائم التنبؤ لكل نمط. تُرجع الأنماط الاختيارية `None` عند إهمال مدخلاتها.

نفّذ تمريرةً أماميةً كاملةً لخطوة إزالة الضوضاء.

