# AceStepTransformer1DModel

[ACE-Step 1.5](https://github.com/ace-step/ACE-Step-1.5) 기반의 음악 생성용 1차원 Diffusion Transformer입니다. 이 모델은 [AutoencoderOobleck](/docs/diffusers/main/ko/api/models/autoencoder_oobleck#diffusers.AutoencoderOobleck)가 생성한 25 Hz 스테레오 latents를 flow matching 방식으로 처리하며, Qwen3에서 파생된 backbone(grouped-query attention, rotary position embedding, RMSNorm, AdaLN-Zero timestep conditioning)와 `AceStepConditionEncoder`가 구축한 텍스트/가사/음색 조건에 대한 cross-attention을 결합하여 학습되었습니다.

## 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)

ACE-Step 1.5 음악 생성용 Diffusion Transformer.

텍스트, 가사, 음색에 조건부화된 오디오 잠재 변수를 생성합니다. 1D 패치 임베딩(`patch_size` 스트라이드를 가진 `Conv1d`)을 사용하고, 이후 자기 주의(self-attention) 브랜치에서 슬라이딩 윈도우/전체 주의를 번갈아 사용하는 `AceStepTransformerBlock` 스택을 적용합니다. 교차 주의(cross-attention)는 `AceStepConditionEncoder`가 생성한 패킹된 `encoder_hidden_states`를 사용합니다.

#### 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`, shape `(batch_size, seq_len, channels)`) : diffusion 과정에 사용되는 노이즈가 포함된 latent 입력입니다.

timestep (`torch.Tensor`, shape `(batch_size,)`) : 현재 diffusion timestep `t`.

timestep_r (`torch.Tensor`, shape `(batch_size,)`) : 기준 timestep `r` (표준 추론의 경우 `t`와 동일하게 설정).

encoder_hidden_states (`torch.Tensor`, shape `(batch_size, encoder_seq_len, hidden_size)`) : condition encoder(텍스트 + 가사 + 음색)에서 생성된 조건 임베딩.

context_latents (`torch.Tensor`, shape `(batch_size, seq_len, context_dim)`) : Context latents(컨텍스트 latents, 소스 latents와 chunk masks가 연결된 값) — `hidden_states`와 함께 patchify conv에 입력됩니다.

attention_kwargs (`dict`, *선택 사항*) : `AttentionProcessor`로 전달되는 kwargs 딕셔너리입니다. `{"scale": float}`을 통해 LoRA scale을 전달하는 데 사용됩니다.

return_dict (`bool`, 기본값 `True`) : `Transformer2DModelOutput` 또는 일반 튜플을 반환할지 여부.

**반환값:** `Transformer2DModelOutput` 또는 `tuple`

예측된 속도장.

[AceStepTransformer1DModel](/docs/diffusers/main/ko/api/models/ace_step_transformer#diffusers.AceStepTransformer1DModel)의 forward 메서드입니다.

