AI 하드웨어·소프트웨어 스택
대규모 언어 모델의 추론은 입력 문장을 한꺼번에 처리하는 단계(프리필)와 토큰을 하나씩 출력으로 만드는 단계(디코드)로 나뉜다. 각각의 성능을 주로 결정하는 것의 조합으로 올바른 것은 무엇인가(배치가 작은 경우)?
- A프리필은 메모리 대역폭, 디코드는 연산 성능
- B프리필은 연산 성능, 디코드는 메모리 대역폭
- C둘 다 스토리지의 속도
정답과 해설 보기
정답: B. 프리필은 연산 성능, 디코드는 메모리 대역폭
프리필에서는 입력의 수백~수천 토큰을 한꺼번에 계산하므로 가중치를 많은 토큰에서 재사용할 수 있고, 행렬끼리의 곱이 되어 연산 율속이 됩니다. 디코드에서는 토큰 하나를 만들 때마다 모든 가중치를 읽어 오면서 토큰 한 개분의 계산만 하므로 연산 강도가 낮아 메모리 율속이 됩니다. 그래서 디코드의 속도는 대체로 메모리 대역폭 ÷ 가중치 크기로 결정됩니다.
- A. 반대입니다.
- B. 정답입니다. 디코드는 토큰마다 모든 가중치를 읽습니다.
- C. 추론 중에 가중치는 메모리에 올라가 있습니다.