GPU 프로파일링 및 텔레메트리를 활용한 자동 최적화 추론 (Auto-Optimizing Inference)
요약
GPU 프로파일링과 텔레메트리 데이터를 활용하여 vLLM, SGLang 등의 추론 엔진 플래그를 자동으로 최적화하는 graphsignal-run 도구를 소개합니다. 트래픽 패턴에 따라 설정을 점진적으로 조정하여 최적의 성능을 도출합니다.
핵심 포인트
- GPU 프로파일 및 텔레메트리 기반 자동 플래그 설정 기능 제공
- 실행 기록을 활용하여 트래픽 변화에 따른 점진적 최적화 가능
- SGLang 사례: 특정 조건에서 프리픽스 캐시 비활성화로 처리량 3.6배 향상
vLLM/SGLang 플래그를 수동으로 튜닝하는 것은 금방 지루해지며, 무엇이 최적인지는 모델만큼이나 트래픽에 따라 달라집니다. 우리는 이를 위해 graphsignal-run --auto-flags를 구축했습니다. 이 도구는 실행 과정을 래핑(wrap)하여 GPU 프로파일 (GPU profiles) + 실제 워크로드의 텔레메트리 (telemetry)를 기반으로 시작 플래그를 설정합니다 (아직 이력이 없는 경우에는 레시피/문서 활용). 재시작 시 이전 실행 기록을 사용할 수 있으므로, 설정이 매번 초기화되는 대신 트래픽에 맞춰 점진적으로 조정됩니다.
graphsignal-run --auto-flags vllm serve <model>
graphsignal-run --auto-flags sglang serve --model-path <model>
graphsignal-run --auto-flags trtllm-serve <model>
프로파일링을 통해 발견한 특이한 사례: SGLang에서 높은 동시성(high concurrency)과 짧고 고유한 프롬프트(short unique prompts)가 발생하는 경우입니다. 프리픽스 캐시 (Prefix cache)가 오히려 오버헤드(overhead)였기 때문에, 이를 끄는 것이 올바른 결정이었습니다. 그 결과 처리량 (Throughput)이 약 3.6배 향상되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기