optimum: 다양한 AI 가속기에서 학습 및 추론 효율성을 극대화하기 위한 하드웨어 최적화 툴킷

optimum: 다양한 AI 가속기에서 학습 및 추론 효율성을 극대화하기 위한 하드웨어 최적화 툴킷

해결하는 문제

Optimum은 특정 하드웨어 가속기에서 AI 모델을 학습시키고 실행하는 프로세스를 단순화하여, 사용자가 복잡한 하드웨어별 최적화를 수동으로 처리할 필요 없이 최대 효율을 달성할 수 있도록 보장합니다. 이는 Transformers, Diffusers, TIMM, 그리고 Sentence-Transformers와 같은 라이브러리의 기능을 확장합니다.

작동 방식

Optimum은 다양한 생태계에서 모델을 내보내고(export), 양자화(quantize)하고, 실행할 수 있는 도구를 제공하는 최적화 레이어 역할을 합니다. 다음과 같은 다양한 하드웨어 백엔드를 위한 전문화된 래퍼(wrapper)와 통합 기능을 제공합니다:

  • 추론 엔진(Inference Engines): ONNX Runtime, OpenVINO, ExecuTorch, NVIDIA TensorRT-LLM, 그리고 AWS Inferentia 지원.
  • 학습 래퍼(Training Wrappers): Intel Gaudi (HPU) 및 AWS Trainium과 같은 하드웨어에서 가속 학습을 가능하게 하기 위해 Transformers Trainer를 감싸는 전문화된 래퍼 제공.
  • 양자화(Quantization): API 또는 명령줄을 통해 PyTorch 양자화를 수행하는 Quanto와 같은 도구 제공.

대상 사용자

AI 모델을 타겟 하드웨어(엣지 디바이스, GPU, NPU, 전문 AI 가속기)에 프로덕션 환경으로 배포해야 하는 개발자 및 ML 엔지니어, 그리고 학습 파이프라인을 가속화하려는 사용자.

주요 특징

  • 광범위한 하드웨어 지원: NVIDIA, Intel (OpenVINO, Gaudi), AMD, AWS (Trainium, Inferentia), 그리고 FuriosaAI와 통합.
  • 원활한 내보내기(Seamless Export): 온디바이스 추론을 위해 모델을 ONNX 및 ExecuTorch와 같은 형식으로 쉽게 내보낼 수 있음.
  • 통합 인터페이스: Python API 또는 명령줄 인터페이스를 사용하여 Hugging Face 생태계의 모델을 최적화하고 실행하는 일관된 방법 제공.
  • 가속 학습: 모델 학습 및 미세 조정(fine-tuning)을 위한 고성능 하드웨어 사용을 단순화함.

Sources