프로덕션에서 AI/ML 모델을 제공하는 가장 간단한 방법
한 번 작성하고 어디서나 실행: 개발 및 프로덕션에서 동일하게 작동하는 모델 서버를 사용하여 모델 코드, 가중치 및 종속성을 패키지하고 테스트합니다.
빠른 개발자 루프: 라이브 다시 로드 서버의 빠른 피드백으로 모델을 구현하고, 배터리가 포함된 모델 제공 환경으로 Docker 및 Kubernetes 구성을 건너뜁니다.
모든 Python 프레임워크 지원 : transformers
및 diffusers
에서 PyTorch
및 TensorFlow
, TensorRT
및 Triton
에 이르기까지 Truss는 모든 프레임워크로 생성되고 제공되는 모델을 지원합니다.
다음을 포함한 인기 모델을 보려면 트러스를 참조하세요.
라마 2 7B (13B) (70B)
안정확산XL
속삭임
그리고 수십 가지의 예가 더 있습니다.
다음을 사용하여 트러스를 설치하십시오.
pip install --upgrade truss
빠른 예로 오픈 소스 transformers
패키지의 텍스트 분류 파이프라인을 패키징하겠습니다.
시작하려면 다음 터미널 명령을 사용하여 Truss를 만듭니다.
트러스 초기화 텍스트 분류
메시지가 표시되면 트러스에 Text classification
과 같은 이름을 지정합니다.
그런 다음 새로 생성된 디렉터리로 이동합니다.
CD 텍스트 분류
Truss의 두 가지 필수 파일 중 하나는 model/model.py
입니다. 이 파일에서는 패키징하는 ML 모델과 이를 실행하는 모델 서버 간의 인터페이스인 Model
클래스를 작성합니다.
Model
클래스에 구현해야 하는 두 가지 멤버 함수가 있습니다.
load()
모델 서버에 모델을 로드합니다. 모델 서버가 가동되거나 패치될 때 정확히 한 번 실행됩니다.
predict()
모델 추론을 처리합니다. 모델 서버가 호출될 때마다 실행됩니다.
텍스트 분류 모델에 대한 전체 model/model.py
다음과 같습니다.
변환기 가져오기 파이프라인클래스 모델:def __init__(self, **kwargs):self._model = 없음def load(self):self._model = 파이프라인("text-classification")def 예측(self, model_input):return self._model (모델_입력)
Truss의 또 다른 필수 파일은 모델 제공 환경을 구성하는 config.yaml
입니다. 구성 옵션의 전체 목록은 구성 참조를 확인하세요.
파이프라인 모델은 Transformers와 PyTorch를 사용합니다. 이러한 종속성은 Truss 구성에서 지정되어야 합니다.
config.yaml
에서 requirements
라인을 찾습니다. 빈 목록을 다음으로 바꾸세요.
요구 사항: - 토치==2.0.1 - 트랜스포머==4.30.0
다른 구성은 필요하지 않습니다.
Truss는 프로덕션에서 ML 모델을 실행하기 위한 인프라를 제공하는 Baseten에 의해 유지 관리됩니다. Baseten을 모델의 원격 호스트로 사용하겠습니다.
AWS SageMaker를 시작으로 다른 리모컨도 곧 출시될 예정입니다.
Baseten 리모컨을 설정하려면 Baseten API 키가 필요합니다. Baseten 계정이 없더라도 걱정하지 마세요. 계정을 등록하면 시작할 수 있는 충분한 무료 크레딧이 발급됩니다.
truss push
실행메시지가 표시되면 Baseten API 키를 붙여넣을 수 있으므로 모델을 배포할 수 있습니다.
트러스 푸시
Baseten의 모델 대시보드에서 모델 배포를 모니터링할 수 있습니다.
모델 배포가 완료되면 터미널에서 모델을 호출할 수 있습니다.
기도
truss Predict -d '"Truss는 정말 멋지네요!"'
응답
[ {"라벨": "양성","점수": 0.999873161315918 } ]
Truss는 Baseten의 지원을 받으며 전 세계 ML 엔지니어와 협력하여 구축되었습니다. 기여해주신 Stephan Auerhahn(stability.ai)과 Daniel Sarfati(@Salad Technologies)에게 특별히 감사드립니다.
우리는 기여자 가이드 및 행동 강령에 따른 기여를 열정적으로 환영합니다.