시작하기무료로 시작하기

멀티헤드 어텐션 구현

직접 MultiHeadAttention 클래스를 구현하기 전에, 이 클래스를 먼저 사용해 보면서 query, key, value 행렬이 어떻게 변환되는지 살펴보겠습니다. 이 행렬들은 학습된 가중치를 사용하는 선형 변환으로 입력 임베딩을 투영해 생성된다는 점을 떠올려 주세요.

query, key, value 행렬은 이미 준비되어 있으며, MultiHeadAttention도 미리 정의되어 있습니다.

이 연습은 강의의 일부입니다

PyTorch로 배우는 Transformer 모델

강의 보기

연습 안내

  • 어텐션 헤드를 8개로 하고, 입력 임베딩 차원을 512로 하는 어텐션 매개변수를 정의하세요.
  • 위에서 정의한 매개변수로 MultiHeadAttention 클래스의 인스턴스를 생성하세요.
  • query, key, value 행렬을 multihead_attn 메커니즘에 통과시키세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Define attention parameters
d_model = ____
num_heads = ____

# Instantiate a MultiHeadAttention instance
multihead_attn = ____

# Pass the query, key, and value matrices through the mechanism
output = ____
print(output.shape)
코드 편집 및 실행