AI 학습과 추론의 차이점 정리
학습은 데이터를 순전파해 손실을 구하고, 역전파로 기울기를 계산하고, 옵티마이저로 가중치를 업데이트하는 과정을 대량으로 반복해 모델의 가중치를 정하는 처리입니다. 추론은 정해진 가중치로 순전파만 수행해 새로운 입력에 답을 내는 처리입니다. 학습에서는 가중치에 더해 기울기와 옵티마이저 상태, 역전파를 위한 활성화를 저장하므로 같은 모델의 추론보다 훨씬 많은 메모리와 계산이 필요합니다. 추론은 한 번의 계산은 작지만 사용될 때마다 실행되며, 응답 속도가 중시됩니다.
| 비교 항목 | 학습(트레이닝) | 추론(인퍼런스) |
|---|---|---|
| 목적 | 데이터로부터 모델의 가중치를 정함 | 정해진 가중치로 새로운 입력에 답을 냄 |
| 계산 내용 | 순전파 → 손실 계산 → 역전파로 기울기 계산 → 옵티마이저로 가중치 업데이트를 반복 | 순전파만 |
| 계산량 기준 | 입력 하나당 순전파의 약 3배(역전파가 순전파의 약 2배). Transformer에서는 전체로 약 6 × 파라미터 수 × 토큰 수 | 파라미터 수 N인 모델에서 토큰 하나당 약 2N |
| 필요한 메모리 | 가중치, 기울기, 옵티마이저 상태(Adam에서는 2개), 역전파를 위한 활성화. 모두 FP32라면 파라미터당 16바이트에 활성화가 더해짐 | 가중치와 계산 중의 활성화(대규모 언어 모델에서는 KV 캐시도). FP16이라면 파라미터당 2바이트 |
| 수치 형식 | BF16이나 FP16의 혼합 정밀도(마스터 웨이트는 FP32) | FP16이나 BF16, INT8이나 INT4 등으로 양자화한 형식 |
| 배치 크기 | 큰 배치로 묶어 연산기 이용률을 높임 | 응답을 서두를 때는 작게(1인 경우도 있음). 서버에서는 여러 요청을 묶어 효율을 높임 |
| 중시하는 성능 | 처리량(학습을 마칠 때까지의 시간, 연산기 이용률) | 지연 시간(요청 하나에 대한 응답 시간)과 처리량의 양립, 처리당 비용 |
| 하드웨어 | 대용량 HBM과 높은 연산 성능을 가진 GPU나 가속기를 고속 네트워크로 다수 연결 | 데이터센터 GPU나 추론용 가속기부터 스마트폰 NPU나 마이컴까지 폭넓음 |
| 병렬화 | 데이터 병렬, 텐서 병렬, 파이프라인 병렬. 기울기를 올리듀스로 모음 | 여러 요청을 병렬로 처리. 큰 모델은 텐서 병렬 등으로 여러 칩에 나눔 |
| 에너지 | 한 번의 학습에 많은 칩을 장기간 가동해 대량의 전력을 사용 | 한 번은 작지만 사용될 때마다 실행되므로, 이용이 많으면 합계는 커짐 |
수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.