NVIDIA/Model-Optimizer
A unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning models for downstream deployment frameworks like TensorRT-LLM, TensorRT, vLLM, etc. to optimize inference speed.
NVIDIA Model Optimizer – 개요
NVIDIA Model Optimizer(ModelOpt)는 대규모 AI 모델(특히 대규모 언어 모델(LLM) 및 비전-언어 모델(VLM))을 더 빠르게 실행하고 메모리를 적게 사용하도록 돕는 오픈 소스 Python 라이브러리입니다. 이는 다음과 같은 일련의 모델 최적화 기술을 적용하여 수행합니다.
| 기술 | 기능 | 일반적인 이점 |
|---|---|---|
| 학습 후 양자화(PTQ) | 학습 후 가중치와 활성화를 더 낮은 정밀도 형식(예: FP8, NVFP4, INT4)으로 변환합니다. | 체크포인트 2-4배 축소, 추론 처리량 최대 약 2배 향상. |
| 양자화 인지 학습/증류(QAD) | 이미 양자화된 모델을 미세 조정하거나 더 작은 모델이 더 큰 모델을 모방하도록 학습시킵니다. | 속도 향상을 유지하면서 공격적인 양자화로 인한 정확도 손실을 복구합니다. |
| 가지치기(Pruning) | 출력에 거의 기여하지 않는 가중치를 제거합니다. | 매개변수 수와 메모리를 줄이며, 정확도 손실을 최소화합니다. |
| 증류(Distillation) | 작은 '학생' 모델을 학습시켜 큰 '교사' 모델의 동작을 재현합니다. | 교사 모델의 품질을 대부분 유지하는 더 작고 빠른 모델을 생성합니다. |
| 투기적 디코딩(Speculative Decoding) | 여러 토큰을 미리 예측하는 드래프트 모델을 학습시킨 다음 전체 모델로 수정합니다. | 토큰 단위 생성의 지연 시간을 낮춥니다. |
| 희소성(Sparsity) | 0이 아닌 가중치와 그 위치만 저장합니다. | 추가 메모리 절약 및 계산 감소. |
AI 워크플로우에 통합하는 방법
- 입력 – Hugging Face, 네이티브 PyTorch 체크포인트 또는 ONNX 파일에서 모델을 시작합니다.
- 최적화 – ModelOpt의 Python API(또는 제공된 CLI)를 사용하여 위 기술을任意으로 조합합니다. 또한 라이브러리는 NVIDIA의 Megatron-Bridge, Megatron-LM, Hugging Face Accelerate와 통합되어 학습 시간 최적화를 더 쉽게 만듭니다.
- 내보내기 – 최적화된 체크포인트는 TensorRT-LLM, vLLM, SGLang, TensorRT와 같은 다운스트림 추론 엔진으로 직접 내보낼 수 있습니다. 내보내기 API는 트랜스포머 및 확산(diffusers) 모델 모두에서 작동합니다.
누가 사용하나요?
- NVIDIA 자체 팀(예: Nemotron-3, DeepSeek-R1)은 Hugging Face에서 공개적으로 공유되는 양자화 체크포인트를 생성합니다.
- Domyn 및 Bielik.AI와 같은 기업은 30-50% 속도 향상과 상당한 모델 크기 감소를 보여주는 사례 연구를 발표했습니다.
- 프로덕션 GPU(새로운 Blackwell RTX 50 시리즈 포함)용 모델을 준비하기 위한 재현 가능하고 오픈 소스 방법이 필요한 연구원 및 개발자.
시작하기
# PyPI에서 안정 버전 설치(모든 선택적 종속성 포함)
pip install -U nvidia-modelopt[all]
리포지토리를 클론하고 최신 기능을 위해 편집 가능 모드로 설치하거나 ModelOpt가 이미 포함된 NVIDIA 컨테이너 이미지를 가져올 수도 있습니다.
문서 및 리소스
- 전체 문서: https://nvidia.github.io/Model-Optimizer
- 로드맵/이슈: https://github.com/NVIDIA/Model-Optimizer/issues/1699
- 벤치마크 및 예제:
examples/폴더(PTQ, QAD, 가지치기 등) 및 벤치마크 마크다운 파일을 참조하세요. - 사전 양자화 체크포인트: Hugging Face의 컬렉션으로 즉시 배포할 수 있습니다.
Model Optimizer를 사용해야 하는 경우
- 메모리가 제한된 NVIDIA GPU에서 실행하려는 대규모 트랜스포머 모델이 있는 경우.
- 프로덕션 추론 서비스(TensorRT-LLM, vLLM, SGLang)에 모델을 배포해야 하며 최상의 처리량 대 정확도 균형을 원하는 경우.
- NVFP4 또는 FP8과 같은 새로운 저정밀도 형식을 실험하고 있으며 레이어별 정밀도 할당을 검색하는 도구가 필요한 경우.
제한 사항 및 정책
- 이 프로젝트는 아직 사전 1.0(0.x 릴리스)입니다. 더 이상 사용되지 않는 기능은 변경 로그에 공지되며 약 1개월의 마이그레이션 기간이 있습니다.
- ModelOpt는 여러 타사 OSS 종속성을 포함합니다. 해당 라이선스를 검토해야 합니다.
요약: NVIDIA Model Optimizer는 대규모 AI 모델을 압축, 가지치기, 양자화하고 NVIDIA 추론 런타임으로 원활하게 내보낼 수 있는 실제적이고 활발히 유지 관리되는 오픈 소스 라이브러리입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트