← 최신 논문
📊 statistics

Throughput-Optimal Scheduling Algorithms for LLM Inference and AI Agents

본 논문은 LLM 추론을 위한 수학적 대기 행렬 기초를 정립하여, 작업 보존 스케줄링 알고리즘이 개별 작업과 AI 에이전트 작업 부하 모두에서 최대 처리량을 달성함을 증명하고, 실제 시스템을 평가하여 Orca 와 Sarathi-Serve 의 최적성을 확인함과 동시에 FasterTransformer 와 바닐라 vLLM 의 불안정성에 대해 경고한다.

원저자: J. G. Dai, Tianze Deng, Yueying Li, Tianyi Peng

게시일 2026-05-19
📖 4 분 읽기☕ 가벼운 읽기

원저자: J. G. Dai, Tianze Deng, Yueying Li, Tianyi Peng

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

고성능 공장을 운영한다고 상상해 보세요. 이 공장은 맞춤형 로봇을 제작합니다. 이 공장에서는 모든 주문 (즉, "요청") 이 두 가지 명확한 단계를 거칩니다:

  1. 설정 단계 (Prefill): 설계도를 읽고 필요한 모든 부품을 수집합니다. 이는 많은 계산 능력 (compute) 을 필요로 하는 중노동이지만, 한 번에 모두 수행됩니다.
  2. 조립 단계 (Decode): 로봇을 하나씩, 부품 하나씩 추가하며 조립을 시작합니다. 이는 단계별로 수행되며, 메모리를 많이 소모하는 상대적으로 느린 작업입니다.

당신의 공장에는 여러 주문을 동시에 처리할 수 있는 거대하고 초고속 로봇 팔 (GPU) 이 있습니다. 하지만 이 팔에는 한계가 있습니다: 그리퍼 (집게) 에 한 번에 잡을 수 있는 부품의 총 무게가 정해져 있습니다 (이것이 토큰 예산입니다).

제공된 논문은 공장이 멈추지 않고 막히지 않으면서 최대한 많은 수의 로봇을 생산할 수 있도록 주문을 어떻게 조직화할지에 대한 수학적 연구입니다.

다음은 간단한 비유를 사용한 그들의 발견 사항 요약입니다:

1. 황금률: "팔을 놀리지 마세요"

이 논문에서 가장 중요한 발견은 **"Work-Conserving(작업 유지)"**이라는 개념입니다.

로봇 팔이 부품을 잡을 준비가 되었다고 상상해 보세요.

  • 나쁜 방법: 팔이 '설정' 부품을 잡게 하려면 설정 주문만 대기 중이어야 합니다. 만약 '조립' 주문이 대기 중이라면, 팔에 빈 공간이 있더라도 이를 무시합니다. 또는 '조립' 부품만 잡게 하려면 조립 주문만 있어야 합니다.
    • 결과: 팔은 특정 유형의 주문을 기다리며 반쯤 비워진 채 방치되고, 다른 유형의 주문은 거대한 더미로 쌓입니다. 공장은 느려지거나 멈춥니다.
  • 좋은 방법 (Work-Conserving): 팔에 공간이 있다면, 이용 가능한 모든 것으로 채웁니다. 설정 부품과 조립 부품을 같은 배치에 섞습니다. 할 일이 있는데 팔을 놀리지 않습니다.

논문의 주장: 이 "버킷 채우기" 규칙을 따르는 알고리즘들 (예: OrcaSarathi-Serve) 은 수학적으로 가장 효율적인 것으로 입증되었습니다. 시스템이 붕괴되지 않고 처리할 수 있는 최대 작업량을 처리할 수 있습니다.

2. "구식" 대 "신식" 공장 관리자

저자들은 네 가지 인기 있는 "관리자" (스케줄링 알고리즘) 를 테스트하여 누가 황금률을 따르는지 확인했습니다:

  • FasterTransformer & Vanilla vLLM (엄격한 관리자): 이 관리자들은 너무 까다롭습니다.
    • FasterTransformer는 '조립' 부품만 잡습니다. 조립 주문이 없다면, 팔이 비어 있더라도 대기 중인 '설정' 주문을 무시합니다.
    • Vanilla vLLM은 '설정' 부품만 잡습니다. 설정 주문이 없다면, 대기 중인 '조립' 주문을 무시합니다.
    • 판단: 이 방법들은 최적이 아닙니다. 고부하 상태에서는 공장이 막히고 불안정해집니다.
  • Orca & Sarathi-Serve (유연한 관리자): 이 관리자들은 두 가지 유형의 작업을 섞습니다. 들어맞는 대로 팔을 채웁니다.
    • 판단: 이 방법들은 최적입니다. 공장이 최대 속도로 원활하게 작동하도록 유지합니다.

3. "AI 에이전트" 공장 (복잡한 워크플로우)

때로는 하나의 주문이 단일 로봇이 아니라, 함께 작동하는 로봇 팀 전체일 수 있습니다.

  • DAG (방향성 비순환 그래프): 주문 A 가 스테이션 1 로 갔다가, 스테이션 2, 그리고 스테이션 3 으로 이동하고 다시 돌아오지 않는 워크플로우를 상상해 보세요.
    • 발견: 워크플로우가 직선 (루프 없음) 인 한, "팔을 놀리지 마세요"라는 규칙은 모든 스테이션에서 완벽하게 작동합니다.
  • 포크 - 조인 (Fork-Join): 주문 A 가 세 개의 하위 작업으로 분할되어 세 개의 다른 스테이션으로 가고, 모든 하위 작업이 완료되어야만 최종 단계가 시작되는 상황을 상상해 보세요.
    • 발견: "팔을 놀리지 마세요"라는 규칙은 여기서도 여전히 작동합니다.
  • 사이클 (함정): 주문 A 가 스테이션 1 에서 스테이션 2 로 이동하고, 주문 B 가 스테이션 2 에서 다시 스테이션 1 로 이동하는 상황을 상상해 보세요. 그들은 원을 그리며 서로를 쫓고 있습니다.
    • 발견: 여기서는 "팔을 놀리지 마세요"라는 규칙이 실패할 수 있습니다. 관리자가 최선을 다하더라도, 순환하는 교통 흐름은 영원히 해소되지 않는 정체를 초래할 수 있습니다. 논문은 공장에 이러한 순환 루프가 존재한다면, 단순한 "버킷 채우기" 관리자보다는 훨씬 더 지능적이고 신중한 관리자가 필요하다고 보여줍니다.

4. "버킷 크기"의 놀라운 사실

공장에는 두 번째 제한이 있습니다: **배치 크기 (Batch Size)**입니다. 이는 부품의 무게와 상관없이 팔이 보유할 수 있는 주문의 최대 개수입니다.

  • 놀라운 사실: 저자들은 때로는 팔을 절대적인 최대 무게 한도 (토큰 예산) 까지 채우는 것이 실제로는 나쁜 아이디어일 수 있음을 발견했습니다.
  • 비유: 100 파운드를 담을 수 있는 버킷이 있다고 상상해 보세요. 100 개의 작은 자갈 (설정) 과 100 개의 무거운 벽돌 (조립) 이 있습니다.
    • 만약 벽돌로 버킷을 100 파운드까지 채우려 한다면, 겨우 5 개의 벽돌만 들어갈지도 모릅니다. 이 무거운 하중을 들어 올리는 데는 시간이 오래 걸립니다.
    • 하지만 50 파운드 (더 작은 하중) 에서 멈춘다면, 훨씬 빠르게 들어 올릴 수 있어 시간당 더 많은 횟수의 운송을 할 수 있습니다.
  • 발견: 특정 상황에서는 처리 속도를 높이기 위해 버킷이 가득 차기 전에 채우기를 멈추는 것이 가장 효율적인 전략입니다. 이는 개별 작업의 크기와 주문의 혼합 비율이 정체를 유발하기에 딱 맞다면, "좋은 관리자 (Work-Conserving)"조차 실패할 수 있음을 의미합니다.

요약

이 논문은 우리에게 다음과 같이 말합니다:

  1. 작업을 섞으세요: 설정과 조립 작업을 분리하지 마세요. GPU 를 바쁘게 유지하기 위해 같은 배치에 섞으세요.
  2. Orca 와 Sarathi-Serve 가 승리자입니다: 이 두 도구는 "섞고 채우기" 규칙을 따르므로, 대부분의 상황에서 가장 안정적이고 효율적인 선택입니다.
  3. 루프에 주의하세요: AI 에이전트가 서버 간에 순환적으로 작업을 주고받는다면, 단순한 "버킷 채우기" 규칙은 작동하지 않을 수 있습니다. 특수한 교통 통제 장치가 필요합니다.
  4. 가득 차는 것이 항상 최선은 아닙니다: 개별 작업의 크기에 따라 배치를 가득 채우는 것보다 약간의 빈 공간을 남겨두는 것이 더 현명할 수 있습니다.

이 모든 수학의 목표는 수백만 명의 사람들이 동시에 질문을 할 때 AI 시스템이 충돌하지 않도록 엔지니어들이 시스템을 구축하는 데 도움을 주는 것입니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →