Amazon SageMaker로 Hugging Face 모델을 쉽게 배포하기
Hugging Face와 Amazon SageMaker는 새로운 Inference Deep Learning Containers(DLCs)와 전용 Inference Toolkit을 도입하여, 사용자가 훈련된 Transformer 모델이나 Hugging Face Model Hub의 10,000개 이상의 모델을 최소한의 코드로 프로덕션 수준의 AWS 엔드포인트에 배포할 수 있도록 합니다.
Inference DLC를 활용한 간소화된 모델 배포
Amazon SageMaker는 이제 Hugging Face Inference Deep Learning Containers(DLCs)를 지원합니다. 이 컨테이너는 완전하게 테스트되고 최적화된 딥러닝 환경을 제공하여 수동 설치나 설정이 필요 없게 합니다. 이러한 컨테이너를 사용하면 AWS 환경 내에서 확장 가능한 프로덕션 수준의 엔드포인트를 빠르게 생성할 수 있으며, 내장된 모니터링 및 엔터프라이즈 기능을 포함합니다.
사용자는 SageMaker Python SDK의 HuggingFaceModel 클래스를 사용하여 모델을 배포할 수 있습니다. 배포 과정이 간소화되어 훈련된 모델을 추론용으로 단 한 줄의 추가 코드만으로 배포할 수 있습니다.
SageMaker Hugging Face Inference Toolkit
배포 장벽을 더욱 낮추기 위해 Hugging Face는 SageMaker Hugging Face Inference Toolkit을 만들었습니다. 이 툴킷은 transformers 라이브러리의 pipelines를 활용하여 “코드 없이(zero-code)” 배포를 가능하게 하며, 사용자는 전처리 또는 후처리를 위한 커스텀 코드를 작성할 필요가 없습니다.
API 및 요청 구조
Inference Toolkit은 Hugging Face Accelerated Inference API와 유사한 API를 사용합니다. 요청은 inputs 키 안에 입력을 정의해야 하며, 선택적인 파이프라인 매개변수는 parameters 키를 통해 추가할 수 있습니다.
예시 요청 구조는 다음과 같습니다:
- Text Classification:
inputs문자열을 포함하는 JSON 본문. - Question Answering:
question및context키를 모두 포함하는inputs객체. - Zero-Shot Classification:
inputs문자열과candidate_labels를 포함하는parameters객체.
커스터마이징 및 "Bring Your Own Code"
zero-code 배포가 주요 기능이지만, Inference Toolkit은 "bring your own code" 방식을 지원합니다. 이를 통해 개발자는 기본 메서드를 재정의하여 커스텀 추론 로직을 구현할 수 있습니다.
배포 워크플로우
Transformer 모델을 Amazon SageMaker에 배포하기 위한 세 가지 주요 워크플로우가 있습니다:
1. 학습 직후 바로 배포
Estimator 클래스를 사용해 SageMaker에서 모델을 학습할 경우, .fit() 메서드 이후 바로 모델을 배포할 수 있습니다. 이 접근 방식은 SageMaker 모델 컨테이너 메타데이터가 학습 작업에서 배포된 모델까지의 연속성을 유지하도록 보장합니다.
2. 사전 학습된 체크포인트에서 배포
이미 학습되어 Amazon S3에 아티팩트로 저장된 모델의 경우, model_data 인수(모델의 S3 경로), IAM 역할, 그리고 사용된 transformers와 pytorch 버전을 지정하여 HuggingFaceModel 클래스를 사용할 수 있습니다.
3. Hugging Face Model Hub에서 배포
사용자는 HuggingFaceModel 설정에 두 개의 환경 변수를 정의함으로써 Model Hub에 공개된 10,000개 이상의 모델을 SageMaker에 직접 배포할 수 있습니다:
HF_MODEL_ID: huggingface.co/models에서 해당 모델 ID.HF_TASK: Transformers 파이프라인과 연관된 NLP 작업(예:question-answering).
기술 사양 및 호환성
- Supported Models: 이 시스템은 SageMaker(또는 기타 호환 플랫폼)에서 학습된 모든 Transformer 모델, Hugging Face Model Hub의 공개 모델, 그리고 프리미엄 Hugging Face 계정에 호스팅된 비공개 모델을 지원합니다.
- Supported Tasks: Inference Toolkit과 DLC는
transformers파이프라인을 통해 이용 가능한 모든 작업을 지원합니다. - Deployment Tools: SageMaker Python SDK가 기본 인터페이스이지만, Hugging Face DLC는 AWS CLI,
boto3, Terraform, CloudFormation 템플릿 등 다른 도구를 사용하여 배포할 수 있습니다. - Security: 배포는 저장 및 전송 시 암호화, Virtual Private Cloud(VPC) 연결, Identity and Access Management(IAM) 등 AWS 메커니즘을 통해 보안이 유지됩니다.
SUMMARY: Hugging Face와 Amazon SageMaker는 새로운 Inference Deep Learning Containers(DLCs)와 Inference Toolkit을 도입하여 Transformer 모델을 프로덕션 수준의 엔드포인트에 배포하는 과정을 간소화했습니다.
TITLE: Amazon SageMaker로 Hugging Face 모델을 쉽게 배포하기