TL;DR
Profile v2.2는 GPU의 이론적 성능 상한과 vLLM 서버의 실제 측정값을 비교해 병목 원인과 플래그를 결정하는 오픈소스 optimizer다. 우선순위 DAG와 상호 배타 규칙으로 여러 경고에서 실제 원인을 하나로 좁히며, AMD 카드도 지원한다. 작성자의 RTX 5090·muse-glimmer 30B 환경에서는 25k context 처리량이 81 tok/s에서 421 tok/s로 늘고 비용은 $3.41에서 $0.65로 줄었다. KV thrashing으로 TTFT가 32.8초까지 악화된 회귀도 `worse`로 기록한 뒤 다음 수정에서 회복했다.
실용적 조언
- vLLM 서버를 실행 중이라면 제공된 설치 명령으로 Profile을 설치하고 `profile diagnose --url http://localhost:8000/metrics --duration 2m`를 실행해 현재 서버의 병목 진단을 받을 수 있다. 플래그를 적용한 뒤 같은 방식으로 재측정하면 변경 전후의 처리량과 지연 시간 차이를 비교할 수 있다. 작성자는 진단 결과가 틀린 지점도 함께 알려 달라고 요청했다.
섹션별 상세
용어 해설
- Roofline 모델(Roofline Model)
- — GPU의 연산 성능과 메모리 대역폭을 기준으로 추론 속도의 이론적 상한을 계산하는 모델이다. 실제 서버 측정값을 이 상한과 비교하면 연산 부족, 메모리 병목처럼 성능을 제한하는 지점을 좁힐 수 있다.
- 추론 서버(Inference Server)
- — 학습된 AI 모델에 요청을 전달하고 생성 결과를 반환하는 실행 서버다. 이 글에서는 vLLM 서버의 metrics를 일정 시간 수집해 GPU 성능 상한과 실제 처리량, 지연 시간, 토큰당 에너지를 비교하는 대상으로 쓰인다.
- 우선순위 DAG(Priority DAG)
- — 규칙 사이의 우선순위와 실행 의존성을 방향성 그래프로 표현한 구조다. Profile은 여덟 개 규칙을 이 구조에 배치하고 상호 배타 조건을 적용해 여러 경고 중 하나의 원인을 남기는 방식으로 진단 결과를 결정한다.
- KV Thrashing
- — 긴 문맥을 처리할 때 KV cache가 GPU 메모리에서 반복적으로 밀려나고 다시 로드되면서 추론 지연이 급증하는 현상이다. 원문에서는 한 튜닝 단계에서 TTFT가 32.8초까지 늘어난 회귀 원인으로 기록됐다.
- 첫 토큰 지연 시간(TTFT)
- — 요청을 받은 뒤 첫 번째 출력 토큰이 생성될 때까지 걸리는 시간이다. 원문 측정에서는 정상 실행의 TTFT가 224ms였고 p95가 500ms였지만, KV thrashing이 발생한 단계에서는 32.8초로 악화됐다.
- 토큰당 생성 시간(TPOT)
- — 첫 토큰이 나온 뒤 다음 출력 토큰 하나를 생성하는 데 걸리는 시간이다. Profile의 성능 측정에서는 실행 종료 시점의 TPOT가 23ms로 기록돼 TTFT와 함께 서버 응답성을 판단하는 지표로 사용됐다.
코드 예제
curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/jungledesh/profile/releases/latest/download/profile-installer.sh | sh
# Profile your vLLM server
profile diagnose --url http://localhost:8000/metrics --duration 2m설치 스크립트를 실행한 뒤 vLLM 서버의 metrics endpoint를 2분 동안 수집해 Profile 진단을 시작하는 명령이다.
언급된 도구
GPU Roofline ceiling과 실제 vLLM 서버 측정값을 비교해 병목 원인과 적용할 플래그를 찾는 오픈소스 inference optimizer
Profile이 현재 지원하는 inference server engine
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.