학습과 추론 서빙을 아우르는 PyTorch 네이티브 양자화·희소성·float8 학습 라이브러리입니다.
microsoft/Olive
모델 미세 조정, 변환, 양자화 단계를 조합해 CPU, GPU, NPU에 최적화된 ONNX 모델을 만드는 Python 툴킷입니다.
- 스타
- 2,409
- 포크
- 326
- 열린 이슈
- 87
- 마지막 커밋
- 23시간 전
어떤 프로젝트인가요?
Olive는 ONNX Runtime을 기반으로 하는 AI 모델 최적화 툴킷입니다. 모델과 대상 하드웨어 플랫폼을 지정하면 양자화, 그래프 최적화 등의 기법을 이어서 적용하고, 정확도와 지연 시간 같은 제약을 고려해 클라우드나 엣지 기기에서 추론에 사용할 효율적인 ONNX 모델을 생성합니다.
프로젝트는 `olive optimize` 명령줄 진입점을 제공합니다. Hugging Face 모델 이름과 int4 같은 목표 정밀도를 지정하면 모델 다운로드, GPTQ를 사용한 양자화, 가중치를 포함한 ONNX 그래프 내보내기, 그래프 최적화까지 전체 파이프라인을 실행합니다. Llama, Phi, Qwen, Gemma 같은 주요 아키텍처를 기본 지원하며, 입력과 출력을 설명하면 다른 아키텍처도 처리할 수 있습니다.
Olive로 생성한 모델은 Python, C/C++, C#, Java, JavaScript 바인딩을 제공하는 ONNX Runtime에서 실행하도록 설계되었습니다. 최근 릴리스에서는 NPU 지원과 추가 양자화 알고리즘이 언급되었습니다.
핵심 기능
- 01단일 `olive optimize` 명령으로 실행하는 자동 최적화 파이프라인입니다.
- 02GPTQ를 사용해 int4 같은 저정밀도로 양자화합니다.
- 03Hugging Face 모델을 가중치 파일을 분리한 ONNX 그래프로 내보냅니다.
- 04ONNX Runtime을 통해 CPU, GPU, NPU를 대상으로 합니다.
- 05최적화와 함께 미세 조정 및 변환 단계도 지원합니다.
활용 사례
- 소형 언어 모델을 기기 내 추론용 int4 ONNX 형식으로 변환합니다.
- Windows 또는 엣지 하드웨어에서 ONNX Runtime으로 배포할 Hugging Face LLM을 준비합니다.
- 모델 크기, 정확도, 지연 시간의 균형을 맞추기 위해 양자화 설정을 실험합니다.
빠른 시작
- 1
pip으로 Olive 설치하기
pip install olive-ai - 2
transformers와 onnxruntime-genai 설치하기
pip install transformers onnxruntime-genai - 3
Qwen2.5-0.5B-Instruct를 int4로 자동 최적화하기
olive optimize --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct --precision int4 --output_path models/qwen
사용 전 알아둘 점
- Python 환경이 필요하며 Hugging Face에서 모델을 다운로드해야 합니다.
- 일부 최적화 기능을 사용하려면 선택적 extras와 추가 종속 항목이 필요합니다.
토픽
자주 묻는 질문
- Olive은(는) 무엇인가요?
- 모델 미세 조정, 변환, 양자화 단계를 조합해 CPU, GPU, NPU에 최적화된 ONNX 모델을 만드는 Python 툴킷입니다. Olive는 ONNX Runtime을 기반으로 하는 AI 모델 최적화 툴킷입니다. 모델과 대상 하드웨어 플랫폼을 지정하면 양자화, 그래프 최적화 등의 기법을 이어서 적용하고, 정확도와 지연 시간 같은 제약을 고려해 클라우드나 엣지 기기에서 추론에 사용할 효율적인 ONNX 모델을 생성합니다.
- Olive은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- Olive은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- Olive은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. Olive의 마지막 커밋은 2026년 11월 7일입니다.
- Olive은(는) 어디에 사용할 수 있나요?
- 소형 언어 모델을 기기 내 추론용 int4 ONNX 형식으로 변환합니다. Windows 또는 엣지 하드웨어에서 ONNX Runtime으로 배포할 Hugging Face LLM을 준비합니다. 모델 크기, 정확도, 지연 시간의 균형을 맞추기 위해 양자화 설정을 실험합니다.
- Olive는 어떻게 설치하나요?
- pip으로 Olive 설치하기: pip install olive-ai transformers와 onnxruntime-genai 설치하기: pip install transformers onnxruntime-genai Qwen2.5-0.5B-Instruct를 int4로 자동 최적화하기: olive optimize --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct --precision int4 --output_path models/qwen
- Olive은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/microsoft/Olive
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
NVIDIA GPU에서 딥러닝 추론 성능을 높여 주는 SDK, TensorRT의 오픈 소스 구성 요소로 플러그인, ONNX 파서, 샘플을 포함합니다.
정확도를 유지하면서 연산자 수를 줄여 ONNX 모델을 최적화하고 추론 속도 향상을 목표로 하는 Python 툴킷입니다.
Diffusers를 기반으로 캐싱, 병렬 처리, 양자화, CPU 오프로딩을 추가한 Diffusion Transformer(DiT)용 PyTorch 추론 엔진입니다.
OpenVINO, PyTorch, ONNX에서 추론 속도를 높이기 위해 양자화, 프루닝, 희소화를 지원하는 신경망 압축용 Python 프레임워크입니다.
ONNX Runtime에서 생성형 AI 모델을 실행하고 전체 LLM 생성 루프를 처리하는 Python, C#, Java 바인딩을 제공하는 C/C++ 라이브러리입니다.