Buckets:

hf-doc-build/doc / diffusers /main /ar /api /models /stable_audio_3_transformer.md
mishig's picture
|
download
raw
8.3 kB

StableAudio3DiTModel

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

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

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

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

StableAudio3DiTModel[[diffusers.StableAudio3DiTModel]]

diffusers.StableAudio3DiTModel[[diffusers.StableAudio3DiTModel]]

diffusers.StableAudio3DiTModel(io_channels: int = 256, patch_size: int = 1, embed_dim: int = 1536, depth: int = 24, num_heads: int = 24, cond_token_dim: int = 768, global_cond_dim: int = 768, local_add_cond_dim: int = 257, timestep_features_dim: int = 256, ff_mult: float = 4.0, num_memory_tokens: int = 64, use_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، القيمة الافتراضية 768) : بُعد تضمين المدة الإجمالية.

local_add_cond_dim (int، القيمة الافتراضية 257) : قنوات الموتر الإضافي المحلي (inpaint).

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[[diffusers.StableAudio3DiTModel.forward]]

forward(hidden_states: Tensor, timestep: Tensor, encoder_hidden_states: Tensor, global_hidden_states: Tensor, encoder_attention_mask: typing.Optional[torch.Tensor] = None, local_add_cond: typing.Optional[torch.Tensor] = None, return_dict: bool = True)

المصدر

المعاملات:

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]]

diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTBlock[[diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTBlock]]

diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTBlock(dim: int, context_dim: int, dim_heads: int = 64, use_differential: bool = True, ff_mult: float = 4.0, local_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]]

diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTModelOutput[[diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTModelOutput]]

diffusers.models.transformers.transformer_stable_audio3.StableAudio3DiTModelOutput(sample: Tensor)

المصدر

المعاملات:

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

مخرجات StableAudio3DiTModel.

Xet Storage Details

Size:
8.3 kB
·
Xet hash:
26cea2e044bf21e6cace0f8d8198ca90a789d9d359cf412b446b7864955ef361

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.