BentoML GPU 추론

BentoML GPU 추론

AI 모델을 서빙할 때 GPU를 활용하면 큰 모델도 실시간으로 추론할 수 있어요. BentoML은 Service에 GPU 리소스를 지정해 GPU 추론을 실행하는 방법을 제공해요. 이 페이지에서는 GPU를 사용하도록 Service를 구성하는 방법을 다뤄요.

출처: BentoML Work with GPUs (공식)

GPU 리소스 지정하기

Service를 정의할 때 resources 항목에 GPU 개수를 지정해요.

import bentoml

@bentoml.service(
    resources={"gpu": 1},
)
class GPUService:
    def __init__(self):
        self.model = load_gpu_model()

    @bentoml.api
    def predict(self, input_data):
        return self.model(input_data)

"gpu": 1은 이 Service가 GPU 하나를 필요로 한다는 뜻이에요. BentoML은 배포 시 이 리소스를 존중해서 GPU가 있는 환경에 스케줄링해요.

여러 GPU와 세부 설정

GPU가 여러 개 필요한 모델이라면 개수를 늘리고, 필요하면 추가 설정을 포함할 수 있어요. 예를 들어 GPU 메모리 쿼터나 도커 런타임 옵션을 resources 안에 지정할 수 있어요.

BentoCloud에서의 GPU 배포

BentoCloud에 배포하면 GPU 지정에 따라 자동으로 GPU 인스턴스에 스케줄링돼요. 코드에서 resources={"gpu": N}으로 정한 만큼 GPU가 할당되고, 자동 확장과 결합해 최적 성능을 유지해요.

더 알아보기