추론(inference)은 인공지능에서 훈련된 모델을 새로운 입력에 실행하여 출력을 생성하는 과정으로, 모델의 매개변수가 데이터로부터 학습되는 초기 단계인 훈련(training)과 구별된다. 대규모 언어 모델이 사용자의 질문에 답하거나, 이미지 분류기가 사진에 라벨을 붙이거나, 확산 모델이 텍스트 프롬프트에서 이미지를 생성하는 것은 모두 추론을 수행하는 것이다. 훈련이 끝나고 모델의 가중치가 고정되면, 그 모델의 모든 이후 사용은 추론 호출이다.
비용과 하드웨어
추론은 훈련과 다른 계산 요구 사항을 가진다. 대규모 모델을 훈련하려면 방대한 데이터 세트를 여러 번 처리해야 하며, 일반적으로 수 주에서 수 개월에 걸쳐 GPU 또는 TPU의 대규모 클러스터에서 실행된다. 반면 추론은 지속적으로 실행되며, 종종 수백만 건의 개별 요청을 처리하고, 그 비용 구조는 단일 작업이 소비하는 총 계산량보다는 단일 응답을 생성하는 시간인 지연 시간과 하드웨어 단위당 시스템이 처리할 수 있는 요청 수인 처리량에 더 의존한다. 언어 모델은 한 번에 하나의 토큰을 생성하고 각 새 토큰이 이전 토큰에 의존하기 때문에, 자기회귀 모델의 추론은 계산 중심보다는 비교적 느리고 메모리 중심이며, 이는 훈련 중심 연구와 구별되는 특화된 추론 엔지니어링의 물결을 이끌었다. 엔비디아와 다른 칩 제조사들은 추론 작업에 특별히 최적화된 하드웨어를 출시했으며, 클라우드 제공업체는 추론과 훈련 용량을 다르게 가격 책정한다.
최적화 기법
추론 비용은 사용량에 직접 비례하므로 최적화의 주요 대상이다. 양자화는 모델 가중치의 수치 정밀도를 줄여 메모리 사용을 줄이고 종종 약간의 정확도 손실로 계산 속도를 높인다. 지식 증류는 더 작은 모델이 더 큰 모델을 모방하도록 훈련시켜 추론 시 실행 비용이 더 저렴한 모델을 만든다. 추측 디코딩은 작고 빠른 초안 모델을 사용하여 여러 토큰을 한 번에 제안하고, 더 큰 모델이 이를 병렬로 검증하여 긴 출력을 생성하는 데 필요한 느린 순차 단계 수를 줄인다. 여러 사용자의 요청을 함께 배치 처리하고, 어텐션 키-값 캐시와 같은 이전에 계산된 중간 결과를 캐싱하며, 더 간단한 질의를 더 작은 모델로 라우팅하는 것은 대규모 모델 서비스 비용을 낮추는 추가적인 일반적인 기법이다.
테스트 시 계산
추론은 전통적으로 훈련에 비해 고정되고 가벼운 단계로 취급되었지만, 답변 전에 확장된 내부 추론을 생성하는 추론 모델의 등장으로 새로운 차원이 도입되었다. 추론 시 더 많은 계산을 사용하는 접근 방식인 테스트 시 계산은 어려운 문제에서 출력 품질을 상당히 향상시킬 수 있다. 이는 능력에 있어 훈련 시 계산만 중요하다는 기존의 가정을 흐리게 만들었다. 모델이 "더 오래 생각함"으로써 주어진 문제에 대해 추론 비용을 정확도와 맞바꿀 수 있기 때문이다. 이러한 절충은 작업 난이도와 관계없이 고정된 양의 출력을 생성했던 이전 세대 모델에서는 같은 방식으로 존재하지 않았다.
경제성
널리 사용되는 AI 제품은 추론 요청을 지속적으로 처리하기 때문에, 배포된 모델의 장기적 경제성에서는 훈련 비용이 아닌 추론 비용이 지배적이다. AI 인프라 지출에 대한 업계 논의는 사용량이 증가함에 따라 추론 용량에 점점 더 초점을 맞추고 있으며, 더 큰 모델을 사전 훈련하려는 지속적인 투자와 함께 이루어지고 있다.