AI 하드웨어·소프트웨어 스택

Transformer 셀프 어텐션의 계산량은 입력 시퀀스 길이 n에 대해 어떻게 늘어나는가?

  1. An에 비례하여 늘어난다
  2. Bn의 제곱에 비례하여 늘어난다
  3. Cn과 관계없이 일정하다
정답과 해설 보기

정답: B. n의 제곱에 비례하여 늘어난다

셀프 어텐션에서는 각 토큰의 Query와 모든 토큰의 Key 사이의 내적을 계산하여 n×n 가중치 표를 만듭니다. 따라서 계산량과, 단순하게 만들었을 때의 중간 표의 메모리는 시퀀스 길이의 제곱에 비례합니다. 길이가 2배가 되면 어텐션 부분은 4배가 되므로, 긴 문장을 다룰수록 어텐션의 효율이 성능을 좌우합니다.

  • A. 완전 연결층 등의 부분은 n에 비례하지만, 어텐션은 제곱입니다.
  • B. 정답입니다. 모든 토큰의 쌍을 비교하기 때문입니다.
  • C. 길이에 따라 늘어납니다.
이 분야 연습하기 분야로 돌아가기

AI 하드웨어·소프트웨어 스택의 다른 문제

  1. FlashAttention 등 고속 어텐션 구현의 주된 발상으로 올바른 것은 무엇인가?
  2. AI 계산에서 사용되는 '연산 융합(오퍼레이터 퓨전)'의 주된 목적은 무엇인가?
  3. 행렬 곱의 결과에 바이어스를 더하고 ReLU를 통과시키는 처리를 3개의 별개 커널에서 하나로 융합했다. 주로 줄어드는 것은 무엇인가?
  4. XLA, TVM, PyTorch의 컴파일 기능과 같은 AI 컴파일러가 수행하는 주된 처리로 올바른 것은 무엇인가?
  5. AI 프레임워크나 컴파일러에서 사용되는 '계산 그래프'의 설명으로 올바른 것은 무엇인가?