Token Management in Multi-Tenant AI Inference Platforms

이 논문은 다중 테넌트 AI 추론 플랫폼에서 리소스 활용과 서비스 수준 보장을 균형 있게 달성하기 위해, 추론 비용과 burst 특성을 고려한 '토큰 풀 (token pools)'이라는 새로운 제어 평면 추상화를 제안하고, 이를 통해 과부하 상황에서도 우선순위 기반 할당과 공정한 리소스 분배를 실현함을 보여줍니다.

William J. Cunningham

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

Each language version is independently generated for its own context, not a direct translation.

🍕 비유: "AI 식당과 토큰 쿠폰"

생각해 보세요. 거대한 AI 식당이 있다고 가정해 봅시다. 이 식당에는 아주 유명한 요리사 (AI 모델) 가 한 명만 있습니다. 손님이 많을 때, 이 요리사는 한 번에 여러 테이블의 주문을 동시에 처리해야 합니다.

1. 기존의 문제점: "주문 횟수만 세는 식당"

지금까지 대부분의 식당은 "주문 횟수" 만 세어서 관리했습니다.

  • 문제: 어떤 손님은 "간단한 물 한 잔" (짧은 질문) 을 시키고, 다른 손님은 "거대한 100 가지 재료가 들어간 스페셜 파스타" (긴 문맥, 복잡한 추론) 를 시킵니다.
  • 현실: 요리사는 파스타를 만드는 데 물 한 잔보다 100 배 더 많은 시간과 에너지를 씁니다. 하지만 식당 주인은 "주문 1 개 = 1 점"으로만 계산해서, 파스타를 시킨 손님이 요리사를 꽉 막아버리면, 물 한 잔을 시킨 VIP 고객도 기다려야 합니다.
  • 결과: 중요한 고객도 늦어지고, 요리사는 과부하로 쓰러집니다.

2. 이 논문의 해결책: "토큰 풀 (Token Pools)"

이 논문은 "주문 횟수"가 아니라 "요리사에게 필요한 실제 에너지 (토큰)" 로 자원을 관리하자고 제안합니다.

  • 토큰 풀 (Token Pool): 요리사의 총 에너지를 나타내는 거대한 통입니다.
    • 토큰 (Token): 요리사가 한 번에 할 수 있는 작업량 (예: 글자 하나를 만드는 데 드는 에너지).
    • KV 캐시 (KV Cache): 요리사가 기억해 둬야 하는 메모리 공간 (예: 긴 대화 내용을 기억하는 공간).
    • 동시성 (Concurrency): 요리사가 동시에 몇 명을 상대할 수 있는지.

이 시스템은 손님이 주문할 때, "이 주문을 처리하는 데 요리사의 에너지가 얼마나 들까?" 를 미리 계산합니다.

3. VIP 와 일반 손님: "서비스 등급 (Service Classes)"

식당은 손님을 등급으로 나눕니다.

  • VIP (Dedicated/Guaranteed): "우리는 항상 요리사의 시간을 보장받아요. 다른 손님이 와도 우리 주문은 절대 밀리지 않아요." (자원이 부족해도 절대 거절당하지 않음)
  • 일반 (Elastic): "요리사가 여유로울 때만 주문하세요. 바쁘면 잠시 기다려주세요. 대신 나중에 여유가 생기면 보상을 해드릴게요."
  • 일시적 (Spot): "요리사가 완전히 쉬고 있을 때만 주문하세요. 바쁘면 바로 거절당합니다."

4. 공정한 분배: "빚 (Debt) 시스템"

이게 가장 재미있는 부분입니다.

  • 상황: 요리사가 바빠서 일반 손님 (Elastic) 의 주문을 거절했습니다.
  • 기존 방식: 그냥 "거절"하고 끝납니다. 그 손님은 불만만 쌓입니다.
  • 이 시스템의 방식: "죄송합니다. 하지만 빚 (Debt) 을 남겼어요."
    • 서비스를 못 받은 손님은 '빚' 을 쌓습니다.
    • 나중에 요리사가 조금만 여유로워지면, 이 '빚' 이 있는 손님은 우선권을 얻어서 주문을 처리받습니다.
    • 반대로, 너무 많이 받아먹은 손님은 '신용 (Credit)' 을 쌓아, 나중에 조금 더 기다려야 합니다.
    • 결과: 시간이 지나면 모든 손님이 공평하게 서비스를 받게 됩니다.

5. 실험 결과: "혼잡한 도로에서의 교통 통제"

논문의 실험은 두 가지 상황을 보여줍니다.

  • 실험 1 (VIP 보호):

    • 상황: 일반 손님 (Spot) 들이 몰려와서 도로가 꽉 막혔습니다.
    • 결과: 토큰 풀 시스템은 일반 손님의 차를 도로 입구에서 미리 막았습니다 (거절). 덕분에 VIP 손님의 차는 속도 제한 없이 빠르게 목적지에 도착했습니다.
    • 비유: "도로가 막히면, 일반 차는 진입을 막고 VIP 차만 통과시켜서 VIP 는 1 초도 안 걸리게 했다."
  • 실험 2 (공정한 분배):

    • 상황: 도로가 갑자기 좁아져서 차가 절반만 지나갈 수 있게 되었습니다.
    • 결과: "빨리 가고 싶은 차 (낮은 지연 시간 요구)"와 "천천히 가도 되는 화물차 (긴 대기 허용)"가 섞여 있었습니다.
    • 시스템은 화물차를 먼저 멈추게 하고, 빨리 가고 싶은 차를 통과시켰습니다. 하지만 화물차가 너무 오래 기다리면, 시스템이 "이제 화물차도 좀 지나가게 해줘" 라고 우선순위를 바꿔주었습니다.
    • 비유: "모두가 공평하게 기회를 얻도록, 기다린 시간에 비례해서 우선권을 줬다."

💡 핵심 요약

이 논문이 말하고 싶은 것은 "AI 를 쓸 때, 단순히 '몇 번 요청했는지'가 아니라 '얼마나 많은 자원을 썼는지'를 기준으로 관리해야 한다" 는 것입니다.

  1. 미리 통제: 요리사가 바빠지기 전에, "이 주문은 요리사를 너무 힘들게 하니까 거절하자"라고 입구에서 결정합니다.
  2. 공정한 보상: 자리가 부족해서 서비스를 못 받은 사람은 나중에 우선권 (빚 시스템) 을 줍니다.
  3. VIP 보호: 중요한 작업은 어떤 일이 있어도 지연 없이 처리됩니다.

이 방식은 AI 식당이 혼잡해져도, 중요한 고객은 불만 없이 서비스를 받고, 일반 고객들도 공평하게 기회를 얻어 전체 시스템이 효율적으로 돌아가게 해줍니다.

이런 논문을 받은편지함으로 받아보세요

관심사에 맞는 일간 또는 주간 다이제스트. Gist 또는 기술 요약을 당신의 언어로.

Digest 사용해 보기 →