Buckets:

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

StableAudio3DiTModel

Un Diffusion Transformer (DiT) de predicción de velocidad de flujo rectificado para la generación de audio, utilizado en Stable Audio 3.

Cada StableAudio3DiTBlock realiza:

  1. Autoatención — atención multi-cabeza diferencial con incrustaciones de posición rotacional (RoPE).
  2. Atención cruzada — atiende a la secuencia de tokens del codificador de texto T5Gemma.
  3. Feed-forward — Proyección SwiGLU.

El modelo se condiciona en un timestep (características de Fourier exponenciales → proyección lineal) y un vector de condicionamiento global (incrustación de duración desde 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)

Fuente

Parámetros:

io_channels (int, por defecto 256) : Número de canales latentes.

patch_size (int, por defecto 1) : Tamaño de parche temporal aplicado antes del transformer.

embed_dim (int, por defecto 1536) : Dimensión oculta del Transformer.

depth (int, por defecto 24) : Número de capas StableAudio3DiTBlock.

num_heads (int, por defecto 24) : Número de cabezas de atención.

cond_token_dim (int, por defecto 768) : Dimensión de los tokens de contexto de la atención cruzada.

global_cond_dim (int, por defecto 768) : Dimensión del embedding de duración global.

local_add_cond_dim (int, por defecto 257) : Canales del tensor local-aditivo (inpaint).

timestep_features_dim (int, por defecto 256) : Dimensión de salida de las características de paso temporal de Fourier.

ff_mult (float, por defecto 4.0) : Factor de expansión del feed-forward SwiGLU.

num_memory_tokens (int, por defecto 64) : Número de tokens de memoria aprendibles.

use_differential_attention (bool, por defecto True) : Habilita la atención diferencial self/cross.

El backbone Diffusion Transformer (DiT) de Stable Audio 3.

El modelo toma un lote de latentes de audio con ruido, un paso temporal escalar, un contexto de atención cruzada (tokens de texto y duración proyectados) y una incrustación de duración global, y predice el campo de velocidad (objetivo de flujo rectificado).

Condicionamiento:

  • El contexto de atención cruzada (encoder_hidden_states) se proyecta mediante to_cond_embed.
  • El embedding de duración global (global_hidden_states) se proyecta mediante to_global_embed, se suma al embedding del paso de tiempo y luego se expande mediante global_cond_embedder en la modulación AdaLN por bloque.
  • local_add_cond (inpainting) se proyecta por bloque mediante to_local_embed.

Se añaden num_memory_tokens tokens aprendibles al inicio de la secuencia de audio dentro del transformer y se eliminan antes de la proyección de salida.

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)

Fuente

Parámetros:

hidden_states (torch.Tensor) : Audio latente con ruido (batch, io_channels, T).

timestep (torch.Tensor) : Paso de difusión (batch,) en [0, 1].

encoder_hidden_states (torch.Tensor) : Contexto de atención cruzada (batch, T_ctx, cond_token_dim).

global_hidden_states (torch.Tensor) : Incrustación de duración global (batch, global_cond_dim).

encoder_attention_mask (torch.Tensor, opcional) : Máscara booleana (batch, T_ctx), True = válido.

local_add_cond (torch.Tensor, opcional) : Condicionamiento aditivo local (inpaint) (batch, local_add_cond_dim, T).

return_dict (bool, por defecto True) : Si se debe devolver una StableAudio3DiTModelOutput.

Devuelve: StableAudio3DiTModelOutput o tuple

el campo de velocidad predicho, con la misma forma que 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)

Fuente

Bloque de transformador DiT SA3 individual.

Orden de operaciones:

  1. Autoatención modulada por AdaLN (RoPE parcial, normalización RMS QK)
  2. Atención cruzada al contexto de texto/duración (pre-norm RMS simple)
  3. Red neuronal feed-forward SwiGLU modulada por AdaLN

La modulación AdaLN es to_scale_shift_gate + global_modulation, dividida en seis fragmentos (scale_attn, shift_attn, gate_attn, scale_ff, shift_ff, gate_ff). Cada rama con compuerta se escala mediante sigmoid(1 - gate). La atención cruzada no está modulada por AdaLN, lo que coincide con la referencia (cross_attend_norm es una normalización RMS simple).

Cuando se proporciona local_seq (inpainting), se proyecta por bloque mediante to_local_embed y se suma a las posiciones de audio del flujo residual después de la atención cruzada (y antes de la red feed-forward), coincidiendo con la referencia.

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)

Fuente

Parámetros:

sample (torch.Tensor) : El campo de velocidad predicho, con la misma forma que la entrada hidden_states.

La salida de StableAudio3DiTModel.

Xet Storage Details

Size:
7.17 kB
·
Xet hash:
9e9831e4fc6a38bb329183acbea9a67f295573d737dba5a9fb2a409eb8a03bbb

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