Hugging Face Optimum 출시

Hugging Face는 특정 하드웨어에 맞게 Transformer 모델을 최적화하기 위한 툴킷을 제공함으로써 머신러닝 프로덕션 성능을 민주화하기 위해 설계된 오픈 소스 라이브러리인 Optimum을 출시했습니다. 이 라이브러리는 모델 가속화의 복잡성을 추상화하여, 엔지니어가 하드웨어별 소프트웨어 툴링에 대한 깊은 전문 지식 없이도 훈련 및 추론 과정에서 효율성을 극대화할 수 있도록 하는 것을 목표로 합니다.

Transformer 스케일링의 복잡성 해결

프로덕션 환경에서 Transformer 모델을 스케일링하는 것은 매우 어렵습니다. 최적의 성능을 위해서는 대상 하드웨어와 구체적으로 호환되는 가속화 기술이 필요하기 때문입니다. 이는 소프트웨어 툴링, 하드웨어 기능, 그리고 실리콘 상의 연산자와 모델 아키텍처의 특정 신경망 그래프와 일치해야 하는 최적화된 커널 간의 복잡한 호환성 매트릭스를 탐색하는 과정을 포함합니다.

Transformers 라이브러리가 프레임워크와 아키텍처의 복잡성을 추상화하여 최첨단 모델의 사용을 단순화했다면, Optimum은 하드웨어 플랫폼에서의 모델 가속화 복잡성을 추상화하여 더 넓은 범위의 머신러닝 엔지니어가 이러한 기능을 사용할 수 있도록 합니다.

하드웨어별 최적화 및 양자화

Optimum은 하드웨어 파트너와 직접 협력하여 가속화 기술을 활성화, 테스트 및 유지 관리함으로써 최대 효율성을 달성하는 데 집중합니다. 이러한 통합의 주요 사례로는 Intel Xeon CPU에 맞게 모델을 최적화하기 위한 Intel과의 협업이 있습니다.

양자화의 과제

양자화는 Transformer 기반 모델(예: BERT, ViT, Speech2Text)을 배포할 때 계산 능력과 비용을 줄이기 위해 널리 사용되는 기술입니다. 그러나 양자화를 구현하는 것은 일반적으로 다음과 같은 여러 요인으로 인해 어렵습니다.

  • Model Editing: 특정 연산은 양자화된 대응물로 교체되어야 하며, 새로운 양자화/역양자화 노드가 삽입되어야 합니다. PyTorch와 같은 eager-mode 프레임워크에서는 종종 모델 구현 자체를 수정해야 합니다.
  • Parameter Tuning: 엔지니어는 범위 보정을 위한 올바른 observer를 결정하고, 적절한 양자화 방식을 선택하며, 대상 장치에서 지원되는 데이터 유형(예: int8, uint8, int16)을 식별해야 합니다.
  • Accuracy Trade-offs: 모델 크기 감소 및 속도 향상과 허용 가능한 정확도 손실 사이의 균형을 맞추는 작업이 끊임없이 필요합니다.
  • Export Complexity: 최종 양자화된 모델은 대상 장치에 맞게 특별히 내보내야 합니다.

Intel Neural Compressor와의 통합

Intel 하드웨어에서 이러한 과제를 해결하기 위해, Optimum은 Intel® Neural Compressor(이전의 Low Precision Optimization Tool 또는 LPOT)와 통합됩니다. 이 오픈 소스 Python 라이브러리는 사용자가 post-training quantization, quantization-aware training, dynamic quantization을 위한 레시피를 사용하여 저정밀도 추론 솔루션을 배포할 수 있도록 합니다. 사용자는 구성 YAML 파일을 통해 튜닝 파라미터, 목표 및 성능 기준을 지정할 수 있으며, 이 파일은 로컬에 저장하거나 Hugging Face Model Hub에 호스팅할 수 있습니다.

향후 목표 및 생태계 영향

Optimum은 Hugging Face와 다양한 하드웨어 파트너 간의 협업을 통해 하드웨어별로 최적화된 모델 구성 및 아티팩트를 제공하도록 설계되었습니다. 이러한 최적화된 모델들은 Hugging Face Model Hub를 통해 제공될 예정입니다.

이러한 도구들을 제공함으로써, Hugging Face는 프로덕션 머신러닝 워크로드에 소비되는 총 에너지를 줄이고, 대규모 기술 기업뿐만 아니라 모든 규모의 조직이 Transformer를 대규모로 채택할 수 있도록 가속화하는 것을 목표로 합니다.

Sources

관련

  • 프로젝트
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch