Diffusers documentation
Cosmos3OmniTransformer
Cosmos3OmniTransformer
نموذج تحويل مشترك للرؤية واللغة من نوع خليط التحويلات (Mixture-of-Transformer) أُدخل كجزء من عائلة نماذج الأساس للعالم Cosmos3 من NVIDIA. يعمل النموذج عبر مساري حساب متوازيين على تسلسل مشترك مضغوط:
- مسار فهم سببي يقوم بالانتباه الذاتي على رموز النص مع استخدام قناع سببي، و
- مسار «توليد» ثنائي الاتجاه يقوم بالانتباه المتقاطع من رموز التوليد (كائنات الرؤية + كائنات الصوت الاختيارية) على مجموعة المفاتيح/القيم الكاملة التي تجمع بين الفهم والتوليد.
تشارك المساران نفس حجم المخفي وعدد الطبقات، لكنهما يحافظان على تحويلات Q/K/V/O ومستقلات MLPs ومعلمات RMSNorm منفصلة، وهو ما يجعل البنية خليطاً من محولات (Mixture-of-Transformer) بدلاً من خليط خبراء قياسي. يتم توفير معلومات الموقع عبر RoPE متعدد الوسائط ثلاثي الأبعاد (mRoPE) الذي يمزج ترددات الزمن/الارتفاع/العرض لكائنات الفيديو الكامنة، ويعيد استخدام محور الزمن للنص والصوت.
يمكن تحميل النموذج على النحو التالي.
import torch
from diffusers import Cosmos3OmniTransformer
transformer = Cosmos3OmniTransformer.from_pretrained(
"nvidia/Cosmos3-Nano", subfolder="transformer", dtype=torch.bfloat16
)Cosmos3OmniTransformer
فئة diffusers.Cosmos3OmniTransformer
< source >( attention_bias: bool = Falseattention_dropout: float = 0.0dtype: str = 'bfloat16'head_dim: int = 128hidden_size: int = 4096intermediate_size: int = 12288base_fps: int = 24enable_fps_modulation: bool = Truelatent_channel: int = 48unified_3d_mrope_reset_spatial_ids: bool = Trueunified_3d_mrope_temporal_modality_margin: int = 15000latent_patch_size: int = 2num_attention_heads: int = 32num_hidden_layers: int = 36num_key_value_heads: int = 8patch_latent_dim: int = 192rms_norm_eps: float = 1e-06rope_scaling: dict | None = Nonerope_theta: float = 5000000.0action_dim: int | None = Noneaction_gen: bool = Falsenum_embodiment_domains: int = 32sound_dim: int | None = Nonesound_gen: bool = Falsesound_latent_fps: float = 25.0timestep_scale: float = 0.001vocab_size: int = 151936hidden_act: str = 'silu'qk_norm_for_text: bool = Trueuse_und_k_norm_for_gen: bool = Falserope_axes_dim: tuple[int, int, int] | list[int] | None = None )
forward
< source >( input_ids: Tensortext_indexes: Tensorposition_ids: Tensorund_len: intsequence_length: intvision_tokens: listvision_token_shapes: listvision_sequence_indexes: Tensorvision_mse_loss_indexes: Tensorvision_timesteps: Tensorvision_noisy_frame_indexes: listsound_tokens: list[torch.Tensor] | None = Nonesound_token_shapes: list[tuple[int, int, int]] | None = Nonesound_sequence_indexes: typing.Optional[torch.Tensor] = Nonesound_mse_loss_indexes: typing.Optional[torch.Tensor] = Nonesound_timesteps: typing.Optional[torch.Tensor] = Nonesound_noisy_frame_indexes: list[torch.Tensor] | None = Noneaction_tokens: list[torch.Tensor] | None = Noneaction_token_shapes: list[tuple[int, int, int]] | None = Noneaction_sequence_indexes: typing.Optional[torch.Tensor] = Noneaction_mse_loss_indexes: typing.Optional[torch.Tensor] = Noneaction_timesteps: typing.Optional[torch.Tensor] = Noneaction_noisy_frame_indexes: list[torch.Tensor] | None = Noneaction_domain_ids: list[torch.Tensor] | None = Nonereturn_dict: bool = True )
المعاملات
- input_ids — معرّفات الرموز النصية الموضوعة عند
text_indexesفي التسلسل المشترك. - text_indexes — فهارس رموز النص في التسلسل المشترك.
- position_ids — معرفات موضع mRoPE للترابط الكامل، بأبعاد
[3, sequence_length]. - und_len — طول بادئة النص السببي (الفهم)؛ تتبعها رموز التوليد.
- sequence_length — الطول الإجمالي للتسلسل المدمج المشترك.
- vision_tokens — تينسورات الكامنة البصرية لكل عنصر قبل تطبيق patchify.
- vision_token_shapes — أشكال شبكة البقع
(T, H, W)لكل عنصر بصري. - vision_sequence_indexes — فهارس رموز الرؤية في التسلسل المشترك.
- vision_mse_loss_indexes — الفهارس المستخدمة لقراءة تنبؤات الرؤية بعد العمود الفقري.
- vision_timesteps — خطوات الانتشار (diffusion timesteps) لكل رقعة (patch) الخاصة برموز الرؤية.
- 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.
نفّذ تمريرةً أماميةً كاملةً لخطوة إزالة الضوضاء.