

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# FlashAttention 지원
<a name="model-parallel-attention-head-size-for-flash-attention"></a>

FlashAttention 지원은 *분산 변환기* 모델에만 적용할 수 있는 라이브러리 기능이며 이는 모델 병렬 훈련을 위해 [https://sagemaker.readthedocs.io/en/v2.199.0/api/training/smp_versions/latest/smd_model_parallel_pytorch.html#smdistributed-modelparallel-torch-distributedmodel](https://sagemaker.readthedocs.io/en/v2.199.0/api/training/smp_versions/latest/smd_model_parallel_pytorch.html#smdistributed-modelparallel-torch-distributedmodel)로 래핑된 변환기 모델입니다. 이 기능은 [텐서 병렬 처리](model-parallel-extended-features-pytorch-tensor-parallelism.md)과도 호환됩니다.

[FlashAttention](https://github.com/HazyResearch/flash-attention) 라이브러리는 `attention_head_size`가 8의 배수이면서 128 미만의 값으로 설정된 경우에만 모델을 지원합니다. 따라서 분산 변환기를 훈련하고 FlashAttention이 제대로 작동하는지 확인할 때는 어텐션 헤드 크기가 요구 사항을 준수하도록 파라미터를 조정해야 합니다. 자세한 내용은 *FlashAttention GitHub 리포지토리*의 [설치 및 기능](https://github.com/HazyResearch/flash-attention#installation-and-features)을 참조하세요.

예를 들어 `hidden_width=864` 및 `num_heads=48`을 사용하여 변환기 모델을 구성한다고 가정해 보겠습니다. FlashAttention 제목 크기는 `attention_head_size = hidden_width / num_heads = 864 / 48 = 18`과 같이 계산됩니다. FlashAttention을 활성화하려면 `num_heads` 파라미터를 `54`로 조정하여 `attention_head_size = hidden_width / num_heads = 864 / 54 = 16`이 8의 배수가 되도록 조정해야 합니다.