Amazon SageMaker와 Hugging Face 파트너십
TL;DR
Hugging Face와 Amazon은 Hugging Face Transformers를 Amazon SageMaker에 통합하여 최첨단 NLP 모델의 학습 및 배포를 간소화하기 위한 전략적 파트너십을 체결했습니다. 이번 협업을 통해 전용 Hugging Face Deep Learning Containers (DLCs)와 SageMaker Python SDK를 위한 퍼스트 클래스 확장이 도입되어, 실험 설정 및 실행 시간을 며칠에서 몇 분으로 단축할 수 있습니다.
Hugging Face Deep Learning Containers (DLCs)
Amazon SageMaker는 이제 transformers, datasets, tokenizers와 같은 딥러닝 프레임워크 및 라이브러리가 사전 설치된 Docker 이미지인 Hugging Face DLCs를 제공합니다. 이러한 컨테이너를 사용하면 사용자가 환경을 처음부터 직접 구축하고 최적화할 필요가 없습니다.
DLCs의 주요 특징은 다음과 같습니다:
- Framework Support: TensorFlow와 PyTorch 모두를 위한 최적화된 변형이 제공됩니다.
- Infrastructure Flexibility: 단일 GPU, 단일 노드 멀티 GPU, 그리고 멀티 노드 클러스터 지원.
- Performance: 학습 속도를 높이고 가성비를 최적화하기 위해 PyTorch와 TensorFlow에 내장된 최적화 기능이 포함되어 있습니다.
- Open Source: DLCs는 Apache 2.0 라이선스 하에 제공됩니다.
SageMaker Python SDK Integration
데이터 과학에서 프로덕션으로의 전환을 가속화하기 위해, Hugging Face는 SageMaker Python SDK를 위한 퍼스트 클래스 확장을 개발했습니다. 이 통합을 통해 사용자는 HuggingFace Estimator를 생성하여 엔드 투 엔드 학습 과정을 관리할 수 있습니다.
Core Capabilities
- Automatic Model Tuning: 하이퍼파라미터 최적화 및 모델 정확도 향상을 위해 SageMaker의 Automatic Model Tuning과 통합됩니다.
- Experiment Tracking: 학습 아티팩트 및 실험을 추적하고 비교하기 위해 SageMaker Studio IDE와 호환됩니다.
- Managed Infrastructure: SageMaker는 Amazon EC2 인스턴스를 자동으로 관리하고, 학습 스크립트(예:
train.py)를 업로드하며, Amazon S3로부터의 데이터 I/O를 처리합니다.
Advanced Training Features
이번 파트너십은 대규모 NLP 워크로드를 처리하기 위한 여러 고성능 학습 기능을 도입합니다.
Distributed Training
사용자는 분산 파라미터를 정의함으로써 HuggingFace Estimator를 통해 SageMaker 분산 학습 라이브러리를 직접 활용할 수 있습니다:
- Data Parallelism: 대규모 데이터셋에 대한 학습을 간소화하기 위해
TrainerAPI에 통합되었습니다. - Model Parallelism: 모델을 여러 GPU/노드에 분할하여 수십억 개의 파라미터를 가진 모델의 학습을 지원합니다.
Cost and Workflow Optimization
- Managed Spot Instances: 사용자는 EC2 스팟 인스턴스를 활용하여 학습 비용을 최대 90%까지 절감할 수 있습니다. 장기 실행 작업의 경우
checkpoint_s3_uri와 함께 사용하는 것이 권장됩니다. - Git Repository Integration: Estimator의
entry_point및source_dir를 GitHub 저장소로 직접 지정할 수 있어, 스크립트를 로컬에 다운로드할 필요가 없습니다. - SageMaker Metrics: 시스템은 정규 표현식을 사용하여 로그를 자동으로 파싱하여 학습 메트릭(예:
eval_loss,eval_accuracy)을을 Amazon CloudWatch로 전송할 수 있습니다.
Deployment and Inference
초기에는 학습에 초점을 맞추었으나, 2021년 7월 8일에 통합 기능이 확장되어 Amazon SageMaker 내에서 Transformers 모델의 간편한 배포 및 추론을 포함하게 되었습니다.
Summary of Benefits
Hugging Face FAQ에 따르면, Hugging Face 모델을 위해 SageMaker를 사용하는 것은 세 가지 주요 장점을 제공합니다:
- Cost-Effectiveness: 인스턴스는 초 단위로 비용이 청구되며 작업이 종료되면 자동으로 종료됩니다.
- MLOps Automation: 학습 메타데이터, 로그, 그리고 체크포인트 및 아티팩트를 위한 S3 I/O가 완전히 관리됩니다.
- Scalability: 여러 개의 병렬 학습 작업을 실행하고 대규모 분산 학습을 가능 수 있게 합니다.