추론 장비군은 순간적인 요청 증가와 지연시간 목표에 맞춰 용량을 확보합니다. 미세조정 장비군은 오랫동안 이어지는 학습 진행량을 기준으로 구성합니다. 둘을 분리하면 운영은 단순해지지만 온라인 요청이 줄거나 학습 대기열이 비는 순간에도 한쪽의 GPU를 다른 쪽이 쓸 수 없습니다. GPU 전체를 장비군 사이에서 옮기는 방식은 요청 변화에 대응하기에는 느리고 단위도 큽니다.
FlexLLM은 하나의 모델과 GPU 반복을 두 작업이 공유할 수 있는지 묻습니다. 우선순위 스케줄러만 붙여서는 해결되지 않습니다. 미세조정은 추론에 없는 활성값, 역전파와 옵티마이저 상태를 사용하며, 긴 커널 하나가 시작되면 온라인 요청이 기다릴 수 있습니다. FlexLLM은 컴파일 단계에서 매개변수 효율 미세조정 그래프를 줄이고, 실행 단계에서는 학습을 토큰 크기의 작업으로 나눕니다. 추론이 지연시간을 먼저 확보하고 학습은 안전하게 남은 구간을 사용합니다.
GPU 한 장을 나누는 방식의 한계
여러 서비스는 하나의 고정된 기본 모델 위에 어댑터를 올립니다. 매개변수 효율 미세조정은 일부 가중치만 갱신하지만 일반 학습 시스템은 배치 처리량에 맞춘 활성값과 실행 그래프를 그대로 예약합니다. 이 시스템을 추론 서버 옆에서 실행하면 기본 모델을 중복 저장하거나 서로 다른 프로세스가 자원을 조정해야 합니다. 정적 분할은 한 작업을 보호하는 대신 다른 작업이 예약된 빈 공간을 쓰지 못하게 합니다.
두 수요가 변하는 시간도 다릅니다. 추론은 몇 초 단위로 달라지고 미세조정은 수십 분에서 수 시간 이어집니다. 클러스터 관리자는 지속된 변화 뒤에 작업을 옮길 수 있지만 디코드 반복 사이에 생기는 짧은 메모리와 연산 여유는 회수하지 못합니다. 공동 실행은 작업이나 배치보다 작은 단위에서 이루어져야 하며, 다음 요청이 늦어지기 전에 양보할 수 있어야 합니다.
FlexLLM은 토큰을 그 단위로 사용하며, 스케줄러는 다음 반복에 넣을 추론 토큰과 미세조정 토큰을 선택합니다. 요청이 늘면 학습량을 줄이거나 멈추고 지연시간 여유가 생기면 다시 늘립니다. 임의의 GPU 커널을 중간에 선점하는 것이 아니라, 미세조정 그래프와 상태를 이 경계에서 유효한 진행을 만들 수 있도록 구성합니다.

추론 옆에 들어가는 학습 그래프
첫 번째 제약은 메모리입니다. FlexLLM은 연산 사이의 의존성을 고려한 병렬화와 그래프 가지치기로 매개변수 효율 미세조정에 필요하지 않은 활성 상태를 줄입니다. 논문은 미세조정 경로의 종단 GPU 메모리 사용량을 최대 80% 줄였다고 보고합니다. 확보한 공간은 추론 KV 캐시, 더 큰 요청 배치나 추가 어댑터 학습에 사용할 수 있습니다.
의존성 기반 병렬화는 각 레이어에 같은 전략을 독립적으로 적용하지 않고 연산 관계를 함께 봅니다. 그래프 가지치기는 학습 대상 매개변수에 영향을 주지 않는 계산과 중간값을 제거합니다. 기본 모델 가중치는 고정된 채 공유됩니다. 실행 단계의 스케줄러가 메모리를 돌려주려면 그래프가 영구적으로 잡아 두는 공간부터 줄여야 합니다.
미세조정 토큰도 순전파와 역전파를 수행합니다. FlexLLM은 전체 학습 단계를 하나의 긴 작업으로 보지 않고 마이크로배치 진행을 추적하며 추론과 교차 실행합니다. 옵티마이저 의미와 그래디언트 누적 순서도 유지해야 합니다. 지원하는 PEFT 구성에서 중단은 학습이 끝나는 벽시계 시간을 바꾸지만 업데이트의 수학적 순서를 바꾸지 않습니다.
두 종류의 결과를 내는 스케줄러
일반 추론 스케줄러는 첫 토큰 시간, 토큰 사이 시간이나 기한 준수율을 최적화합니다. 학습 스케줄러는 처리한 샘플과 토큰을 늘립니다. FlexLLM은 둘을 동시에 만들어야 합니다. 지연시간에 민감한 요청을 먼저 넣고, 반복에 남은 실행 예산을 추정한 뒤 미세조정 토큰으로 채웁니다. 실제 지연시간 피드백을 받아 부하가 변할 때 비율을 조절합니다.
목표는 순간 GPU 사용률 100%가 아닙니다. 긴 학습 커널로 GPU를 채우면 요청 기한을 계속 놓칠 수 있습니다. 반대로 작은 여유를 남겨 꼬리 지연시간을 지키면 일정 시간 동안 완료한 유효 요청은 더 많아질 수 있습니다. SLO 안에 끝난 추론 작업과 미세조정 진행량을 서로 다른 지표로 측정해야 합니다.
토큰 단위도 비용이 있습니다. 더 잘게 나누면 요청에 빨리 반응하지만 스케줄링과 커널 실행 횟수가 늘어납니다. FlexLLM은 정적 그래프 최적화와 배치 실행으로 GPU가 처리하기에 충분한 작업 크기를 유지합니다. 매우 짧은 커널, 지원하지 않는 학습 연산이나 전체 매개변수 미세조정에서는 다른 균형점이 필요합니다.
모델과 부하별 평가 결과
종단 평가는 LLaMA-3.1-8B, Qwen-2.5-14B와 Qwen-2.5-32B를 사용합니다. FlexLLM은 시험한 추론 SLO에서 초당 최대 20개 요청까지 목표를 지켰습니다. 분리 배치 또는 비교한 공동 실행 방식보다 미세조정 처리량은 추론 부하가 높을 때 1.9~4.8배, 낮을 때 2.5~6.8배 높았습니다. 최대 부하에서도 시험한 구성은 최고 미세조정 진행량의 76% 이상을 유지했습니다.
이 범위를 하나의 고정 개선폭으로 읽으면 안 되며, 낮은 부하의 이점에는 추론 전용 예약이 남긴 용량이 포함됩니다. 부하가 높을 때의 결과는 SLO를 지킨 뒤 남는 여유에 따라 달라집니다. 모델 크기, 어댑터 랭크, 입력과 출력 길이, KV 캐시 압력, SLO 정의, 도착 분포와 GPU가 사용 가능한 예산을 바꿉니다. 지연시간 여유가 전혀 없는 서비스에서는 학습 몫이 0에 가까워질 수 있습니다.
메모리 80%도 평가 구성 중 최대값이며 전체 GPU 메모리가 항상 그만큼 줄었다는 뜻이 아닙니다. 기본 모델 가중치와 추론 KV 캐시는 남습니다. 장비 구매에서는 실제 모델과 문맥 길이 분포에서 GPU 한 장이 처리한 SLO 준수 요청과 미세조정 진행량을 함께 봐야 합니다.
하드웨어에서 정책으로 옮겨간 격리
GPU를 공유하면 별도 장비군이 제공하던 성능과 장애 분리가 약해집니다. 예상보다 긴 학습 입력이 메모리 압력을 높이고, 프로파일과 다른 커널이 오래 실행될 수 있습니다. 추론 요청이 계속 몰리면 미세조정이 오랫동안 진행되지 못할 수도 있습니다. 스케줄러가 서비스 신뢰성의 일부가 됩니다.
운영자는 작업별 최소·최대 자원 비율, 메모리 부족 격리, 취소와 사용량 정산을 정해야 하며, 학습 진행 속도가 불규칙하므로 체크포인트도 필요합니다. 추론 입장 제어는 이미 GPU에 올라간 학습 상태를 고려해야 합니다. 지연시간이 나빠진 뒤 학습을 멈추는 방식은 긴 커널이 이미 시작된 경우 늦습니다.
보안 기준도 강화해야 합니다. 기본 모델과 장치 메모리를 여러 어댑터가 공유하면 용량은 줄일 수 있지만, 메모리 초기화와 어댑터 소유권, 그래디언트와 학습 데이터의 격리가 중요해집니다. FlexLLM의 성능 메커니즘이 멀티테넌트 플랫폼의 책임을 대신하지는 않습니다.
두 축으로 그리는 용량 계획
기존 용량 계획은 추론 처리량 곡선과 학습 처리량 곡선을 따로 만듭니다. 공동 실행에는 하나의 전선이 필요합니다. 각 지점은 추론 요청률과 SLO 준수율, 그때 얻는 미세조정 진행량을 함께 표시해야 합니다. 두 토큰의 가치와 비용이 다르므로 합계 토큰이 가장 많은 지점이 최선은 아닙니다.
주야간 트래픽과 입력·출력 길이, 어댑터 랭크와 모델 크기를 바꿔 이 곡선을 측정해야 합니다. 평균뿐 아니라 p95와 p99 지연시간을 포함하고, 부하가 갑자기 늘었을 때 새 비율로 전환하는 시간도 기록해야 합니다. 안정된 뒤에는 좋아도 전환 과정에서 여러 요청을 놓치는 정책은 온라인 서비스에 적합하지 않을 수 있습니다.
전력은 세 번째 제약이 됩니다. 추론이 비운 구간을 학습으로 채우면 GPU를 쉬게 둘 때보다 에너지를 더 사용합니다. 완료 작업당 비용은 좋아져도 랙 전력 한도나 냉각 조건을 넘을 수 있습니다. 시설 한도와 학습 진행의 가치를 스케줄러가 알아야 올바른 지점을 선택할 수 있습니다.
적용 가능한 작업 조합
FlexLLM은 같은 기본 모델 계열의 추론과 PEFT 작업을 함께 운영하는 서비스에 잘 맞습니다. 공유 가중치와 미룰 수 있는 미세조정 대기열이 기회를 만듭니다. 전체 사전학습, 전체 매개변수 미세조정, 서로 다른 모델 구조나 강한 사용자 격리가 필요하면 이점이 줄어듭니다. 학습도 정해진 시각까지 끝내야 한다면 무한정 양보하는 배경 작업으로 둘 수 없습니다.
클러스터 단위 재배치와 함께 사용할 수 있습니다. 토큰 스케줄링은 초 단위 변화를 처리하고, 수요 상태가 오래 지속되면 클러스터 관리자가 공동 실행 복제본 수를 바꿉니다. 바깥 제어가 없으면 높은 부하에서 미세조정 상태만 메모리에 남고 진행은 거의 없을 수 있습니다. 안쪽 제어가 없으면 GPU 전체를 옮기는 동안 짧은 빈 구간을 계속 놓칩니다.
인수 시험에는 두 제어 루프와 체크포인트 복구, 예상하지 못한 요청 급증, 학습 완료 목표를 모두 넣어야 합니다. 일정한 부하 기록만 시험하면 실제 변화가 시작되는 순간에 약한 정책을 선택할 수 있습니다.
공동 실행을 선택하는 기준
FlexLLM은 남는 GPU 용량을 장치 한 장이 아니라 반복 안의 시간과 메모리로 정의합니다. 컴파일 단계에서 PEFT 그래프를 줄여 함께 들어갈 공간을 만들고, 토큰 단위 스케줄러가 추론 목표를 지킨 뒤 남은 예산만 사용합니다.
인프라 팀이 확인할 운영 조건은 비대칭입니다. 추론은 측정 가능한 기한을 가지고, 미세조정은 멈춤을 받아들이는 대신 탄력적으로 진행합니다. 두 작업 모두 강한 완료 보장이 필요하면 분리 운영이 단순할 수 있습니다. 학습을 미룰 수 있고 기본 모델을 공유한다면 GPU 전체를 나눈 격리는 비용이 큽니다. 이때 비교할 숫자는 사용률 하나가 아니라 SLO를 지킨 추론과 실제 학습 진행량의 조합입니다.
출처와 저작권 안내
이 글은 NSDI 2026 논문[1]을 우리 표현으로 다시 분석한 편집 다이제스트입니다. 논문의 문장·도판·표를 옮기지 않았으며, 본문 도판은 Silicon & Systems가 새로 제작했습니다. 결과는 저자들이 사용한 모델, PEFT 구성, 트래픽, SLO와 비교 시스템 조건을 유지해 인용했습니다. 원 논문의 저작권은 저자와 USENIX 프로시딩(2026)에 있습니다.