AWS Inferentia를 이용한 모델 서빙 비용 최적화: 모델 서버 비용 2배 줄이기 2탄
두줄요약
AWS Inferentia 기반 TensorFlow 모델 서빙의 정합성 검증과 EKS 배포 과정을 소개했습니다. 토크나이저 분리와 동적 배치로 처리량을 높이고 비용 절감 가능성을 확인했습니다.
문제 상황
- Inferentia의 BF16 mixed precision 기반 추론에서 GPU FP32 대비 정확도 저하 가능성
- SavedModel 그래프 내 SentencePiece 토크나이저로 인한 GPU 활용률 저하와 Neuron Compile 미지원
해결 방법
- KLUE STS DEV 519개 문장 쌍으로 GPU와 Inferentia의 추론값 및 이진화 결과 정합성 비교
- Neuron Compile 모델을 signature와 함께 SavedModel로 저장하고 Inferentia용 TensorFlow Serving 컨테이너 구성
- 토크나이저를 FastAPI 기반 비동기 전처리 서버로 분리
구조와 흐름
- 토크나이저 서버가 문자열 입력을 토큰화한 뒤 TensorFlow Serving 모델 서버에 비동기 요청하고 결과 전달
- EKS의 Inferentia 노드에서 tokenizer와 모델 서버를 함께 배포하고 S3의 컴파일 모델·배치 설정 사용
- Dynamic Batching과 Neuron 리소스 제한으로 가속기 처리량 활용
성능/운영 포인트
- 정합성 검증에서 0/1 예측 불일치 0건, logit 차이 평균 0.000946
- Locust 부하 테스트에서 최대 약 48 RPS 확인
- roberta-base 서빙 기준 g4dn.xlarge 대비 최대 처리량 2.6배, 비용 최대 5.7배 절감 제시
