피드로 돌아가기
Hugging Face BlogAI/ML
원문 읽기
Intel과 Hugging Face가 Ice Lake Xeon CPU의 AVX512, VNNI 하드웨어 기능과 oneAPI 소프트웨어 최적화를 조합하여 BERT 모델 추론 성능을 Cascade Lake 대비 75% 향상
Scaling up BERT-like model Inference on modern CPU - Part 2
AI 요약
Context
BERT와 같은 대형 언어 모델의 추론은 CPU 리소스를 많이 소비하며, 프로덕션 환경에서 대규모 배포 시 레이턴시와 리소스 효율성이 주요 과제였다. Intel의 이전 세대 Cascade Lake Xeon CPU는 이러한 NLP 워크로드에 대해 최적화된 성능을 제공하지 못했다.
Technical Solution
- Intel Ice Lake Xeon CPU의 하드웨어 기능 활용: Sunny Cove 아키텍처의 AVX512, VNNI 명령어 세트와 PCIe 4.0을 통한 메모리 대역폭 확대
- oneAPI 라이브러리 스택 통합: oneMKL(선형대수 루틴), oneDNN(신경망 프리미티브), oneCCL(분산 통신)을 PyTorch와 TensorFlow에 기본 포함
- Intel 커스텀 프레임워크 제공: Intel TensorFlow, Intel PyTorch Extension(IPEX)을 통한 Ice Lake 전용 최적화
- 메모리 할당 최적화: 동적 메모리 할당 프로세스의 속도와 단편화를 개선하여 할당 오버헤드 감소
- 병렬화 성능 튜닝: OpenMP 대신 Intel OpenMP를 사용하고, Threading Building Blocks(oneTBB)를 통한 스레드 레벨 병렬화 조정
- SigOpt를 통한 하이퍼파라미터 최적화: Batch Size와 Sequence Length별로 성능이 최대화되는 메모리 할당자 및 OpenMP 설정 도출
Impact
- Ice Lake Xeon CPU에서 NLP 태스크 추론 성능 Cascade Lake 대비 75% 향상
- Hugging Face Infinity 제품으로 GPU에서 1ms, Intel Xeon Ice Lake CPU에서 2ms의 추론 레이턴시 달성
Key Takeaway
Transformer 모델 추론 최적화는 CPU 레벨의 벡터 명령어와 고레벨 소프트웨어 라이브러리의 통합, 그리고 메모리 할당, 병렬화 설정 같은 미세한 시스템 파라미터 튜닝이 함께 작용할 때 최대 효과를 발휘한다. 프로덕션 배포 시 일반적인 최적화보다는 특정 하드웨어와 워크로드에 맞춘 커스텀 빌드와 파라미터 탐색이 필수적이다.
실천 포인트
Intel Xeon 기반 프로덕션 환경에서 BERT 계열 모델을 배포하는 엔지니어라면, PyTorch 또는 TensorFlow를 Intel의 공식 최적화 버전(Intel PyTorch Extension, Intel TensorFlow)으로 교체하고, oneMKL과 oneDNN이 활성화된 oneAPI 런타임을 사용하면 기본값 대비 추론 레이턴시를 20~30% 단축할 수 있다. 추가로 OpenMP 스레드 수, 메모리 할당자 선택, Batch Size와 Sequence Length 조합을 SigOpt 같은 베이지안 최적화 도구로 탐색하면 워크로드별로 추가 10~20%의 성능 개선을 기대할 수 있다.