Cascade: Exploiting SLO-Aware latency budget for fair and high goodput LLM inference serving
Cascade는 요청별로 동적인 지연 시간 예산을 활용하여 스케줄링과 KV 캐시 관리를 공동 최적화함으로써, 기존의 선입선출 방식에 비해 SLO를 충족하는 굿풋(goodput)과 공정성을 크게 향상시키고 위반을 줄이는 LLM 서빙 시스템입니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
수천 명의 승객이 동시에 서로 다른 열차에 탑승하려고 하는 북적이고 빠른 속도의 기차역을 상상해 보십시오. 어떤 승객은 배낭 하나만 메고 있고(짧고 간단한 질문), 어떤 승들은 수년간의 추억이 담긴 거대하고 무거운 여행 가방을 끌고 있습니다(길고 복잡한 이야기 또는 깊은 추론 작업). 인공지능의 세계에서 이 "열차"는 챗봇, 코딩 어시스턴트, 추론 에이전트를 구동하는 초지능형 컴퓨터인 거대 언어 모델(LLM)입니다. "승객"은 우리가 그들에게 보내는 요청입니다.
이 시스템들이 빠르고 유용하게 느껴지려면, 서비스 수준 목표(SLO)라고 불리는 특정 시간 제한 내에 답변을 제공하겠다고 약속해야 합니다. 이것은 "5초 이내에 열차에 탑승하여 출발해야 한다"라고 적힌 티켓과 같습니다. 문제는 역 관리자들이 "선착순"이라는 매우 오래된 규칙을 사용해 왔다는 점입니다. 이는 만약 거대한 여행 가방을 가진 승객이 먼저 도착하면, 뒤에 있는 사람이 아주 작은 배낭만 메고 있어 순식간에 처리될 수 있음에도 불구하고 모두가 그 뒤에서 기다려야 함을 의미합니다. 이로 인해 엄청난 교통 정체가 발생합니다. 게다가 역에는 승객들의 짐을 보관하기 위한 한정된 양의 고속 저장 공간(VIP 대기실 같은 곳)이 있습니다. 만약 짐을 느리고 멀리 떨어진 창고에 보관한다면, 그것을 가져오는 데 시간이 걸립니다. 만약 역 관리자가 각 승객의 열차가 떠나기 전까지 남은 시간이 얼마인지 모른다면, 이미 늦어버린 사람을 위해 귀중한 몇 초를 낭비하며 짐을 가져오는 동안, 정작 제시간에 맞춰야 하는 다른 사람은 뒤처지게 만들 수도 있습니다.
이것이 바로 브리티시 컬럼비아 대학교, 마이크로소프트 애저 리서치, 그리고 엔비디아의 연구진들이 발표한 최근 논문에 기술된 CASCADE라는 새로운 시스템이 해결하고자 하는 과제입니다. 연구진은 모든 요청에는 숨겨진 "시간 예산(time budget)"이 있다는 사실을 깨달았습니다. 즉, 작업을 마쳐야 하는 데 필요한 시간과 허용된 시간 사이의 차이입니다. 어떤 요청은 엄청난 예산(많은 여유 시간)을 가지고 있는 반면, 어떤 요청은 거의 남지 않았습니다. 논문은 단순히 누가 먼저 도착했는지나 요청의 크기가 얼마인지를 보는 대신, 이 남은 시간 예산을 보고 다음에 누가 갈지, 그리고 그들의 데이터를 어떻게 처리할지를 결정해야 한다고 주장합니다.
CASCADE의 핵심 아이디어는 이 시간 예산을 두 가지 서로 다른 작업, 즉 요청의 순서를 결정하는 일과 데이터가 어디에 머물지를 관리하는 일에 공유되는 통화(currency)로 취급하는 것입니다. 실제 운영 서버의 트래픽 데이터를 사용하여 세 가지 거대 AI 모델(Qwen-2.5-72B, Llama-3-70B, Llama-3-405B)에서 테스트한 논문의 시뮬레이션 결과, CASCADE는 인상적인 결과를 보여주었습니다. 각 요청이 가진 "시간적 여유(time headroom)"를 끊임없이 계산함으로써, 시스템은 시간이 다 되어가는 요청을 우선적으로 처리하는 동시에, 시간이 충분한 요청은 조금 더 기다리거나 더 느리고 저렴한 저장소에서 데이터를 가져오도록 할 수 있었습니다.
이러한 결과는 이 접근 방식이 효율성 측면에서 게임 체인저임을 시사합니다. 테스트에서 CASCADE는 vLLM과 같은 인기 있는 시스템들이 사용하는 표준적인 "선착순" 방식에 비해 성공적인 요청 처리량(goodput)을 최대 2.4배 개선했습니다. 더 중요한 것은, 시간 제한을 놓치는 요청(SLO 위반)의 수를 40% 줄였다는 점입니다. 아마도 가장 창의적인 부분은, CASCADE가 긴 복잡한 요청들을 희생시키지 않으면서도 이 성과를 달성했다는 점일 것입니다. 다른 방법들이 짧은 요청을 서두르느라 긴 요청을 굶주리게(starvation) 만드는 것과 달리, CASCADE는 짧은 요청과 "거대한 여행 가방"을 가진 승객 모두가 제시간에 서비스를 받을 수 있도록 공정함을 유지했습니다. 시스템은 특정 요청이 지연을 흡수할 수 있는 시간 예산이 있는지에 따라, 데이터를 빠른 메모리에서 가져올지, 더 느린 저장소에서 가져올지, 아니면 단순히 다시 계산할지를 동적으로 결정함으로써 이를 달성했습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.