기술 가이드

BentoML 및 모델 패키징

BentoML은 학습된 기계 학습 모델을 'Bentos'라는 표준화되고 배포 가능한 단위로 패키징하는 오픈 소스 Python 프레임워크입니다.

2분 읽기마지막 업데이트

개요

It bridges the gap between a model sitting in a notebook and a production service that can actually serve predictions over an API.

심층 분석

데이터 과학자가 모델 훈련을 마치고 모델을 프로덕션에 투입한다는 것은 일반적으로 제공 코드를 수동으로 작성하고, 종속성을 고정하고, Docker 이미지를 구축하고, API를 연결하는 것을 의미합니다. BentoML은 이를 자동화합니다. 모델을 로컬 모델 저장소에 저장한 다음 추론을 처리하도록 장식된 API 엔드포인트를 사용하여 서비스 클래스를 정의합니다. 'bentoml build' 명령은 모델, Python 코드, 종속성 버전 및 런타임 구성을 자체 포함된 버전의 Bento로 패키징합니다. 거기에서 'bentoml Containerize'가 OCI Docker 이미지를 생성합니다. BentoML은 거의 모든 프레임워크(PyTorch, TensorFlow, scikit-learn, XGBoost, Hugging Face Transformers, ONNX)를 지원하고, 들어오는 요청을 자동으로 그룹화하여 코드 변경 없이 GPU 처리량을 최대화하는 적응형 마이크로 배치를 추가합니다.

기술적 통찰력

BentoML은 API 서버 로직에서 '런너'(계산량이 많은 모델 실행)를 분리합니다. 실행자는 독립적으로 확장하고 자체 작업자 프로세스에서 실행할 수 있으며, 경량 HTTP/gRPC 서버는 요청 라우팅 및 I/O를 처리합니다. 적응형 일괄 처리는 런타임 시 일괄 처리 크기와 대기 시간 창을 동적으로 조정하므로 트래픽 버스트를 흡수하고 값비싼 가속기를 작동 상태로 유지합니다. 표준화된 Bento 형식에는 매니페스트, 모델 파일 및 재현 가능한 환경이 포함되어 있어 시스템 전체에서 빌드가 결정적입니다.

전략적 영향

비용 및 예산

아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.

더 명확한 결정들

기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.

품질 관리

더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.

BentoML과 모델 패키징의 미래

BentoML은 스트리밍 토큰 응답, 자동 확장 및 GPU 인식 스케줄링을 제공하는 OpenLLM 및 BentoCloud를 통해 대규모 언어 모델 및 생성적 AI 서비스에 집중했습니다. vLLM 및 TensorRT-LLM과 같은 추론 최적화 프로그램과의 더 긴밀한 통합, 다중 모델 복합 AI 시스템에 대한 더 나은 지원, 패키지 Bento에서 서버리스 GPU 배포로의 더 원활한 경로를 기대하세요. 팀이 단일 모델에서 에이전트 파이프라인으로 이동함에 따라 BentoML은 이러한 구성 요소를 함께 묶는 패키징 및 제공 계층으로 자리매김하고 있습니다.

실제 구현

사기 탐지 팀은 XGBoost 모델을 BentoML 스토어에 저장하고 결제 서비스가 실시간으로 호출할 수 있도록 /predict REST 엔드포인트를 노출하는 Bento를 구축합니다.

ML 플랫폼 팀은 'bentoml 컨테이너화'를 사용하여 Hugging Face 감정 모델을 내부 Kubernetes 클러스터에 배포되는 Docker 이미지로 전환합니다.

한 스타트업에서는 OpenLLM(BentoML 기반)을 사용하여 미세 조정된 Llama 모델을 제공하고 GPU를 포화 상태로 유지하는 적응형 일괄 처리를 통해 채팅 UI에 토큰을 스트리밍합니다.

컴퓨터 비전 회사는 전처리 파이프라인과 함께 PyTorch 이미지 분류기를 하나의 Bento로 패키징하여 훈련에 사용되는 정확한 변환이 모델과 함께 제공되도록 합니다.

위험 및 가드레일

하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.

인프라 및 유지 관리 비용은 종종 과소평가됩니다.

시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.

구현 로드맵

1

구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.

2

현실적인 로드 및 데이터 조건에서 벤치마킹합니다.

3

오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.

4

확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.

계속 탐색하세요

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the BentoML and Model Packaging quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

퀴즈 시작

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

다음 가이드

코드 모델에 대한 추측적 편집

자주 묻는 질문

What is BentoML and Model Packaging?

BentoML은 학습된 기계 학습 모델을 'Bentos'라는 표준화되고 배포 가능한 단위로 패키징하는 오픈 소스 Python 프레임워크입니다. 이는 노트북에 있는 모델과 실제로 API를 통해 예측을 제공할 수 있는 프로덕션 서비스 사이의 격차를 해소합니다.

BentoML이 생산하는 표준화되고 배포 가능한 단위는 무엇입니까?

BentoML은 모델, 해당 코드, 종속성 및 런타임 구성을 Bento라는 버전이 지정된 자체 포함 단위로 패키징합니다.

BentoML의 적응형 마이크로 배치는 주로 무엇을 개선합니까?

적응형 일괄 처리는 런타임에 들어오는 요청을 그룹화하여 GPU를 계속 사용하고 코드 변경 없이 처리량을 최대화합니다.

BentoML의 아키텍처에서 API 서버와 별도로 컴퓨팅 집약적인 모델 실행을 처리하는 것은 무엇입니까?

실행기는 모델 추론을 캡슐화하고 경량 API 서버에서 분리된 자체 작업자 프로세스에서 확장할 수 있습니다.

빌드된 Bento를 OCI Docker 이미지로 바꾸는 명령은 무엇입니까?

'bentoml Containerize'는 배포용 Bento에서 표준 OCI/Docker 이미지를 생성합니다.

다음 중 BentoML이 Bento에 종속성 버전을 삽입하는 주요 이유는 무엇입니까?

환경을 고정하고 포함하면 패키지된 서비스가 실행될 때마다 재현 가능하고 일관성이 있게 됩니다.