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

추론에서 배치 크기(한꺼번에 처리하는 입력의 수)를 키우면 전체 처리 효율이 올라가기 쉬운 이유는 무엇인가?

  1. A입력이 많을수록 입력 하나의 계산 횟수가 줄어들기 때문
  2. B배치를 키우면 가중치의 수가 줄어들기 때문
  3. C한 번 읽은 가중치를 여러 입력의 계산에 사용할 수 있어 연산 강도가 올라가고 연산기를 효과적으로 쓸 수 있기 때문
정답과 해설 보기

정답: C. 한 번 읽은 가중치를 여러 입력의 계산에 사용할 수 있어 연산 강도가 올라가고 연산기를 효과적으로 쓸 수 있기 때문

배치 크기가 B이면 가중치 행렬과 B개 벡터의 곱은 가중치 행렬과 폭 B인 행렬의 곱이 됩니다. 가중치 읽기는 같은데 연산은 B배가 되므로 연산 강도도 대략 B배가 되어, 메모리 율속에서 연산 율속에 가까워집니다. 서버에서의 추론은 많은 이용자의 요청을 모아 처리함으로써 GPU를 효율적으로 사용합니다.

  • A. 입력 하나당 계산 횟수는 변하지 않습니다.
  • B. 가중치의 수는 변하지 않습니다.
  • C. 정답입니다. 행렬과 벡터의 곱이 행렬끼리의 곱이 됩니다.
이 분야 연습하기 분야로 돌아가기

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

  1. 추론에서 배치 크기를 지나치게 키웠을 때의 단점으로 올바른 것은 무엇인가?
  2. 대규모 언어 모델의 추론은 입력 문장을 한꺼번에 처리하는 단계(프리필)와 토큰을 하나씩 출력으로 만드는 단계(디코드)로 나뉜다. 각각의 성능을 주로 결정하는 것의 조합으로 올바른 것은 무엇인가(배치가 작은 경우)?
  3. 대규모 언어 모델의 추론에서 사용되는 KV 캐시의 역할로 올바른 것은 무엇인가?
  4. 대규모 언어 모델의 추론에서 긴 문장이나 큰 배치를 다룰 때 문제가 되기 쉬운 것은 무엇인가?
  5. FP16으로 약 14 GB의 가중치를 가진 모델을 메모리 대역폭 2 TB/s의 GPU에서 배치 크기 1로 디코드한다. 토큰 하나를 생성하는 데 걸리는 시간의 하한에 가장 가까운 것은 무엇인가?