Hugging Face Optimum Intel 및 OpenVINO 통합

Hugging Face는 Intel OpenVINO를 Optimum Intel 라이브러리에 통합하여 사용자가 다양한 Intel 프로세서에 Transformer 모델을 배포하기 위해 가속 추론 및 양자화를 수행할 수 있도록 했습니다. 이 통합은 OpenVINO Runtime 및 Neural Network Compression Framework(NNCF)를 사용하여 모델 크기와 예측 지연 시간을 줄이는 과정을 단순화합니다.

OpenVINO 통합 및 모델 지원

이 통합의 첫 번째 릴리스는 OpenVINO 2022.2를 기반으로 합니다. OVModels 클래스를 통해 다수의 PyTorch 모델에 대한 추론을 지원합니다.

지원되는 모델 유형

  • Encoder Models: BERT 및 DistilBERT와 같은 많은 인코더 모델에 대해 사후 훈련 정적 양자화와 양자화 인식 훈련이 지원됩니다. 향후 OpenVINO 릴리스에서 추가 인코더 모델이 제공될 예정입니다.
  • Encoder-Decoder Models: 현재 이 모델들에 대한 양자화는 지원되지 않지만, 다음 OpenVINO 릴리스와의 통합을 위해 지원이 계획되어 있습니다.

NNCF를 활용한 모델 양자화

양자화는 모델 파라미터의 비트 폭을 줄여 메모리와 연산 요구량을 낮춥니다. 이를 통해 정수 연산을 사용한 더 빠른 행렬 곱셈과 추론 시 메모리 사용량 감소가 가능합니다.

양자화 과정

OVQuantizer와 OpenVINO Neural Network Compression Framework(NNCF)를 사용하여 사용자는 사후 훈련 정적 양자화를 수행할 수 있습니다. 이 과정은 작은 데이터 서브셋(예: 300 샘플)을 네트워크에 입력하여 양자화된 활성화 파라미터를 계산하는 보정 단계가 포함됩니다.

양자화가 완료되면 모델은 OpenVINO Intermediate Representation(IR) 형식으로 내보내지며, 네트워크 토폴로지를 위한 XML 파일과 가중치를 위한 바이너리 파일로 구성됩니다. 이 형식은 모델이 모든 대상 Intel 디바이스에서 실행될 수 있도록 합니다.

성능 향상: Vision Transformer(ViT) 사례 연구

통합의 효과를 입증하기 위해 Hugging Face는 food101 데이터셋에 대해 미세 조정된 Vision Transformer(ViT) 모델에 사후 훈련 정적 양자화를 적용했습니다. 결과는 정확도에 거의 영향을 주지 않으면서 뛰어난 효율성 향상을 보여주었습니다.

효율성 및 지연 시간 벤치마크

  • Memory Reduction: 모델 크기가 3.8배 감소하여 344MB에서 90MB로 줄어들었습니다.
  • Latency Improvement: 추론 지연 시간이 2.4배 개선되어 샘플당 98ms에서 41ms로 감소했습니다(5,050개의 이미지 예측 기준).
  • Accuracy: 원본 모델과 양자화된 모델 모두 평가 데이터셋의 20% 서브셋에서 정확도 87.6을 유지했습니다.

구현 시 주의사항

모델이 첫 번째 추론 직전에 컴파일되기 때문에 초기 예측은 지연 시간이 크게 늘어납니다. 사용자는 벤치마크를 수행하기 전에 최소 한 번의 워밍업 예측을 수행하는 것이 권장됩니다.

Sources