Diffusers documentation

StableAudio3DiTModel

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

StableAudio3DiTModel

نموذج تحويل انتشاري (DiT) لتنبؤ السرعة بتدفق مُصحَّح لتوليد الصوت، يُستخدم في Stable Audio 3.

يُنفّذ كل StableAudio3DiTBlock ما يلي:

  1. الانتباه الذاتي — انتباه متعدد الرؤوس التفاضلي مع تضمينات الموضع الدوارة (RoPE).
  2. الانتباه المتقاطع — ينتبه إلى تسلسل الرموز من مُشفّر النص T5Gemma.
  3. التغذية الأمامية — إسقاط SwiGLU.

يُشترط النموذج على خطوة زمنية (خصائص فورييه أسية → إسقاط خطي) وعلى متجه اشتراط عام (تضمين المدة من StableAudio3DurationEmbedder).

StableAudio3DiTModel

فئة diffusers.StableAudio3DiTModel

< >

( io_channels: int = 256patch_size: int = 1embed_dim: int = 1536depth: int = 24num_heads: int = 24cond_token_dim: int = 768global_cond_dim: int = 768local_add_cond_dim: int = 257timestep_features_dim: int = 256ff_mult: float = 4.0num_memory_tokens: int = 64use_differential_attention: bool = True )

المعاملات

  • io_channels (int، القيمة الافتراضية 256) — عدد القنوات الكامنة.
  • patch_size (int، القيمة الافتراضية 1) — حجم البقعة الزمنية المطبَّق قبل المحوّل.
  • embed_dim (int، القيمة الافتراضية 1536) — بُعد المخفي في Transformer.
  • depth (int، القيمة الافتراضية 24) — عدد طبقات StableAudio3DiTBlock.
  • num_heads (int، القيمة الافتراضية 24) — عدد رؤوس الانتباه.
  • cond_token_dim (int، القيمة الافتراضية 768) — بُعد رموز السياق في الانتباه المتقاطع.
  • global_cond_dim (int) — بُعد تضمين المدة الإجمالية.
  • local_add_cond_dim (int)، القيمة الافتراضية 257 — عدد قنوات الموتر الإضافي المحلي (للتعبئة).
  • timestep_features_dim (int، القيمة الافتراضية 256) — بُعد المخرجات لميزات خطوات الزمن (Fourier timestep features).
  • ff_mult (float، القيمة الافتراضية 4.0) — معامل توسيع الشبكة العصبية الأمامية SwiGLU.
  • num_memory_tokens (int، القيمة الافتراضية 64) — عدد رموز الذاكرة القابلة للتعلّم.
  • use_differential_attention (bool، القيمة الافتراضية True) — تفعيل الانتباه الذاتي/التقاطعي التفاضلي.

هيكل Stable Audio 3 المعتمد على Diffusion Transformer (DiT).

يستقبل النموذج دفعة من الكامنات الصوتية الضجيج، وخطوة زمنية قياسية، وسياق انتباه متقاطع (رموز النص والمدة المُسقطين)، وتضمين مدة عام، ويتنبأ بحقل السرعة (هدف التدفق المُصحَّح).

التكييف:

  • يتم إسقاط سياق الانتباه المتقاطع (encoder_hidden_states) بواسطة to_cond_embed.
  • يُخضع تضمين المدة الزمني (global_hidden_states) للتحويل بواسطة to_global_embed، ثم يُجمع مع تضمين خطوة الزمن، ثم يُوسَّع بواسطة global_cond_embedder إلى تعديل AdaLN لكل كتلة.
  • يُخضع local_add_cond (للتلوين الداخلي) إلى الإسقاط على مستوى كل كتلة بواسطة to_local_embed.

تُضاف رموز قابلة للتعلم بعدد num_memory_tokens إلى بداية تسلسل الصوت داخل المحوّل، ثم تُزال قبل الإسقاط النهائي.

forward

< >

( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorglobal_hidden_states: Tensorencoder_attention_mask: typing.Optional[torch.Tensor] = Nonelocal_add_cond: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True ) → StableAudio3DiTModelOutput or tuple

المعاملات

  • hidden_states (torch.Tensor) — صوت كامن ضوضائي (batch, io_channels, T).
  • timestep (torch.Tensor) — خطوة الانتشار (batch,) ضمن [0, 1].
  • encoder_hidden_states (torch.Tensor) — سياق الانتباه المتقاطع (batch, T_ctx, cond_token_dim).
  • global_hidden_states (torch.Tensor) — تضمين المدة العالمية (batch, global_cond_dim).
  • encoder_attention_mask (torch.Tensor، اختياري) — قناع منطقي (batch, T_ctx)، True = صالح.
  • local_add_cond (torch.Tensor، اختياري) — شرطية إضافة محلية (تعبئة داخلية) (batch, local_add_cond_dim, T).
  • return_dict (bool، القيمة الافتراضية True) — ما إذا كان يجب إرجاع StableAudio3DiTModelOutput.

يعيد

StableAudio3DiTModelOutput أو tuple

حقل السرعة المتوقع، بنفس شكل hidden_states.

StableAudio3DiTBlock

فئة diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTBlock

< >

( dim: intcontext_dim: intdim_heads: int = 64use_differential: bool = Trueff_mult: float = 4.0local_add_cond_dim: int = 257 )

كتلة تحويل DiT واحدة من نوع SA3.

ترتيب العمليات:

  1. انتباه ذاتي مُعدَّل بواسطة AdaLN (RoPE جزئي، تطبيع RMS لـ QK)
  2. انتباه متقاطع إلى سياق النص/المدة (تطبيع مسبق بسيط RMS)
  3. شبكة عصبية أمامية SwiGLU مُعدَّلة بواسطة AdaLN

تعديل AdaLN هو to_scale_shift_gate + global_modulation، مقسّم إلى ستة أجزاء (scale_attn, shift_attn, gate_attn, scale_ff, shift_ff, gate_ff). يتم قياس كل فرع مُبوَّب بواسطة sigmoid(1 - gate). الانتباه المتقاطع ليس مُعدَّلاً بواسطة AdaLN، بما يتوافق مع المرجع (cross_attend_norm هو تطبيع RMS عادي).

عند توفير local_seq (في إعادة الرسم)، يتم إسقاطه لكل كتلة بواسطة to_local_embed وإضافته إلى مواضع الصوت في تدفق المتبقي بعد الانتباه المتقاطع (وقبل التقدّم الأمامي)، بما يتوافق مع المرجع.

StableAudio3DiTModelOutput

فئة diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTModelOutput

< >

( sample: Tensor )

المعاملات

  • sample (torch.Tensor) — حقل السرعة المتوقع، بنفس شكل المدخل hidden_states.

مخرجات StableAudio3DiTModel.

Update on GitHub