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

신경망의 '학습'과 '추론'의 차이로 올바른 것은 무엇인가?

  1. A학습은 순전파, 역전파, 가중치 갱신을 반복하여 가중치를 정하고, 추론은 정해진 가중치로 순전파만 수행하여 답을 낸다
  2. B학습도 추론도 순전파만 수행한다
  3. C추론은 가중치를 갱신하고, 학습은 가중치를 사용하지 않는다
정답과 해설 보기

정답: A. 학습은 순전파, 역전파, 가중치 갱신을 반복하여 가중치를 정하고, 추론은 정해진 가중치로 순전파만 수행하여 답을 낸다

학습에서는 입력을 차례로 계산하여 출력을 구하고(순전파), 정답과의 오차를 출력 쪽에서 입력 쪽으로 거슬러 올라가며 각 가중치의 기울기를 구한 뒤(역전파), 기울기에 따라 가중치를 조금씩 고치는 과정을 대량의 데이터로 반복합니다. 추론에서는 학습으로 정해진 가중치를 사용하여 순전파만 수행합니다. 역전파는 순전파의 약 2배의 계산이 필요하고 중간 결과도 저장해야 하므로, 학습은 추론보다 훨씬 무거운 처리입니다.

  • A. 정답입니다. 학습이 계산량도 메모리도 훨씬 많이 필요합니다.
  • B. 학습에서는 역전파와 가중치 갱신도 수행합니다.
  • C. 반대입니다.
이 분야 연습하기 분야로 돌아가기

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

  1. 학습에 필요한 메모리가 같은 모델의 추론보다 훨씬 커지는 이유로 해당하지 않는 것은 무엇인가?
  2. 파라미터 수 70억(7B)의 모델을 가중치, 기울기, Adam의 두 상태를 모두 FP32(4바이트)로 가지고 학습한다. 활성화를 제외하고 필요한 메모리에 가장 가까운 것은 무엇인가?
  3. 파라미터 수 70억(7B)의 모델 가중치를 FP16(2바이트)으로 가지면, 가중치 메모리는 대략 얼마인가?
  4. 앞 문제의 7B 모델을 FP16(약 14 GB)에서 4비트 정수(INT4)로 양자화하면, 가중치 메모리는 대략 얼마가 되는가?
  5. M×K 행렬과 K×N 행렬의 곱을 계산할 때의 부동소수점 연산 횟수(곱셈과 덧셈을 따로 센다)는 대략 얼마인가?