학습된 LLM이 실제로 답변을 생성할 때 속도를 높이고 비용을 줄이는 기술들의 총칭. 양자화, 추측적 디코딩, KV 캐시 최적화 등을 조합하면 모델을 바꾸지 않고도 3~10배 빠른 응답이 가능하다.
LLM은 학습(Training)과 추론(Inference) 두 단계로 나뉜다. 학습은 모델을 만드는 과정이고, 추론은 만들어진 모델이 실제로 질문에 답하는 과정이다. ChatGPT에 메시지를 보내면 글자가 하나씩 나타나는 그 순간이 추론이다. 문제는 이 추론 과정이 느리고 비싸다는 것이다. GPU는 엄청난 연산 능력을 가지고 있지만, LLM은 토큰을 하나씩 순서대로 생성해야 해서 대부분의 GPU 성능이 놀고 있게 된다. 추론 최적화는 이 낭비를 줄여서 같은 GPU로 더 많은 요청을 더 빨리 처리하게 만드는 기술들을 통칭한다.
가장 즉각적인 효과를 주는 건 양자화(Quantization)다. 모델의 가중치를 16비트에서 4비트로 줄이면 메모리 사용량이 4분의 1로 줄고, 더 저렴한 GPU에서도 모델을 돌릴 수 있게 된다. Ollama로 로컬 LLM을 돌릴 수 있는 이유가 양자화 덕분이다. vLLM에서 AWQ 4비트 양자화를 적용하면 원래 모델 대비 3배 많은 요청을 동시에 처리하면서도 품질 차이는 거의 없다.
추측적 디코딩(Speculative Decoding)은 작고 빠른 드래프트 모델이 먼저 여러 토큰을 예측하고, 큰 모델이 한꺼번에 검증하는 방식이다. 한 번의 연산으로 여러 토큰을 생성하는 효과가 나서, 품질 손실 없이 2~3배 빠른 생성이 가능하다.
KV 캐시 최적화는 이미 계산한 어텐션 값을 재활용해서 중복 연산을 없앤다. vLLM의 PagedAttention은 KV 캐시를 운영체제의 가상 메모리처럼 페이지 단위로 관리해서 메모리 낭비를 극적으로 줄인다. 긴 문맥을 다루는 RAG 파이프라인이나 멀티턴 대화에서 특히 효과적이다.
양자화를 너무 공격적으로 하면(예: 2비트) 품질이 눈에 띄게 떨어질 수 있다. 최적화 효과는 반드시 자신의 워크로드로 벤치마크해봐야 한다.