🤗 Optimum은 Hugging Face에서 출시한 전문적인 머신러닝 모델 최적화 라이브러리이며, 🤗 Transformers 및 Diffusers의 확장 도구입니다. 이 프로젝트는 다양한 목표 하드웨어에 대해 최대 효율의 모델 훈련 및 실행 최적화 도구를 제공하는 데 중점을 두면서도 사용하기 쉬운 특징을 유지합니다.
프로젝트 주소: https://github.com/huggingface/optimum
Optimum은 다양한 주요 하드웨어 가속 플랫폼을 지원합니다.
최적화된 훈련 래퍼를 제공하며 다음을 지원합니다.
python -m pip install optimum
필요한 하드웨어 플랫폼에 따라 해당 설치 명령을 선택하십시오.
# ONNX Runtime
pip install --upgrade --upgrade-strategy eager optimum[onnxruntime]
# ExecuTorch
pip install --upgrade --upgrade-strategy eager optimum[executorch]
# Intel Neural Compressor
pip install --upgrade --upgrade-strategy eager optimum[neural-compressor]
# OpenVINO
pip install --upgrade --upgrade-strategy eager optimum[openvino]
# NVIDIA TensorRT-LLM
docker run -it --gpus all --ipc host huggingface/optimum-nvidia
# AMD 하드웨어
pip install --upgrade --upgrade-strategy eager optimum[amd]
# AWS Trainium & Inferentia
pip install --upgrade --upgrade-strategy eager optimum[neuronx]
# Habana Gaudi
pip install --upgrade --upgrade-strategy eager optimum[habana]
# FuriosaAI
pip install --upgrade --upgrade-strategy eager optimum[furiosa]
python -m pip install git+https://github.com/huggingface/optimum.git
ONNX 내보내기 예시:
# 의존성 설치
pip install optimum[exporters,onnxruntime]
# 모델 내보내기
optimum-cli export onnx --model bert-base-uncased --output ./bert-onnx/
ExecuTorch 내보내기:
# 의존성 설치
pip install optimum[exporters-executorch]
# 엣지 장치용 모델 내보내기
optimum-cli export executorch --model distilbert-base-uncased --output ./distilbert-executorch/
TensorFlow Lite 내보내기:
# 의존성 설치
pip install optimum[exporters-tf]
# 내보내기 및 양자화
optimum-cli export tflite --model bert-base-uncased --output ./bert-tflite/
ONNX Runtime을 사용하여 추론 최적화:
from optimum.onnxruntime import ORTModelForSequenceClassification
from transformers import AutoTokenizer
# 최적화된 모델 로드
model = ORTModelForSequenceClassification.from_pretrained("./bert-onnx/")
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
# 추론 수행
inputs = tokenizer("Hello world!", return_tensors="pt")
outputs = model(**inputs)
다양한 양자화 방안 지원:
Habana Gaudi를 사용하여 훈련 최적화:
from optimum.habana import GaudiTrainer, GaudiTrainingArguments
# 훈련 파라미터 설정
training_args = GaudiTrainingArguments(
output_dir="./results",
use_habana=True,
use_lazy_mode=True,
gaudi_config_name="Habana/bert-base-uncased"
)
# 최적화된 훈련기 생성
trainer = GaudiTrainer(
model=model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
)
# 훈련 시작
trainer.train()
optimum-cli
명령줄 도구를 제공하여 작업 간소화Hugging Face Optimum은 강력하고 사용하기 쉬운 머신러닝 모델 최적화 도구 라이브러리입니다. 개발자에게 AI 모델을 다양한 하드웨어 플랫폼에 효율적으로 배포할 수 있는 완벽한 솔루션을 제공하며, 현대 AI 응용 개발 및 배포의 중요한 도구입니다. 엣지 장치 배포든 대규모 클라우드 서비스든 Optimum은 상당한 성능 향상과 비용 최적화를 제공할 수 있습니다.