[논문 리뷰] Fairness in Serving Large Language Models
이 논문은 대규모 언어 모델(Large Language Model, LLM) 서빙을 위한 새로운 공정 스케줄링 알고리즘인 가상 토큰 카운터(Virtual Token Counter, VTC)를 제안한다. VTC는 각 클라이언트의 누적 서비스를 추적함으로써 토큰 수준에서 공정성을 보장한다. 작업을 지속하는 조건 하에서 VTC는 클라이언트 간 서비스 차이에 대해 2배의 엄격한 상한선을 확보하며, 다양한 요청 길이와 시스템 부하 조건에서 FCFS 및 RPM 기반 방법보다 공정성과 자원 활용도 면에서 뛰어나다.
High-demand LLM inference services (e.g., ChatGPT and BARD) support a wide range of requests from short chat conversations to long document reading. To ensure that all client requests are processed fairly, most major LLM inference services have request rate limits, to ensure that no client can dominate the request queue. However, this rudimentary notion of fairness also results in under-utilization of the resources and poor client experience when there is spare capacity. While there is a rich literature on fair scheduling, serving LLMs presents new challenges due to their unpredictable request lengths and their unique batching characteristics on parallel accelerators. This paper introduces the definition of LLM serving fairness based on a cost function that accounts for the number of input and output tokens processed. To achieve fairness in serving, we propose a novel scheduling algorithm, the Virtual Token Counter (VTC), a fair scheduler based on the continuous batching mechanism. We prove a 2x tight upper bound on the service difference between two backlogged clients, adhering to the requirement of work-conserving. Through extensive experiments, we demonstrate the superior performance of VTC in ensuring fairness, especially in contrast to other baseline methods, which exhibit shortcomings under various conditions. The reproducible code is available at https://github.com/Ying1123/VTC-artifact
연구 동기 및 목표
- 요청 길이가 예측할 수 없고 입력/출력 토큰 수에 따라 자원 사용이 달라지는 LLM 서빙 환경에서의 공정성 문제를 해결하기 위해.
- 자원 활용도 저하와 공백 기간 동안의 클라이언트 경험 악화를 유발하는 전통적 레이트 제한(예: RPM)의 한계를 극복하기 위해.
- 변동하는 요청 길이와 배치 처리 동적 특성을 고려할 때도 클라이언트 간 공정한 서비스 분배를 보장하면서 고성능 GPU 활용도를 유지하는 스케줄링 알고리즘을 설계하기 위해.
- 입력 및 출력 토큰 처리 기반의 구성 가능한 비용 함수를 사용하여 LLM 서빙의 공정성을 체계화하기 위해.
- 서버 용량 변화에 민감하지 않고 연속 배치 및 현대적인 LLM 추론 최적화와 원활하게 통합되는 스케줄러를 개발하기 위해.
제안 방법
- 입력 토큰과 출력 토큰의 처리 비용에 따라 다른 가중치를 할당하는 비용 함수를 제안하여 토큰 수준에서 세밀한 공정성을 가능하게 한다.
- 각 클라이언트의 누적 서비스를 토큰 단위로 추적하는 가상 토큰 카운터(VTC) 알고리즘을 도입한다.
- 누적 서비스가 가장 적은 클라이언트(가장 작은 카운터를 가진 클라이언트)를 우선순위 큐를 통해 스케줄링함으로써 작업을 지속하는 동작과 공정성을 보장한다.
- 미리 알 수 없는 출력 길이를 고려해 현재 진행 상황을 기반으로 향후 서비스를 추정하는 동적 카운터 업데이트 메커니즘을 적용하여 과잉 보상 방지를 방지한다.
- 연속 배치 및 PagedAttention과의 내재적 통합을 통해 공정성 보장을 희생시키지 않은 채 효율적인 GPU 활용을 가능하게 한다.
- 이론적 분석을 통해 어떤 두 클라이언트 간에도 서비스 차이에 대해 2배의 엄격한 상한선이 존재함을 증명하며, 작업을 지속하는 조건 하에서 강력한 공정성 보장을 입증한다.
실험 결과
연구 질문
- RQ1입력 및 출력 토큰의 처리 비용이 다를 수 있고 요청 길이가 다양할 경우, LLM 서빙 환경에서 공정성을 의미 있게 정의할 수 있는가?
- RQ2예측할 수 없는 출력 길이와 동적 GPU 용량 변화가 존재하는 환경에서 공정성을 유지하면서도 고성능 자원 활용도를 확보할 수 있는 스케줄링 메커니즘은 무엇인가?
- RQ3작업을 지속하는 동작과 함께 서버 용량 변화 및 요청 이질성에 대해 강건한 공정 스케줄러를 설계할 수 있는가?
- RQ4제안된 VTC 스케줄러는 다양한 워크로드에서 FCFS 및 RPM 기반 스케줄링과 비교해 공정성과 자원 활용도 면에서 어떻게 다른가?
- RQ5VTC 하에서 클라이언트 간 서비스 차이에 대한 이론적 상한선은 무엇이며, 이는 최적의 공정성 상한선과 어떻게 비교되는가?
주요 결과
- VTC는 어떤 두 개의 배치된 클라이언트 간에도 서비스 차이에 대해 2배의 엄격한 상한선을 확보하며, 작업을 지속하는 조건 하에서 강력한 공정성 보장을 입증한다.
- 광범위한 실험 결과 VTC는 특히 고부하 및 다양한 요청 길이 조건에서 FCFS 및 RPM 기반 스케줄링보다 공정성 면에서 뚜렷이 뛰어나다.
- 서비스 차이의 분산은 더 큰 메모리 풀과 더 긴 요청 길이에 따라 증가하며, 이는 이론적 분석을 뒷받침하고 미리 알 수 없는 출력 길이의 영향을 입증한다.
- 카운터 업데이트에 오직 입력 토큰만 사용할 경우 짧은 요청에 대해 과잉 보상이 발생하지만, VTC는 추정된 출력 토큰 비용을 통합함으로써 이를 완화한다.
- 메모리 제약으로 인한 GPU 처리 속도 변동이 발생하더라도 VTC는 공정성을 유지하며, 동적 시스템 행동에 대한 강건성을 입증한다.
- 기존의 LLM 서빙 최적화 기법인 연속 배치 및 PagedAttention과의 통합이 원활하여 아키텍처의 대대적 개편 없이도 실용적인 구현이 가능하다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.