BentoML

구조

가장 간단한 BentoML 모델 패키지의 경우 아래와 같은 구조를 가집니다.

simple_model.zip
├── bentofile.yaml
├── requirements.txt
├── packages.txt
└── service.py

환경

BentoML 배포 환경에서는 buildpack-deps:jammy (Ubuntu 22.04) 기반으로 Python 3.10 버전을 사용합니다. 압축 해제된 모델은 /user/model 에 위치하게 됩니다.

Aptitude

리눅스 패키지 관리자인 apt-get 을 이용하여 패키지를 설치할 수 있습니다. 설치할 패키지는 packages.txt 안에 한 줄씩 작성할 수 있습니다.

packages.txt
ffmpeg
libopenal1

packages.txt 안에 있는 패키지는 다음 명령어를 통해 시스템에 설치됩니다.

xargs sudo apt-get --no-install-recommends -y install < packages.txt

Virtualenv

환경 준비 스크립트는 requirements.txt에 작성된 pip 패키지만 설치합니다. requirements.txt에 bentoml이 포함되어 있어야 합니다.

pip install --no-cache-dir -r requirements.txt

현재 환경에 설치된 모든 패키지를 나열하려면 아래 명령어를 사용하면 됩니다.

pip freeze > requirements.txt

BentoML

실행 컨테이너에서 BentoML은 다음 명령어를 이용해 실행됩니다. 로컬 환경에서 동일한 명령어를 이용하여 실행되는지 확인할 수 있습니다.

bentoml serve /user_model --host 0.0.0.0 --p 8080

BentoML 기반 모델 작성에 대한 자세한 사항은 BentoML docs 를 참조하십시오.

Last updated