Buckets:
StableAudio3DiTModel
Diffusion Transformer (DiT) prediksi kecepatan rectified-flow untuk generasi audio, digunakan dalam Stable Audio 3.
Setiap StableAudio3DiTBlock melakukan:
- Self-attention — perhatian multi-kepala diferensial dengan penanam posisi rotasi (RoPE).
- Cross-attention — memperhatikan urutan token dari pengkode teks T5Gemma.
- Feed-forward — Proyeksi SwiGLU.
Model dikondisikan pada timestep (fitur Fourier eksponensial → proyeksi linear) dan vektor kondisioning global (embedding durasi dari 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)
Parameter:
io_channels (int, defaultnya 256) : Jumlah kanal laten.
patch_size (int, defaultnya 1) : Ukuran patch temporal yang diterapkan sebelum transformer.
embed_dim (int, defaultnya 1536) : Dimensi tersembunyi Transformer.
depth (int, defaultnya 24) : Jumlah lapisan StableAudio3DiTBlock.
num_heads (int, defaultnya 24) : Jumlah kepala perhatian.
cond_token_dim (int, defaultnya 768) : Dimensi dari token konteks cross-attention.
global_cond_dim (int, defaultnya 768) : Dimensi dari embedding durasi global.
local_add_cond_dim (int, defaultnya 257) : Saluran dari tensor lokal-aditif (inpaint).
timestep_features_dim (int, defaultnya 256) : Dimensi output dari fitur timestep Fourier.
ff_mult (float, default 4.0) : Faktor ekspansi feed-forward SwiGLU.
num_memory_tokens (int, defaultnya 64) : Jumlah token memori yang dapat dipelajari.
use_differential_attention (bool, defaultnya True) : Aktifkan perhatian diri/silang diferensial.
Backbone Diffusion Transformer (DiT) dari Stable Audio 3.
Model menerima batch dari latens audio berisik, timestep skalar, konteks cross-attention (token teks dan durasi yang diproyeksikan), serta embedding durasi global, lalu memprediksi medan kecepatan (objektif rectified-flow).
Kondisioning:
- Konteks cross-attention (
encoder_hidden_states) diproyeksikan olehto_cond_embed. - Embedding durasi global (
global_hidden_states) diproyeksikan olehto_global_embed, dijumlahkan dengan embedding timestep, kemudian diperluas olehglobal_cond_embeddermenjadi modulasi AdaLN per blok. local_add_cond(inpainting) diproyeksikan per blok olehto_local_embed.
num_memory_tokens token yang dapat dipelajari ditambahkan di awal urutan audio di dalam transformer dan dihapus sebelum proyeksi output.
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)
Parameter:
hidden_states (torch.Tensor) : Audio laten berisik (batch, io_channels, T).
timestep (torch.Tensor) : Timestep difusi (batch,) dalam [0, 1].
encoder_hidden_states (torch.Tensor) : Konteks cross-attention (batch, T_ctx, cond_token_dim).
global_hidden_states (torch.Tensor) : Embedding durasi global (batch, global_cond_dim).
encoder_attention_mask (torch.Tensor, opsional) : Mask Bool (batch, T_ctx), True = valid.
local_add_cond (torch.Tensor, opsional) : Kondisioning aditif lokal (inpaint) (batch, local_add_cond_dim, T).
return_dict (bool, defaultnya True) : Apakah akan mengembalikan StableAudio3DiTModelOutput.
Mengembalikan: StableAudio3DiTModelOutput atau tuple
medan kecepatan yang diprediksi, dengan bentuk yang sama seperti 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)
Blok transformer SA3 DiT tunggal.
Urutan operasi:
- Self-attention yang dimodulasi AdaLN (RoPE parsial, RMS QK-norm)
- Cross-attention ke konteks teks/durasi (pre-norm RMS polos)
- Feed-forward SwiGLU yang dimodulasi oleh AdaLN
Modulasi AdaLN adalah to_scale_shift_gate + global_modulation, yang dipecah menjadi enam bagian (scale_attn, shift_attn, gate_attn, scale_ff, shift_ff, gate_ff). Setiap cabang yang diberi gerbang (gated) diskalakan dengan sigmoid(1 - gate). Cross-attention tidak dimodulasi dengan AdaLN, sesuai dengan referensi (cross_attend_norm adalah RMS norm biasa).
Ketika local_seq diberikan (inpainting), ia diproyeksikan per blok oleh to_local_embed dan ditambahkan ke posisi audio dari residual stream setelah cross-attention (dan sebelum feed-forward), sesuai dengan referensi.
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)
Parameter:
sample (torch.Tensor) : Medan kecepatan yang diprediksi, dengan bentuk yang sama seperti input hidden_states.
Output dari StableAudio3DiTModel.
Xet Storage Details
- Size:
- 6.79 kB
- Xet hash:
- fd926dcc5ab2bb6bd80b0b167b2009b6ca6420c62e81db59515b736ac7c633b8
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.