핵심 요약
LLM 서빙 최적화를 위해 도입한 기술들이 기존 인프라와 충돌할 때, 서비스 메시와 스케줄러 설정을 어떻게 조정하여 안정성을 확보했는지 실무 사례를 제시한다.
배경
네이버의 ML 플랫폼인 MLXP에서 LLM 서빙 최적화 기술을 도입하며 발생한 인프라 스택 간의 충돌 문제를 다룬다.
대상 독자
Kubernetes 기반 GPU 워크로드 운영자 및 MLOps/Infra 엔지니어
의미 / 영향
Kubernetes 환경에서 LLM 서빙을 운영할 때 발생하는 인프라 스택 간의 복잡한 충돌 문제를 해결하는 구체적인 아키텍처 패턴을 제시한다. 이는 대규모 LLM 인프라 운영 시 안정성을 확보하고 운영 효율을 높이는 데 기여한다.
챕터별 상세
배경: MLXP와 LLM Serving 최적화 기술
KV-Cache는 LLM 추론 시 이전 토큰의 연산 결과를 저장하여 중복 연산을 방지하는 메모리 기법이다.
MLXP에서 LLM Serving 최적화를 반영한 구조
LeaderWorkerSet은 Kubernetes에서 분산 학습 및 추론을 위해 여러 Pod를 하나의 그룹으로 관리하는 리소스이다.
Troubleshooting: Istio sidecar와 ZMQ/RPC 통신
Istio는 서비스 메시 내 트래픽을 제어하기 위해 모든 포트를 가로채며, 프로토콜이 맞지 않으면 통신 오류가 발생할 수 있다.
Troubleshooting: Gateway 500 에러와 mTLS
mTLS는 서비스 간 통신 시 양방향 인증을 통해 보안을 강화하는 프로토콜이다.
GroupDisruptionBudget(GDB) 도입
PDB는 Kubernetes에서 노드 유지보수 시 Pod의 가용성을 보장하기 위한 정책이다.
LWS를 Volcano로 스케줄링
Gang Scheduling은 분산 작업 시 모든 Pod가 동시에 실행 가능할 때만 작업을 시작하는 스케줄링 방식이다.
실무 Takeaway
- Istio 환경에서 ZMQ/RPC 등 비-HTTP 프로토콜을 사용할 경우, Sidecar CR을 통해 프로토콜을 TCP로 강제하거나 특정 포트를 인터셉트 대상에서 제외해야 통신 오류를 방지할 수 있다.
- 분산 추론 환경에서 Pod IP로 직접 메트릭을 수집할 때는 Istio의 mTLS 정책과 충돌할 수 있으므로, ServiceEntry와 DestinationRule을 활용해 Identity를 부여해야 한다.
- 분산 모델 서빙 시 Pod 개별 Eviction으로 인한 서비스 중단을 막으려면, PDB 대신 그룹 단위의 가용성을 보장하는 GroupDisruptionBudget(GDB)을 도입해야 한다.
- 분산 추론 Pod의 동시 실행을 보장하려면 기본 스케줄러 대신 Volcano와 같은 갱 스케줄러를 사용하여 자원 확보 시 일괄 배포되도록 구성해야 한다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.