금융 domain의 보안·비용·성능 요구 때문에 외부 API 대신 local LLM을 자체 GPU에 직접 serving해야 했던 카카오페이의 선택을 다룬다. TGI·vLLM·TensorRT-LLM·LightLLM을 비교해 vLLM을 고른 기준과, autoregressive decoding의 memory 병목을 푸는 핵심 최적화를 설명한다.
핵심 포인트- 요약·FAQ·보험 진단 service에서 사용자 요청과 RAG 문서를 inference server로 넘겨 실시간 응답을 만드는 serving layer의 역할 정의
- benchmark 표만 보지 않고 team 기술 stack·Triton 연동·LoRA·model architecture 지원·community·운영 reference로 후보를 좁히고, 2B·7B·46B model에 300 token 요청으로 throughput·latency를 직접 측정해 vLLM 선택
- autoregressive decoding은 이전 token을 반복 사용하므로 KV cache로 중복 계산을 줄이지만, request마다 길이가 달라 고정 영역 예약 시 fragmentation·낭비 발생 — 이 memory 구조가 핵심 병목
- PagedAttention이 KV cache를 작은 block으로 비연속 할당해 fragmentation을 줄이고, continuous batching이 먼저 끝난 request의 slot을 대기 request로 즉시 채워, 두 기술 결합으로 처리량↑·token당 비용↓
왜 읽나보안·비용 때문에 LLM을 자체 GPU에 serving하려는 엔지니어에게, framework 선정 기준과 PagedAttention·continuous batching이 왜 처리량을 좌우하는지 명확히 짚어준다.