원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신은 수천 개의 객실(GPU)과 수천 명의 서로 다른 손님(AI 모델)이 있는 거대한 호텔을 운영하고 있다고 상상해 보세요. 어떤 손님은 24시간 내내 방을 원하는 유명인이고, 어떤 손님은 하루에 한 번 10분 동안만 체크인하는 관광객입니다.
문제는 이 호텔을 운영하는 데 비용이 많이 든다는 점입니다. 만약 관광객이 나타날 때를 대비해 모든 이에게 개인실을 배정한다면, 호텔의 90%가 비어 있게 되어 낭비가 발생합니다. 하지만 한 방에 모두를 몰아넣으려고 하면 혼란이 생기고, 유명인들은 기다려야 하기 때문에 화를 낼 것입니다.
Prism은 **"메모리 벌루닝(Memory Ballooning)"**이라는 기술을 사용하여 이 문제를 해결하는 스마트한 새로운 호텔 매니저입니다.
작동 원리는 다음과 같습니다.
1. 문제점: "고정된 방"의 함정
기존의 AI 운영 방식에서는 모델(손님)에게 방이 할당되면, 그 모델이 잠을 자고 있더라도(유휴 상태) 그 방은 영원히 그 모델의 것이었습니다.
- 공간 공유 (기존 방식): 여러 명의 손님을 한 방에 넣으려고 시도합니다. 손님들이 모두 깨어 있고 대화 중일 때는 아주 잘 작동합니다. 하지만 한 명의 손님이 일주일 동안 떠나 있으면, 그가 차지했던 방의 절반은 빈 상태로 남게 되며 다른 손님은 그 공간을 사용할 수 없습니다.
- 시간 공유 (또의 다른 기존 방식): 다른 사람을 들여보내기 위해 한 명을 쫓아냅니다. 손님들이 서로 다른 시간에 온다면 이 방식이 효과적입니다. 하지만 두 명의 손님이 정확히 같은 순간에 도착하면, 당신은 끊임없이 그들을 들여보내고 내보내야 합니다. 이 "쫓아내는 과정"은 느리며, 이는 대기 시간(지연)을 유발하여 사람들이 마감 기한을 놓치게 만듭니다.
실제 AI 트래픽은 매우 복잡합니다. 때로는 모델 그룹 전체가 동시에 바빠지기도 하고, 때로는 모두가 조용해지기도 합니다. 어떤 기존 전략도 이러한 변화를 감당할 수 없었습니다.
2. 해결책: "벌루닝(Ballooning)" 기술
Prism은 kvcached(벌룬 드라이버)라는 새로운 매니저를 도입합니다. GPU 메모리를 고정된 방이 아니라 공기가 들어가는 풍선이라고 생각하세요.
- 탄력적인 풍선: 모델이 바빠져서 더 많은 생각 공간이 필요할 때, 매니저는 현재 잠들어 있는 다른 모델들로부터 빈 공기를 뺏어와서 모델의 풍선을 부풀립니다.
- 다른 이를 위한 수축: 모델이 잠들면, 그 모델의 풍선은 줄어들며 공간을 방출합니다. 그러면 새로 깨어난 모델이 즉시 자신의 풍선을 부풀릴 수 있습니다.
- 가구 이동 없음: 가장 좋은 점은 모델들이 이런 일이 일어나고 있다는 사실조차 모른다는 것입니다. 그들은 단지 방이 마법처럼 확장되고 수축하는 것을 볼 뿐입니다. 매니저가 배후에서 모든 힘든 일을 처리합니다.
3. 2단계 전략
Prism은 누가 공기를 얻을지 결정하기 위해 두 가지 스마트한 규칙을 사용합니다.
- 규칙 1: 글로벌 스케줄러 (호텔 매니저): 호텔 전체를 살핍니다. "현재 어떤 그룹의 손님들이 활동 중인가?"라고 묻습니다. 그런 다음 활성화된 손님들을 같은 층(GPU)에 배치하여 공간을 쉽게 공유할 수 있도록 합니다. 만약 손님이 잠들어 있다면, 공간을 확보하기 위해 그들을 창고(CPU)로 옮깁니다. 매니저는 어떤 층은 과밀하고 다른 층은 비어 있지 않도록 호텔을 끊임없이 재배치합니다.
- 규칙 2: 로컬 스케줄러 (컨시어지): 지금 당장 들어오는 구체적인 요청을 살핍니다. 만약 두 명의 손님이 마지막 남은 공간을 두고 싸우고 있다면, 컨시어지는 누가 더 긴박한 마감 기한을 가졌는지 확인합니다. 더 급한 손님을 먼저 들여보내고, 덜 급한 손님에게는 잠시 기다리라고 말합니다. 이를 통해 가장 중요한 작업이 제시간에 완료되도록 보장합니다.
4. 결과
논문은 실제 주요 AI 제공업체의 데이터를 바탕으로 Prism을 테스트했으며, 다음과 같은 결과를 얻었습니다.
- 더 빠른 서비스: Prism은 이전 방식보다 성능 약속(SLO)을 최대 3.3배 더 잘 준수했습니다.
- 더 저렴한 비용: 동일한 수준의 성능을 내기 위해 Prism은 절반의 GPU만 필요했습니다(또는 동일한 하드웨어로 두 배 많은 요청을 처리할 수 있었습니다).
- 실제 증명: Prism은 이미 10,000개 이상의 GPU를 보유한 실제 운영 환경에 배치되어, 낭비되는 "유휴" 시간을 청구 가능한 작업으로 전환함으로써 기업들이 GPU당 훨씬 더 많은 수익을 창출하도록 돕고 있습니다.
요약
Prism은 스마트하고 탄력적인 호텔 매니저와 같습니다. 손님들을 고정된 방에 가두거나 끊임없이 쫓아내는 대신, 부풀어 오르는 풍선을 사용하여 공간을 동적으로 공유합니다. 바쁜 모델을 위해 공간을 확장하고 잠든 모델을 위해 공간을 줄임으로써, 호텔이 항상 가득 차 있고 효율적이며 빠르도록, 그리고 아무도 줄을 서서 기다리지 않도록 보장합니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.