피드로 돌아가기
Accelerated Inference with Optimum and Transformers Pipelines
Hugging Face BlogHugging Face Blog
AI/ML

Hugging Face가 Optimum 1.2에서 ONNX Runtime 기반 추론 파이프라인을 추가해 Transformer 모델의 추론 속도 가속화

Accelerated Inference with Optimum and Transformers Pipelines

2022년 5월 10일12intermediate

Context

BERT 및 Transformer 기반 모델들이 NLP, Computer Vision, Speech, Time-Series 등에서 SOTA 성능을 달성하면서 대규모 프로덕션 워크로드로 확장되고 있다. 그러나 기본적으로 Transformer 모델들은 기존 머신러닝 알고리즘 대비 느리고 크며 복잡하다는 한계가 있다.

Technical Solution

  • AutoModelForXxx에서 ORTModelForXxx로 모델 클래스 교체: Transformers 동일 API 유지하며 ONNX Runtime 기반 가속 런타임 사용
  • PyTorch 모델을 ONNX 형식으로 변환: from_transformers=True 옵션으로 deepset/roberta-base-squad2 등 기존 체크포인트 일괄 변환
  • ORTOptimizer를 통한 그래프 최적화: 변환된 ONNX 모델의 연산 그래프 구조 최적화
  • ORTQuantizer를 통한 동적 양자화 적용: 모델 크기 축소 및 메모리 효율성 개선
  • Transformers pipelines와 통합: 동일한 pipeline API로 question-answering, text-generation 등의 작업 실행

Key Takeaway

Transformer 모델 사용자는 기존 API 호환성을 유지하면서 단순한 클래스 교체만으로 ONNX Runtime의 가속화된 추론을 활용할 수 있다. 양자화와 그래프 최적화를 순차적으로 적용하면 프로덕션 환경에서의 모델 성능 개선과 배포 효율성을 동시에 확보할 수 있다.


Transformers 파이프라인을 사용 중인 엔지니어는 ORTModelForQuestionAnswering, ORTModelForSequenceClassification 등으로 모델 클래스만 변경하고 tokenizer와 pipeline 코드는 유지한 채로 ONNX Runtime 기반 추론 가속을 즉시 도입할 수 있다. 추가로 ORTOptimizer와 ORTQuantizer를 적용하면 동일한 정확도 기준에서 메모리 사용량과 레이턴시를 더욱 감소시킬 수 있다.

원문 읽기