피드로 돌아가기
Introducing the Hugging Face Embedding Container for Amazon SageMaker
Hugging Face BlogHugging Face Blog
Backend

AWS가 Hugging Face Embedding Container를 SageMaker에 출시해 오픈소스 임베딩 모델을 Text Embedding Inference로 배포 가능하게 함

Introducing the Hugging Face Embedding Container for Amazon SageMaker

2024년 6월 7일8intermediate

Context

Generative AI 애플리케이션 구축 시 임베딩 모델을 SageMaker에서 안전하고 관리된 환경에 배포하기 위한 표준화된 방법이 필요했다.

Technical Solution

  • Text Embedding Inference(TEI) 기반 전용 추론 컨테이너 개발: FlagEmbedding, Ember, GTE, E5 등 주요 모델 아키텍처 지원
  • Token 기반 동적 배칭, Flash Attention, Candle, cuBLASLt를 활용한 변환기 최적화로 추론 성능 개선
  • CPU/GPU 인스턴스 분기 로직 추가: ml.c6i.2xlarge(CPU) 또는 ml.g5.xlarge(GPU) 등 인스턴스 타입별 컨테이너 이미지 URI 자동 선택
  • HuggingFaceModel 클래스에 image_uri 파라미터로 컨테이너 지정: HF_MODEL_ID 환경변수로 Snowflake/snowflake-arctic-embed-m-v1.5 같은 오픈소스 모델 배포
  • Open Telemetry 분산 추적 및 Prometheus 메트릭 포함으로 프로덕션 레벨 모니터링 제공

Impact

  • CPU 인스턴스(ml.c6i.2xlarge): 100만 토큰 처리 약 100초, 시간당 비용 약 $0.204
  • GPU 인스턴스(ml.g5.xlarge): 100만 토큰 처리 약 30초, 10개 동시 요청 시 4ms 레이턴시, 초당 약 130개 요청 처리, 시간당 비용 약 $1.408

Key Takeaway

RAG 애플리케이션 구축 환경에서 Text Embedding Inference 기반 컨테이너를 활용하면 오픈소스 임베딩 모델을 SageMaker에서 즉시 배포 가능하며, CPU/GPU 인스턴스 선택으로 비용과 성능의 트레이드오프 조절이 가능하다.


SageMaker에서 임베딩 기반 검색 애플리케이션을 구축하는 팀이라면 Hugging Face Embedding Container를 사용해 Snowflake/snowflake-arctic-embed-m-v

1.5, BAAI/bge-large-en-v

1.5 같은 MTEB 고성능 모델을 get_huggingface_llm_image_uri() 메서드와 HuggingFaceModel.deploy()로 5분 내에 프로덕션 배포할 수 있으며, 벌크 처리는 GPU 인스턴스(초당 130 요청), 저비용 운영은 CPU 인스턴스(시간당 $

0.204)를 선택해 적용하면 된다.

원문 읽기