AI 시스템 구축: 배포 방식 – Truss
ㅁ 배포 방식
1. Truss
ㅇ 정의:
머신러닝 모델을 손쉽게 프로덕션 환경에 배포할 수 있도록 패키징하고 API 서버 형태로 변환해주는 오픈소스 도구.
ㅇ 특징:
– Python 기반으로 모델과 종속 라이브러리를 컨테이너 형태로 구성.
– 로컬에서 테스트 후 클라우드 환경(Kubernetes, AWS 등)에 쉽게 배포 가능.
– 모델 버전 관리와 재현성을 보장.
– REST API 형태로 모델 호출 가능.
ㅇ 적합한 경우:
– 데이터 사이언티스트가 모델을 빠르게 서비스화해야 하는 경우.
– MLOps 환경에서 표준화된 배포 파이프라인을 구축하려는 경우.
– 모델 변경이 잦고 버전 관리를 엄격히 해야 하는 경우.
ㅇ 시험 함정:
– Truss는 모델 학습 도구가 아닌 배포 도구임.
– Flask, FastAPI 등과 혼동하기 쉬우나, Truss는 배포 자동화와 패키징에 특화.
– Docker 없이도 동작한다고 오해할 수 있으나, 실제로는 컨테이너 기반 배포를 전제로 함.
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) Truss는 머신러닝 모델을 API 서버 형태로 패키징하여 배포할 수 있도록 돕는 도구이다.
– (X) Truss는 모델 학습 속도를 높이는 GPU 최적화 라이브러리이다.
ㅁ 추가 학습 내용
Truss의 내부 구조
– 예측 로직은 model.py 파일에 작성한다.
– 환경 설정은 config.yaml에서 관리한다.
– 로컬 실행 시 Docker를 활용하여 클라우드 환경과 동일한 실행 환경을 제공한다.
– 이를 통해 환경 차이로 인한 배포 오류를 줄일 수 있다.
시험 대비 포인트
– Truss, BentoML, MLflow Models Serve의 목적과 기능 차이를 비교해 정리해둘 것.