핵심 요약
멀티턴 대화나 자율 에이전트 작업처럼 문맥이 길어지는 LLM 환경에서 데이터 로딩 속도가 전체 성능을 결정하는 핵심 병목이 되고 있다. 이 논문은 기존 시스템에서 놀고 있던 자원을 활용해 데이터 전송 경로를 다각화함으로써 추론 속도를 획기적으로 높이는 실무적인 해결책을 제시한다.
왜 중요한가
멀티턴 대화나 자율 에이전트 작업처럼 문맥이 길어지는 LLM 환경에서 데이터 로딩 속도가 전체 성능을 결정하는 핵심 병목이 되고 있다. 이 논문은 기존 시스템에서 놀고 있던 자원을 활용해 데이터 전송 경로를 다각화함으로써 추론 속도를 획기적으로 높이는 실무적인 해결책을 제시한다.
핵심 기여
Dual-path KV-Cache 로딩 아키텍처
기존의 스토리지-프리필 경로 외에 스토리지-디코딩-프리필 경로를 추가하여, 유휴 상태인 디코딩 엔진의 스토리지 NIC 대역폭을 통합적으로 활용함으로써 데이터 로딩 병목을 해소함.
CNIC 중심의 트래픽 격리 및 관리
모델 실행에 필수적인 지연 시간 민감 통신과 대용량 KV-Cache 전송 트래픽을 가상 레인(VL)으로 분리하여, 데이터 전송이 모델 추론 성능에 미치는 간섭을 차단함.
워크로드 인식형 동적 스케줄링 알고리즘
스토리지 NIC의 큐 길이와 GPU의 연산 부하를 실시간으로 분석하여 최적의 로딩 경로를 선택하고, 엔진 간의 부하 균형을 맞추는 2단계 스케줄링 시스템을 구축함.
핵심 아이디어 이해하기
Transformer 기반 LLM은 이전 대화 내용을 기억하기 위해 Attention Mechanism의 중간 결과물인 KV-Cache를 사용한다. 에이전트 시스템처럼 대화가 수백 번 이어지면 이 캐시의 크기가 GPU 메모리(HBM) 용량을 초과하게 되어 외부 스토리지에 저장했다가 필요할 때마다 다시 불러와야 한다. 이때 데이터를 읽어오는 속도가 GPU의 연산 속도를 따라가지 못하는 I/O 병목 현상이 발생한다.
기존의 Prefill-Decode 분리 구조에서는 데이터를 대량으로 처리하는 Prefill 엔진의 네트워크 카드만 풀가동되고, 토큰을 하나씩 생성하는 Decode 엔진의 네트워크 카드는 놀고 있는 자원 불균형이 나타난다. DualPath는 이 '노는 대역폭'을 활용해 Decode 엔진이 데이터를 대신 읽어오게 한 뒤, 이를 고속 내부망(RDMA)으로 Prefill 엔진에 전달하는 아이디어에서 출발한다.
결과적으로 한정된 네트워크 자원을 전체 시스템 관점에서 재배치함으로써 데이터 로딩 시간을 단축한다. 이는 GPU가 데이터가 오기만을 기다리는 대기 시간을 최소화하여, 동일한 하드웨어 구성에서도 훨씬 더 많은 요청을 동시에 처리할 수 있게 함을 의미한다.
방법론
Dual-path Loading 메커니즘을 통해 데이터 로딩 경로를 이중화한다. 기존의 Storage-to-Prefill 경로에 더해 Storage-to-Decode 경로를 신설하며, 데이터는 Decode 엔진으로 먼저 로딩된 후 고속 RDMA 네트워크를 통해 Prefill 엔진으로 전달된다. 이 과정에서 전체 스토리지 NIC 대역폭을 풀(Pool)로 활용하여 특정 노드에 쏠리는 부하를 분산한다.
CNIC-centric Traffic Manager는 모든 GPU 데이터 입출력을 전용 컴퓨팅 네트워크 카드(CNIC)를 통해 통합 관리한다. InfiniBand의 Virtual Lanes(VL) 기능을 활용하여 모델 추론 통신(AllToAll 등)에는 99%의 우선순위를 부여하고, KV-Cache 전송은 남은 1%의 대역폭을 사용하게 설정한다. 이는 [추론 통신 데이터 → 우선순위 큐 할당 → 즉시 전송] 및 [캐시 데이터 → 낮은 우선순위 큐 → 유휴 대역폭 활용 전송] 순으로 작동하여 상호 간섭을 방지한다.
Adaptive Request Scheduler는 2단계로 부하를 조절한다. Inter-engine 스케줄링은 각 노드의 디스크 읽기 큐 길이와 현재 할당된 토큰 수를 입력값으로 받아 부하가 적은 엔진 쌍을 선택한다. Intra-engine 스케줄링은 GPU 간 연산 불균형을 막기 위해 Compute Quota(연산 할당량)를 설정하고, [예상 연산 시간 → 쿼터 비교 → 배치 포함 여부 결정] 순으로 계산하여 GPU가 노는 시간(Bubble)을 최소화한다.
주요 결과
오프라인 배치 추론 실험 결과, DeepSeek-V3.2 660B 모델에서 기존 시스템 대비 최대 1.87배의 처리량 향상을 기록했다. 이는 KV-Cache 로딩 병목이 거의 제거되어 이론적 한계치인 Oracle 성능에 근접한 수치임을 확인했다. DS 27B 모델에서도 최대 1.78배의 성능 개선을 보였다.
온라인 서빙 환경에서는 SLO(서비스 수준 목표)를 준수하면서도 초당 에이전트 처리량(APS)을 평균 1.96배 개선했다. 특히 문맥이 길고 캐시 재사용률이 95% 이상인 에이전트 워크로드에서 성능 향상이 두드러졌으며, 대규모 확장성 실험(1,152개 GPU 사용)에서도 선형적인 성능 향상을 입증했다.
Ablation Study를 통해 각 기술의 기여도를 분석한 결과, Layerwise Prefill 도입 시 17.21%, Dual-path Loading 추가 시 38.19%, 최종 스케줄링 알고리즘 적용 시 45.62%의 작업 완료 시간(JCT) 감소 효과가 나타났다. 이는 제안된 각 구성 요소가 시스템 효율화에 실질적으로 기여하고 있음을 보여준다.
기술 상세
PD-disaggregated 아키텍처에서 발생하는 스토리지 I/O 불균형을 해결하기 위해 Decode 엔진(DE)의 유휴 SNIC(Storage NIC) 대역폭을 Prefill 엔진(PE)의 데이터 로딩에 동원하는 구조를 채택했다. 이는 분산된 스토리지 자원을 논리적으로 통합하여 관리하는 방식이다.
트래픽 격리를 위해 RDMA 기반 컴퓨팅 네트워크에서 모델 실행용 Collective 통신과 데이터 전송용 트래픽을 서로 다른 가상 레인(VL)에 할당했다. Weighted Round Robin(WRR) 알고리즘을 통해 추론 통신에 압도적인 가중치를 부여함으로써, 대량의 캐시 전송 중에도 모델 연산 간 통신 지연이 발생하지 않도록 설계했다.
데이터 레이아웃 측면에서는 Layer Block과 Full Block이라는 두 가지 단위를 정의했다. 스토리지와의 I/O는 모든 레이어를 포함하는 Full Block 단위로 수행하여 처리량을 높이고, GPU HBM으로의 전송은 각 레이어 연산 직전에 필요한 데이터만 보내는 Layer Block 단위의 스트리밍 방식을 사용하여 메모리 점유율을 최적화했다.
스케줄링 알고리즘은 FIFO 기반의 대기열을 유지하면서도, 각 엔진의 '남은 토큰 수'와 '디스크 읽기 대기열'을 상태 변수로 활용한다. 이를 통해 [상태 변수 수집 → 가중치 계산 → 최적 엔진 할당] 과정을 거쳐 시스템 전체의 처리량을 극대화하는 동적 평형 상태를 유지한다.
한계점
현재 시스템은 KV-Cache 읽기 작업을 PE와 DE 중 한쪽에서만 수행하도록 선택하는데, 이를 양쪽에서 동시에 읽어와 합치는 방식(Split read)은 향후 과제로 남겨두었다. 또한 대규모 배포 환경에서 TTFT(첫 토큰 생성 시간)의 꼬리 지연 시간(Tail latency)을 더욱 정교하게 제어할 수 있는 알고리즘 개선이 필요하다.
실무 활용
대규모 LLM 에이전트 서비스를 운영하는 인프라 환경에서 즉시 적용 가능한 최적화 기술이다. 특히 DeepSeek-V3와 같은 대형 모델을 사용하여 긴 문맥을 처리해야 하는 서비스의 운영 비용을 절감하고 응답 속도를 개선하는 데 직접적인 도움을 준다.
- 대규모 코딩 에이전트(Cursor, GitHub Copilot 등)의 추론 처리량 가속
- 수백 번의 대화가 이어지는 멀티턴 AI 챗봇의 응답 지연 시간 단축
- 강화학습(RL) 훈련 과정 중 대규모 롤아웃 단계의 데이터 로딩 효율화
- 제한된 네트워크 자원 환경에서의 대형 언어 모델 서빙 최적화
코드 공개 여부: 미확인
키워드
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.