학습이란 무엇인가
AI 학습은 최적화 과정입니다. 모델은 예제를 처리하고, 학습 시스템은 모델의 출력이 목표를 얼마나 잘 충족하는지 측정합니다. 그런 다음 모델의 학습 가능한 파라미터를 업데이트하고 이 과정을 반복합니다.
그래디언트로 학습하는 신경망의 경우, 하나의 학습 단계에는 보통 다음과 같은 세 가지 핵심 부분이 포함됩니다.
- 모델을 순방향으로 실행하여 출력을 생성합니다.
- 출력이 학습 목표에서 얼마나 벗어났는지를 나타내는 수치인 손실을 계산합니다.
- 다음 출력이 개선되도록 파라미터 변경 사항을 계산하고 적용합니다.
모든 학습 방법이 레이블이 지정된 예제나 동일한 업데이트 알고리즘을 사용하는 것은 아닙니다. 하지만 학습의 정의상 결과는 여전히 학습된 상태의 변화입니다. 즉, 나중에 사용할 수 있는 새로운 파라미터 집합, 업데이트된 어댑터 또는 새로운 체크포인트가 생성됩니다.
추론이란 무엇인가
AI 추론은 학습된 모델을 실행하여 예측, 생성 결과, 점수, 임베딩 또는 기타 출력을 계산하는 과정입니다. 이 연산은 모델에서 선택된 학습 상태를 사용하지만, 그 상태에 학습 업데이트를 적용하지는 않습니다.
챗봇에 프롬프트를 보낼 때, 사기 탐지 모델이 거래에 점수를 매길 때, 또는 기업이 하룻밤 동안 수집된 이미지를 한 번에 배치 처리할 때 추론이 일어날 수 있습니다. 추론은 반드시 실시간일 필요가 없으며, 입력이 문자 그대로 새로운 데이터일 필요도 없습니다. 중요한 점은 해당 연산에서 입력이 모델을 업데이트하기 위해서가 아니라 출력을 얻기 위해 사용된다는 것입니다.
실제 구분 기준
가장 명확한 구분 기준은 모델이 출력을 계산한 뒤 무엇이 일어나는가입니다.
- 학습:목표 신호를 사용해 학습된 상태를 변경합니다.
- 추론:학습된 상태를 고정한 채 출력을 사용합니다.
이는 학습이 느리고 추론이 빠르다거나, 학습은 연구실에서 이루어지고 추론은 제품에서 이루어진다고 말하는 것보다 더 신뢰할 수 있는 구분입니다. 그러한 설명은 흔히 맞지만, 예외를 쉽게 찾을 수 있습니다.
| Dimension | Training | Inference |
|---|---|---|
| Primary purpose | Improve or adapt the model | Produce an output from the model |
| Learned parameters | Updated during the process | Read and used, but not updated by the operation |
| Typical gradient-based work | Forward calculation, objective calculation, backward calculation, optimizer update | Forward model calculation only |
| Input role | Supplies evidence for a learning objective | Supplies the case for which an output is needed |
| Result | Updated parameters, adapter, or checkpoint | Prediction, generation, score, embedding, or action signal |
| Timing | Can be one-off, periodic, or continuous | Can be request-driven, streamed, scheduled, or batched |
| Main system concerns | Learning quality, stability, data, memory, and time to reach an objective | Output quality, latency, throughput, reliability, and cost per workload |
두 단계는 동일한 모델 아키텍처와 상당 부분 동일한 하드웨어를 사용할 수 있습니다. 이러한 유사성이 두 단계의 경계를 없애지는 않습니다. 경계를 결정하는 것은 학습 업데이트의 존재 여부입니다.
구체적인 예
스팸 필터를 구축한다고 가정해 보겠습니다. 다음 수치는 예시일 뿐입니다.
학습 중에 모델은 알려진 레이블이 "스팸"인 이메일을 받습니다. 모델은 해당 이메일에 스팸 점수 0.40을 부여합니다. 학습 시스템은 이 점수를 알려진 레이블과 비교하고, 오차를 계산한 뒤 모델의 파라미터를 조정합니다. 이 과정을 많은 예제에 걸쳐 반복합니다. 이후 저장된 체크포인트는 동일한 학습 이메일에 0.91의 점수를 부여합니다.
이제 필터가 사용자의 수신 이메일을 받는다고 하겠습니다. 추론 중에 저장된 체크포인트는 해당 이메일에 스팸 점수 0.82를 부여합니다. 애플리케이션은 이메일을 스팸 폴더로 옮길 수 있습니다. 하지만 이 작업 자체가 모델에 무언가를 학습시키는 것은 아닙니다. 다음 이메일에 사용되는 파라미터는 그대로 유지됩니다.
나중에 시스템이 검토된 이메일을 수집하고 이를 사용해 모델을 업데이트한다면, 그 이후의 최적화 실행은 학습입니다. 예측과 학습 업데이트는 한쪽이 다른 쪽에 데이터를 제공하더라도 서로 별개의 연산입니다.
각 단계가 중요한 이유
학습 선택 사항은 어떤 동작이 모델의 학습된 상태에 포함될지를 결정합니다. 데이터, 목표, 업데이트 방법, 중단 시점은 모두 사용 가능한 체크포인트에 영향을 줍니다.
추론 선택 사항은 실제 워크로드에서 해당 체크포인트가 어떻게 동작할지를 결정합니다. 팀은 한 사용자에게 빠르게 응답하거나, 대규모 배치를 효율적으로 처리하거나, 예측 가능한 출력 품질을 확보하거나, 이러한 목표 사이의 균형을 맞추는 방향으로 최적화할 수 있습니다.
비용 비교는 시스템에 따라 달라집니다. 한 번의 대규모 학습 실행은 단일 추론 요청보다 훨씬 많은 연산을 소모할 수 있습니다. 하지만 요청 수가 충분히 많은 서비스에서는 추론에 드는 총비용이 더 클 수 있습니다. 모델을 자주 재학습하면 이 균형이 다시 달라질 수 있습니다. 단위와 기간을 명시하지 않고 "학습 비용이 더 많이 든다"고 말하는 것은 불완전한 설명입니다.
사람들이 혼동하는 것
추론은 자동 학습이 아닙니다
AI 애플리케이션은 요청을 처리하는 동안 대화를 저장하거나, 문서를 검색하거나, 캐시를 업데이트하거나, 사용자의 선호를 기억할 수 있습니다. 이는 주변 애플리케이션의 변경입니다. 학습 과정이 모델의 파라미터나 다른 학습된 구성 요소를 변경하지 않는 한, 이러한 작업은 모델 학습이 아닙니다.
평가는 인접한 연산입니다
검증과 테스트는 파라미터 업데이트 없이 모델이 출력을 생성한다는 점에서 추론처럼 보이는 경우가 많습니다. 하지만 목적이 다릅니다. 평가는 모델의 출력을 알려진 정답이나 기준과 비교하여 모델을 측정합니다. 학습 워크플로는 업데이트 라운드 사이에 체크포인트를 평가하기 위해 잠시 중단될 수 있지만, 이러한 평가 과정 자체는 학습 업데이트가 아닙니다.
파인튜닝도 여전히 학습입니다
파인튜닝은 학습되지 않은 모델이 아니라 기존 체크포인트에서 시작합니다. 모델의 모든 파라미터를 업데이트할 수도 있고 더 작은 어댑터만 업데이트할 수도 있습니다. 어느 경우든 목표를 충족하도록 학습된 상태를 변경하므로 학습의 범주에 속합니다.
두 단계는 서로 교차할 수 있습니다
배포된 시스템은 현재 예측을 수행하고, 피드백을 수집한 다음, 나중에 수정된 모델을 학습할 수 있습니다. 온라인 학습에서는 예측 단계와 업데이트 단계를 더 긴밀하게 번갈아 수행하거나 결합할 수 있습니다. 전체 수명 주기는 모호해질 수 있지만, 각 연산이 학습된 상태를 업데이트하는지 여부를 기준으로 연산을 식별할 수 있습니다.
다음 단계
모델을 변경하는 최적화 과정을 알아보려면 AI에서 학습이란 무엇인가?를 읽어 보세요. 학습된 모델이 대화형 시스템과 배치 시스템에서 입력을 출력으로 변환하는 방식을 알아보려면 AI에서 추론이란 무엇인가?를 읽어 보세요.