
영상 링크: Hacking the Inference Pareto Frontier - Kyle Kranen, NVIDIA
채널명: AI Engineer
추론 파레토 경계 해킹하기 – Kyle Kranen, NVIDIA 핵심 요약
- NVIDIA의 Kyle Kranen은 실제 대규모 추론 서비스(수천만 달러 분기별 클라우드 빌) 운영 경험을 바탕으로, 파레토 프런티어(성능, 비용, 품질 간 최적 조합)를 ‘깨는’ 다양한 실전적 최적화 방법론을 소개함
- 적절한 모델 선택과 현장 배포 환경의 실제 제약 조건(품질, 지연시간, 단가)을 고려하는 것이 성공적인 서비스의 핵심이라고 강조
- 퀀타이제이션, Retrieve-Augmented Generation(RAG), 모델 설정 변경 등 이미 알려진 기술들을 복합적으로 적용하여 속도와 비용, 품질 간의 균형을 전략적으로 조정 가능함
- 규모 확장 측면에서의 핵심 기법으로 ‘분리처리(Disaggregation)‘를 제시: ‘프리필(초기 KV 캐시 생성)‘과 ‘디코드(토큰 생성 및 출력)’ 과정을 서로 다른 장비 및 워커로 분리하여, 자원 활용과 일정 단위당 비용을 최대 2배까지 절감할 수 있음을 Llama 7B 기준 수치와 함께 상세히 설명
- 동적 라우팅을 통해 KV 캐시의 활용도를 극대화하면, 점점 더 많은 요청이 이미 캐시된 정보를 재활용해서 프리필 단계를 줄이며, 속도와 비용을 추가로 향상시킬 수 있음
- 에이전트 등 구조를 갖는 워크로드의 경우, ‘추론 시 스케일링(동일 작은 모델을 여러 번 반복 요청해서 대형 모델 품질에 근접)’, ‘라운드트립 최소화’, ‘스마트 스케줄링’ 등으로 품질 고정 시 속도 및 비용 절감 효과 시연
- KV 캐시를 작업 특성에 맞춰 주기억장치에 임시 저장하고 재사용하는 등, 구조적 정보를 활용한 캐시 관리로 추가적인 효율화 가능
- 배포 환경의 동적 변화(입력 길이, 출력 길이, 사용자 분포)에 따라 워커 역할을 전환하고 자동 스케일링을 실시간으로 적용해야 전체 시스템의 포텐셜 극대화 가능
- NVIDIA 오픈소스 프로젝트 ‘Dynamo’를 통해 위의 최적화 전략을 실제 데이터센터급 인프라에서 구현할 수 있게 하였으며, 자세한 정보와 미트업 안내 제공
세부 요약 – 주제별 정리
발표자는 대규모 추론 배포 경험과 NVIDIA Dynamo 프로젝트를 바탕으로 최적화 방안을 제시함
- Kyle Kranen은 NVIDIA의 추론 아키텍트이자 Dynamo 프로젝트의 리드
- 과거 수천만 달러 규모의 분기별 클라우드 비용을 쓰는 초대형 추론 배포를 직접 리드한 경험 보유
- 현재는 데이터센터급 추론 최적화 오픈소스 프로젝트 ‘NVIDIA Dynamo’를 주도
- Dynamo 프로젝트의 주요 목표: 데이터센터 규모에서 추론 배포·운영을 최적화하여 SLA 만족 또는 기존 SLA 단가 절감
- Dynamo meetup 행사 및 관련 링크 제공 (github.com 등)
품질, 지연시간, 비용이 추론 배포의 3대 핵심 축임을 강조함
- 애플리케이션의 요구 사항에 맞는 품질(Accuracy), 지연시간(Latency), 단가(Cost)의 조화가 무엇보다 중요
- 품질: 실제 모델 및 시스템이 업무를 충분한 정확도로 수행할 수 있는지
- 지연시간: 사용자의 만족도, 안전성 요구(예. 로보틱스) 등에 맞는 속도 충족 여부
- 비용: 애플리케이션의 마진 요구 등 단건당 비용의 경제성
- 이 세 가지 축을 시각화한 것이 파레토 프런티어(현재 구현 가능한 최적점의 집합)
서비스 목적(용도)에 따라 파레토 프런티어에서 최적점이 달라짐을 구체적 예시로 설명함
- 애플리케이션 목적에 따라 3요소(품질, 지연시간, 비용) 간 우선순위가 달라짐을 실제 사례로 제시
- 예시1: 개인 맞춤형 암 치료 – 결과 품질만 확보된다면 비용과 지연시간은 무의미(ROI가 압도적으로 큼)
- 예시2: 코드 자동 완성(Tab completion) – 엄청난 반응 속도를 요함(수 밀리초 지연도 UX에 영향)
- 예시3: 비동기 커밋, 챗봇 동료 모드 – 지연시간보다는 품질과 비용 균형이 주요 고려 사항
- 사용자의 기대치에 따라 파레토 최적점이 다름(빠른 응답, 느려도 괜찮음 등)
이미 널리 쓰이는 최적화 기법들은 복합적으로 적용 가능하고, 상호작용 효과가 큰 도구임
- 퀀타이제이션: 배치 크기 증가로 속도 향상 및 비용 절감
- Retrieve-Augmented Generation(RAG): 품질 향상은 가능하지만, 지연시간·비용이 올라감
- Reasoning(추가적 사고 단계): 더 많은 토큰 산출로 품질/비용이 상호작용
- 모델 구성(Parallelism 등) 변경: 비선형적으로 속도·비용·품질에 영향
- 이 기술들은 개별 적용도 중요하지만, 여러 층위에서 복합 적용(예: RAG + Quantization)을 통해 다층 최적화 가능
- 각 도구(기술)는 독립적이지 않으며 비직관적 방식으로 상호작용할 수 있음
’스케일’ 관점에서 분리처리(Disaggregation) 기법으로 자원 활용 효율을 극대화함
- KV 캐시(키-밸류 벡터 캐시)를 활용해 프리필(초기 입력), 디코드(실제 토큰 생성) 과정을 분리
- 전통적으로 한 GPU(장비)에서 두 단계 모두 처리 → 서로 다른 워커/장비에 분산시키는 방식 도입
- 프리필 단계: 연산(Computebound) 의존도가 높아 비교적 적은 GPU로도 가능
- 디코드 단계: 메모리(Memorybound) 의존도가 높고, 더 큰 배치 사이즈와 더 많은 GPU 필요
- 이 분리를 통해 양 단계의 자원 배분을 세분화하고, 각 단계 특화 성능을 극대화
- Llama 7B 기준, 16대 H100 GPU로 테스트: 동일한 GPU 수 대비 지연시간 고정 시 초당 토큰 처리량(Tokens/sec/GPU)이 최대 2배 향상(=비용 절감)
- 단, 입력 길이가 매우 짧은 경우에는 효과 미미(디코드가 대부분이기 때문)
적절한 분리처리 구성은 워커 배분 등 실제 운영 설정에 따라 성능 차이가 크게 발생함
- 프리필/디코드 워커의 수, 배치 크기, 파라렐리즘 등 설정이 성능에 결정적 영향
- 프리필 워커가 과다하면 디코드 워커가 일감을 대기하고 과소하면 큐 대기가 누적
- 각 워커의 구성(병렬 처리, 배치 크기 등)도 개별적으로 튜닝 필요 → ‘아주 넓은 설정 공간’을 가지며, 실전 튜닝 난도가 높음
- 입력 길이, 출력 길이, 실제 워크로드 분포 등에 따라 분리/집약 구성이 동적으로 달라질 수 있음
분리처리 환경에서 스마트 라우팅으로 KV 캐시 활용도를 극대화하여 비용과 속도를 더 줄임
- 프리필/디코드 워커가 분리되면, KV 캐시 데이터를 머신 간 이동시켜야 하며, 이를 위한 라우팅 최적화 필요
- 기본(random) 라우팅의 한계: 콘텍스트 매칭은 높으나 특정 워커에 요청 쏠림/큐 대기 발생 가능
- ‘스마트 라우터’ 적용: KV 프리픽스 매칭률과 워커별 현존 부하(큐)의 균형을 활용해 최적의 워커에 배분
- 클러스터 규모가 커질수록 각 워커가 많은 프리필 결과를 캐싱할 수 있으므로, 전체 KV 캐시 히트율 상승 → ‘프리필’ 부하가 선형적으로 감소
- 실질적으로 속도 및 비용에 긍정적 영향(품질은 동일)
워크로드 구조화(에이전트, 반복 추론 등)를 통해 작은 모델을 여러 번 호출해 대형 모델 이상의 효과를 얻음
- 에이전트 등은 동시성 높은, 패턴이 비교적 예측 가능한 워크로드를 만듦
- ‘추론 시 스케일링(Inference time scaling)’ 기법: 작은 모델(예: 8B)을 3~4회 반복 호출하면, 단일 호출의 49B/235B 대형 모델 품질에 거의 근접 가능(실제 그래프 데이터 제시)
- 동일 품질 달성시 작은 모델을 여러 번 호출하는 것이 큰 모델 한 번 호출보다 비용/지연시간 면에서 저렴
- 이러한 구조화는 스케줄링 및 시스템 구성에도 긍정적 영향
구조를 활용한 ‘라운드트립 최소화’, ‘스마트 스케줄링’ 등으로 무의미한 대기/오버헤드를 줄임
- 실제 자연어 추론 데이터셋(‘natural plan’)에서 동시 요청 수(concurrency)별 실행 시간 측정 결과 제시
- 분리처리 적용만으로도 효과 있으나, 라우터가 반복적인 요청(requery)을 파악하고, 외부 클라이언트가 아닌 내부에서 반복 처리를 단축하면 추가 효과
- 품질이 동일할 경우 반복 호출(스마트하게 처리)로 지연시간 단축, 처리량 향상 가능
KV 캐시를 활용한 ‘대기 중 캐시 임시 저장 및 재사용’ 등 고급 캐시 관리로 효율 값 극대화
- 예측 가능한 지연(예: 툴 호출시 30초 대기 등)이 있으면, HBM(고속 GPU 메모리)에 머물던 KV 캐시를 주기억장치(시스템 메모리)에 내렸다가 나중에 복원
- 동일 컨텍스트로 추가 LLM 호출 시, 프리필을 반복하지 않고 기존 캐시를 활용해 오버헤드를 대폭 줄임
- 구조적 정보를 활용하여 품질 유지하며 속도/비용 향상
동적 워커 배치 및 실시간 오토스케일링으로 추론 실행 환경의 변화에 대응해야 최적화가 실효를 발휘함
- 입력/출력 길이나 사용자 트래픽 분포가 예측과 다르게 변하면, 분리/집약 워커 간 자원 배치 역시 변해야 함
- 예: 입력 길이 증가 시 프리필 워커 수요가 더 커짐 → 이를 고려한 오토스케일링/리밸런싱 필요
- 실제 배포 환경에서는 A/B 워크로드 혼합 및 히스토그램 변동에 맞춘 실시간 재구성이 중요
- 정적 배치보다 동적인 부하 분산만이 분리처리의 잠재력을 극대화할 수 있음
NVIDIA 오픈소스 프로젝트 ‘Dynamo’는 위 모든 전략들을 실제 인프라 규모에서 구현 가능하게 함
- NVIDIA Dynamo는 데이터센터급 분산 추론을 위한 엔진 및 최적화 프레임워크를 오픈소스로 제공
- 위에 언급된 각종 분리처리, 스마트 라우팅, 동적 워커 배치, 오토스케일링 등이 Dynamo의 핵심 기능
- github.com의 Dynamo 저장소 및 미트업 등 추가 안내 제공