# AceStepTransformer1DModel

Одномерный диффузионный трансформер для генерации музыки из [ACE-Step 1.5](https://github.com/ace-step/ACE-Step-1.5). Модель работает со стерео-латентами частотой 25 Гц, полученными с помощью [AutoencoderOobleck](/docs/diffusers/main/ru/api/models/autoencoder_oobleck#diffusers.AutoencoderOobleck), используя flow matching. Обучение выполняется на основе архитектуры, производной от Qwen3 (grouped-query attention, rotary position embedding, RMSNorm, условное кодирование временных шагов через AdaLN-Zero), с добавлением cross-attention на текстовые, лирические и тембровые условия, формируемые `AceStepConditionEncoder`.

## AceStepTransformer1DModel[[diffusers.AceStepTransformer1DModel]]

#### diffusers.AceStepTransformer1DModel[[diffusers.AceStepTransformer1DModel]]

```python
diffusers.AceStepTransformer1DModel(hidden_size: int = 2048, intermediate_size: int = 6144, num_hidden_layers: int = 24, num_attention_heads: int = 16, num_key_value_heads: int = 8, head_dim: int = 128, in_channels: int = 192, audio_acoustic_hidden_dim: int = 64, patch_size: int = 2, rope_theta: float = 1000000.0, attention_bias: bool = False, attention_dropout: float = 0.0, rms_norm_eps: float = 1e-06, sliding_window: int = 128, layer_types: typing.Optional[typing.List[str]] = None, encoder_hidden_size: typing.Optional[int] = None, is_turbo: bool = False, model_version: typing.Optional[str] = None)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/ace_step_transformer.py#L432)

Diffusion Transformer для генерации музыки ACE-Step 1.5.

Генерирует аудио-латенты, обусловленные текстом, текстом песни и тембром. Использует 1D-патч-эмбеддинг (`Conv1d` с шагом `patch_size`), за которым следует стек блоков `AceStepTransformerBlock` с чередующимся скользящим окном / полным вниманием в ветви само-внимания. Кросс-внимание потребляет упакованные `encoder_hidden_states`, сгенерированные `AceStepConditionEncoder`.

#### forward[[diffusers.AceStepTransformer1DModel.forward]]

```python
forward(hidden_states: Tensor, timestep: Tensor, timestep_r: Tensor, encoder_hidden_states: Tensor, context_latents: Tensor, attention_kwargs: typing.Optional[dict] = None, return_dict: bool = True)
```

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/ace_step_transformer.py#L532)

**Параметры:**

hidden_states (`torch.Tensor` формы `(batch_size, seq_len, channels)`) : Шумное латентное входное значение для процесса диффузии.

timestep (`torch.Tensor` формы `(batch_size,)`) : Текущий шаг диффузии `t`.

timestep_r (`torch.Tensor` формы `(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)`) : Латентные контекста (исходные латентные, объединённые с масками чанков) — подаются в свёртку patchify вместе с `hidden_states`.

attention_kwargs (`dict`, *необязательный*) : Словарь kwargs, передаваемый в `AttentionProcessor`. Используется для передачи масштаба LoRA через `{"scale": float}`.

return_dict (`bool`, по умолчанию `True`) : Возвращать ли `Transformer2DModelOutput` или обычный кортеж.

**Возвращает:** `Transformer2DModelOutput` или `tuple`

Предсказанное поле скоростей.

Метод forward модели [AceStepTransformer1DModel](/docs/diffusers/main/ru/api/models/ace_step_transformer#diffusers.AceStepTransformer1DModel).

