피드로 돌아가기
Hugging Face BlogBackend
원문 읽기
Hugging Face가 BERT 모델 CPU 추론 성능 벤치마킹 프레임워크를 재구성하여 PyTorch, TensorFlow, TorchScript, XLA, ONNX Runtime 등 4가지 런타임 간 비교 분석 가능
Scaling-up BERT Inference on CPU (Part 1)
AI 요약
Context
BERT 및 유사 Transformer 모델의 프로덕션 배포 시 CPU에서의 효율적인 추론이 도전 과제였다. 2019년 이후 Hugging Face 허브에 9,000개 이상의 모델이 추가되면서 다양한 아키텍처를 일관되게 평가할 수 있는 벤치마킹 방법론의 필요성이 증대했다.
Technical Solution
- 벤치마킹 프레임워크를 Facebook AI Research의 Hydra 설정 라이브러리 기반으로 재구성: 모든 벤치마크 항목의 재현성 향상 및 커뮤니티 공유 용이성 증대
- 4가지 추론 런타임 지원 추가: PyTorch, TensorFlow와 함께 TorchScript, XLA, ONNX Runtime 포함하여 동일 환경에서 비교 가능
- 양자화 모델 벤치마킹 지원: float16, int8, int4 등 정밀도 감소 표현 방식을 이용한 성능 측정 기능 통합
- AWS c5.metal 인스턴스(Intel Xeon Platinum 8275 CPU, 48코어/96스레드) 기반 하드웨어 검증: AVX512 명령어 세트와 Intel Deep Learning Boost(VNNI) 활용
- 기술 검증 항목: 코어 수 증가 시 성능 향상 관계, 배치 크기 증가에 따른 처리량 확대, NUMA(Non-Unified Memory Architecture) 제어기 최적화
Impact
PyTorch는 모든 테스트 구성에서 TensorFlow 대비 더 나은 추론 결과를 기록했다.
Key Takeaway
멀티 런타임 벤치마킹 프레임워크 도입으로 CPU 기반 NLP 모델 배포 최적화의 기초 데이터를 확보할 수 있으며, 향후 메모리 할당 라이브러리, Transparent Huge Pages, 벤더별 Math/Parallel 라이브러리 튜닝을 통해 추가 성능 개선이 가능하다는 점이 핵심이다.
실천 포인트
BERT 기반 모델을 CPU에서 프로덕션 배포하는 엔지니어는 PyTorch와 ONNX Runtime을 우선 평가 대상으로 삼되, Hydra 기반 벤치마킹 프레임워크를 이용하여 동일 하드웨어 환경에서 런타임별 레이턴시와 처리량을 정량 비교한 후 양자화 적용 여부와 배치 크기를 조정하면 최적의 배포 구성을 선정할 수 있다.