PackInfer 배치 LLM 추론을 위한 계산과 I/O 효율 어텐션

PackInfer 배치 LLM 추론을 위한 계산과 I/O 효율 어텐션
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

**
PackInfer는 이질적인 길이의 요청들을 GPU에서 균형 있게 처리하도록 설계된 커널 수준 프레임워크이다. 요청들을 길이‑균형 그룹으로 묶고, KV 캐시를 그룹‑연속 레이아웃으로 재배치해 메모리 파편화를 최소화한다. 이를 통해 FlashAttention 대비 평균 레이턴시 13‑20 % 감소와 처리량 20 % 향상을 달성한다.

**

상세 분석

**
본 논문은 대규모 언어 모델(LLM) 서비스에서 흔히 발생하는 “배치 이질성” 문제를 핵심 원인으로 규명한다. 기존 FlashAttention 등은 단일 요청에 최적화된 고정‑크기 타일링 방식을 사용하지만, 실제 서비스에서는 짧은 프롬프트와 긴 컨텍스트가 동일 배치에 섞여 있어 타일당 대부분이 패딩 혹은 마스크 처리된다. 이로 인해 SM당 할당된 연산량이 크게 차이 나고, 긴 요청이 전체 실행 시간을 지배하는 스트래거 현상이 발생한다(표 1, 그림 1).

PackInfer는 두 축에서 비효율을 해소한다. 첫째, 계산‑패킹 단계에서 요청들을 길이‑균형 그룹(G)으로 나눈다. 그룹당 총 토큰 길이가 사전 정의된 용량 C 이하가 되도록 greedy‑bin‑packing 알고리즘을 적용하고, 그룹 내에서는 모든 유효 query‑key 영역을 하나의 연속된 타일 맵으로 합친다. 이렇게 하면 짧은 요청도 다른 요청과 함께 동일 커널에 포함돼 GPU 코어 활용률 η가 크게 상승한다(식 1). 둘째, I/O‑패킹 단계에서는 KV 캐시를 그룹‑연속 메모리 블록으로 재배치한다. 프리픽스 공유가 존재하는 경우 트라이 기반으로 공통 프리픽스를 먼저 복사하고, 이어서 각 요청별 서픽스를 연속적으로 배치함으로써 메모리 접근 패턴을 최적화한다(알고리즘 1, 라인 10‑17). 이 과정은 메모리 파편화를 방지하고, HBM‑SRAM 전송량을 감소시켜 디코딩 단계의 메모리 바운드 특성을 완화한다.

또한 논문은 동적 그룹 조정 메커니즘을 제시한다. 실행 중 토큰이 추가됨에 따라 그룹 간 길이 불균형이 커지면(식 4) 재그룹화를 트리거한다. 온라인 프로파일링을 통해 C 값을 실시간으로 보정함으로써 워크로드 변화에 빠르게 적응한다. 실험에서는 Alpaca, Text2SQL, BurstGPT 등 실제 서비스 트래픽을 재현한 워크로드에서 평균 레이턴시 13‑20 % 감소, 처리량 20 % 향상을 기록했으며, 특히 짧은 요청 비중이 높은 경우 효율이 크게 개선되었다.

핵심 기여는 (1) 배치 이질성에 대한 근본 원인 분석, (2) 계산·I/O를 동시에 고려한 패킹 설계, (3) 기존 LLM 서빙 스택(vLLM 등)과 최소 API 변경만으로 통합 가능한 구현, (4) 광범위한 모델·워크로드에 대한 실증적 검증이다. PackInfer는 GPU 자원을 보다 균등하게 활용함으로써 대규모 서비스 환경에서 비용 효율성을 크게 높일 수 있다.

**


댓글 및 학술 토론

Loading comments...

의견 남기기