Large Scale Distributed LLM Inference with LLM D and Kubernetes by Abdel Sghiouar
- LLM 추론은 Kubernetes의 마이크로 서비스 원칙을 공유하지만, 크기, 트래픽 패턴, 메모리 및 리소스 관리 측면에서 웹 애플리케이션과 근본적으로 다르다. 💡
- 생성형 AI 모델은 클라우드 제공업체 및 오픈 소스 모두에서 빠르게 발전하며, 텍스트를 넘어 오디오, 비디오, 이미지 생성 및 방대한 컨텍스트 창 처리 능력을 갖추고 있다. 🚀
- '추론(Inference)'은 모델이 새로운 데이터를 처리하는 내부 작동 방식(아키텍처 의존적)을 의미하고, '서빙(Serving)'은 모델을 프로덕션에서 실행하기 위해 서빙 엔진을 사용하는 행위(모델 의존적)로, 이 둘은 명확히 구분된다. 🧠
- LLM 운영에 필수적인 개념으로 가속기(GPU, TPU), 양자화(정밀도와 메모리 트레이드오프), 가중치, 컨텍스트 창(모델의 무상태성 관리), 다중 모달리티 등이 있다. 📚
- LLM 추론은 컴퓨팅 집약적인 '프리필(Prefill)' 단계(사용자 입력을 토큰화하고 KV 캐싱)와 메모리 집약적인 '디코드(Decode)' 단계(실제 토큰 생성)로 구성되며, 캐싱을 통해 성능을 최적화한다. 🔄
- LLM은 '정적 배칭'(처리량 최적화, 예: 코드 어시스턴트)과 '연속 배칭'(지연 시간 최적화, 예: 챗봇) 두 가지 주요 전략으로 프롬프트를 처리하며, 사용 사례에 따라 적절한 전략을 선택해야 한다. 📦
- LLM 성능 측정에는 첫 토큰 생성 시간, 출력 토큰당 시간, 초당 토큰 수와 같은 지연 시간 관련 벤치마크가 중요하게 활용된다. ⏱️