Diffusers documentation
AceStepTransformer1DModel
AceStepTransformer1DModel
ACE-Step 1.5からの音楽生成のための1次元Diffusion Transformerです。このモデルは、AutoencoderOobleckが生成する25 Hzのステレオ潜在変数に対してflow matchingを用いて動作し、Qwen3由来のバックボーン(grouped-query attention、rotary position embedding、RMSNorm、AdaLN-Zeroによるタイムステップ条件付け)と、AceStepConditionEncoderによって構築されるテキスト / 歌詞 / ティンバー条件へのcross-attentionを用いて学習されています。
AceStepTransformer1DModel
クラス diffusers.AceStepTransformer1DModel
< source >( hidden_size: int = 2048intermediate_size: int = 6144num_hidden_layers: int = 24num_attention_heads: int = 16num_key_value_heads: int = 8head_dim: int = 128in_channels: int = 192audio_acoustic_hidden_dim: int = 64patch_size: int = 2rope_theta: float = 1000000.0attention_bias: bool = Falseattention_dropout: float = 0.0rms_norm_eps: float = 1e-06sliding_window: int = 128layer_types: typing.Optional[typing.List[str]] = Noneencoder_hidden_size: typing.Optional[int] = Noneis_turbo: bool = Falsemodel_version: typing.Optional[str] = None )
ACE-Step 1.5の音楽生成用のDiffusion Transformer。
テキスト、歌詞、および音色に条件付けられたオーディオの潜在変数を生成します。1次元パッチ埋め込み(patch_sizeをストライドとするConv1d)の後に、自己注意のブランチでスライディングウィンドウ注意とフル注意を交互に用いるAceStepTransformerBlockのスタックが続きます。クロス注意は、AceStepConditionEncoderによって生成されるパックされたencoder_hidden_statesを消費します。
forward
< source >( hidden_states: Tensortimestep: Tensortimestep_r: Tensorencoder_hidden_states: Tensorcontext_latents: Tensorattention_kwargs: typing.Optional[dict] = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple
パラメータ
- hidden_states (
torch.Tensor、形状(batch_size, seq_len, channels)) — 拡散プロセス用のノイズ付き潜在入力です。 - timestep (
torch.Tensor、形状(batch_size,)) — 現在の拡散タイムステップt。 - timestep_r (
torch.Tensor、shape(batch_size,)) — 参照タイムステップr(標準的な推論ではtと等しく設定されます)。 - encoder_hidden_states (
torch.Tensor、形状(batch_size, encoder_seq_len, hidden_size)) — 条件エンコーダー(テキスト + 歌詞 + ティンバー)からの条件付け埋め込み。 - context_latents (
torch.Tensor、形状(batch_size, seq_len, context_dim)) — コンテキスト潜在変数(チャンクマスクと連結されたソース潜在変数)—hidden_statesとともにパッチ化畳み込みに渡されます。 - attention_kwargs (
dict, 任意) —AttentionProcessorに渡される kwargs の辞書です。LoRA のスケールを{"scale": float}として渡すために使用します。 - return_dict (
bool、デフォルトはTrue) —Transformer2DModelOutputを返すか、通常のタプルを返すかを指定します。
戻り値
Transformer2DModelOutputまたはtuple
予測された速度場。
AceStepTransformer1DModelのforwardメソッドです。