Buckets:
StableAudio3DiTModel
Um Diffusion Transformer (DiT) de previsão de velocidade de fluxo retificado para geração de áudio, usado no Stable Audio 3.
Cada StableAudio3DiTBlock executa:
- Autoatenção — atenção multi-cabeça diferencial com incorporações de posição rotativas (RoPE).
- Atenção cruzada — presta atenção à sequência de tokens do codificador de texto T5Gemma.
- Feed-forward — projeção SwiGLU.
O modelo é condicionado em um timestep (recursos de Fourier exponenciais → projeção linear) e em um vetor de condicionamento global (embedding de duração do 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)
Parâmetros:
io_channels (int, padrão 256) : Número de canais latentes.
patch_size (int, padrão 1) : Tamanho do patch temporal aplicado antes do transformer.
embed_dim (int, padrão 1536) : Dimensão oculta do Transformer.
depth (int, padrão 24) : Número de camadas StableAudio3DiTBlock.
num_heads (int, padrão 24) : Número de cabeças de atenção.
cond_token_dim (int, padrão 768) : Dimensão dos tokens de contexto da atenção cruzada.
global_cond_dim (int, padrão 768) : Dimensão do embedding de duração global.
local_add_cond_dim (int, padrão 257) : Canais do tensor local-aditivo (inpaint).
timestep_features_dim (int, padrão 256) : Dimensão de saída dos recursos de passo temporal de Fourier.
ff_mult (float, padrão 4.0) : Fator de expansão do feed-forward SwiGLU.
num_memory_tokens (int, padrão 64) : Número de tokens de memória aprendíveis.
use_differential_attention (bool, padrão True) : Ativa a atenção diferencial self/cross.
O backbone Diffusion Transformer (DiT) do Stable Audio 3.
O modelo recebe um lote de latentes de áudio com ruído, um timestep escalar, um contexto de cross-attention (tokens de texto e duração projetados) e um embedding global de duração, e prevê o campo de velocidade (objetivo de fluxo retificado).
Condição:
- O contexto de atenção cruzada (
encoder_hidden_states) é projetado porto_cond_embed. - O embedding de duração global (
global_hidden_states) é projetado porto_global_embed, somado ao embedding de timestep e, em seguida, expandido porglobal_cond_embedderpara a modulação AdaLN por bloco. local_add_cond(inpainting) é projetado por bloco porto_local_embed.
num_memory_tokens tokens aprendíveis são adicionados ao início da sequência de áudio dentro do transformer e removidos antes da projeção de saída.
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)
Parâmetros:
hidden_states (torch.Tensor) : Áudio latente com ruído (batch, io_channels, T).
timestep (torch.Tensor) : Passo de difusão (batch,) em [0, 1].
encoder_hidden_states (torch.Tensor) : Contexto de atenção cruzada (batch, T_ctx, cond_token_dim).
global_hidden_states (torch.Tensor) : Embedding de duração global (batch, global_cond_dim).
encoder_attention_mask (torch.Tensor, opcional) : Máscara Bool (batch, T_ctx), True = válido.
local_add_cond (torch.Tensor, opcional) : Condição aditiva local (inpaint) (batch, local_add_cond_dim, T).
return_dict (bool, padrão True) : Se deve retornar um StableAudio3DiTModelOutput.
Retorna: StableAudio3DiTModelOutput ou tuple
o campo de velocidade previsto, com a mesma forma de 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)
Bloco único de transformador DiT SA3.
Ordem de operações:
- Autoatenção modulada por AdaLN (RoPE parcial, normalização RMS QK)
- Atenção cruzada para o contexto de texto/duração (pré-norm RMS simples)
- Feed-forward SwiGLU modulado por AdaLN
A modulação AdaLN é to_scale_shift_gate + global_modulation, dividida em seis blocos (scale_attn, shift_attn, gate_attn, scale_ff, shift_ff, gate_ff). Cada ramo com gate é escalado por sigmoid(1 - gate). A atenção cruzada não é modulada por AdaLN, em conformidade com a referência (cross_attend_norm é uma normalização RMS simples).
Quando local_seq é fornecido (inpainting), ele é projetado por bloco por to_local_embed e adicionado às posições de áudio do fluxo residual após a atenção cruzada (e antes do feed-forward), em conformidade com a referência.
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)
Parâmetros:
sample (torch.Tensor) : O campo de velocidade previsto, com a mesma forma que a entrada hidden_states.
A saída de StableAudio3DiTModel.
Xet Storage Details
- Size:
- 6.96 kB
- Xet hash:
- 009f75702fd8affdae602faca26691d4dd6f80a1c5328236b668fe44c93da042
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.