AI 하드웨어·소프트웨어 스택
입력이 하나뿐일 때(배치 크기 1), 완전 연결층의 계산(가중치 행렬과 벡터의 곱)이 메모리 율속이 되기 쉬운 이유로 올바른 것은 무엇인가?
- A벡터의 요소 수가 너무 많아 연산기에 다 들어가지 않기 때문
- B행렬과 벡터의 곱은 GPU에서는 계산할 수 없기 때문
- C가중치의 각 요소를 메모리에서 읽어도 한 번의 곱셈-덧셈에만 사용하므로 연산 강도가 매우 낮기 때문
정답과 해설 보기
정답: C. 가중치의 각 요소를 메모리에서 읽어도 한 번의 곱셈-덧셈에만 사용하므로 연산 강도가 매우 낮기 때문
행렬과 벡터의 곱에서는 가중치 행렬의 각 요소를 한 번 읽어 입력의 한 요소와 한 번 곱해 더할 뿐입니다. FP16이면 2바이트당 2번의 연산이므로 연산 강도는 약 1입니다. 가중치를 읽는 데 시간이 걸리고 연산기는 대부분 기다립니다. 같은 가중치를 여러 입력에 사용할 수 있도록 입력을 모으면(배치를 키우면) 연산 강도가 올라갑니다.
- A. 요소 수는 율속의 이유가 아닙니다.
- B. 계산은 가능하지만 메모리 대기가 길어집니다.
- C. 정답입니다. 가중치를 재사용할 수 없습니다.