intel/neural-compressor
요약
Intel Neural Compressor는 PyTorch, TensorFlow, JAX 등 주요 프레임워크를 지원하는 오픈 소스 모델 압축 라이브러리입니다. 양자화, 혼합 정밀도 등 다양한 기술을 통해 LLM 및 VLM의 효율적인 배포를 지원합니다.
핵심 포인트
- 정적/동적 양자화 및 SmoothQuant 등 다양한 압축 기술 제공
- LLaMA, Qwen, DeepSeek 등 최신 LLM 및 VLM 지원
- Intel Gaudi, Xeon, GPU 등 다양한 Intel 하드웨어 최적화
- FP8, NVFP4 등 최신 저정밀도 데이터 타입 지원 예정
주요 딥러닝 프레임워크(PyTorch, TensorFlow, JAX)에서 대중적인 모델 압축 기술을 지원하는 오픈 소스 Python 라이브러리
아키텍처 (Architecture) | 워크플로우 (Workflow) | 문서 (Documentations)
Intel® Neural Compressor는 정적 양자화 (Static Quantization), 동적 양자화 (Dynamic Quantization), SmoothQuant, 가중치 전용 양자화 (Weight-Only Quantization), 양자화 인식 학습 (Quantization-Aware Training), 혼합 정밀도 (Mixed Precision) 등과 같은 대중적인 모델 압축 기술을 제공하는 것을 목표로 합니다.
AutoRound와의 통합을 통해 LLaMA, Qwen, DeepSeek, Flux, FramePack 등과 같은 대규모 언어 모델 (LLMs) 및 시각-언어 모델 (VLMs)에 대해 다양한 양자화 기술과 저정밀도 데이터 타입을 활용한 고급 양자화를 지원합니다.
광범위한 테스트를 거쳐 Intel Gaudi AI Accelerators, Intel Core Ultra Processors, Intel Xeon Scalable Processors, Intel Xeon CPU Max Series, Intel Data Center GPU Flex Series, Intel Data Center GPU Max Series와 같은 다양한 Intel 하드웨어를 지원하며, 제한적인 테스트를 통해 AMD CPU, ARM CPU 및 NVidia GPU도 지원합니다.
- [2026/03] Keras/JAX를 위한 FP8 양자화 지원 (실험적)
- [2026/03] AutoRound를 이용한 FP8 KV 캐시/Attention 정적 양자화 (실험적)
- [2025/12] NVFP4 양자화 실험적 지원
- [2025/10] MXFP8 / MXFP4 양자화 실험적 지원
- [2025/09] Intel Gaudi AI Accelerators에서의 Linear, FusedMoE를 포함한 FP8 동적 양자화
- [2025/05] Intel Gaudi AI Accelerators에서의 DeepSeek V3/R1 모델 FP8 정적 양자화
- [2025/03] Intel CPU/GPU에서 transformers-like API를 통한 VLM 양자화
배포 환경에 따라 설치에 필요한 프레임워크 의존성을 선택하십시오.
Intel Neural Compressor는 CPU, GPU 및 HPU 환경의 PyTorch를 지원합니다. 하드웨어 환경에 따라 해당하는 PyTorch 버전을 설치해 주세요.
- CPU의 경우 intel_extension_for_pytorch 설치
- Intel GPU의 경우 intel_extension_for_pytorch 설치
- HPU의 경우 torch가 설치된 Docker 이미지 사용
참고: Intel Neural Compressor와 Gaudi Software Stack 사이에는 버전 매핑이 존재하므로, 이 표를 참조하여 일치하는 조합을 사용해야 합니다. - 다른 플랫폼의 경우 torch를 설치하세요.
# 프레임워크 확장 API + PyTorch 의존성
pip install neural-compressor-pt
# 프레임워크 확장 API + TensorFlow 의존성
...
참고: 추가 설치 방법은 설치 가이드(Installation Guide)에서 확인할 수 있습니다. 자세한 내용은 FAQ를 확인하세요.
이 패키지들을 성공적으로 설치한 후, 첫 번째 양자화 (Quantization) 프로그램을 시도해 보세요. 다음 예제 코드는 FP8 양자화 (FP8 Quantization)를 보여주며, 이는 Intel Gaudi2 AI Accelerator에서 지원됩니다.
Intel Gaudi2에서 시도하려면 Gaudi Software Stack이 포함된 Docker 이미지를 권장하며, 환경 설정을 위해 다음 스크립트를 참조하세요. 자세한 내용은 Gaudi Guide에서 확인할 수 있습니다.
대화형 셸(interactive shell)과 함께 컨테이너 실행, 자세한 정보
docker run -it --runtime=habana -e HABANA_VISIBLE_DEVICES=all -e OMPI_MCA_btl_vader_single_copy_mechanism=none --cap-add=sys_nice --net=host --ipc=host vault.habana.ai/gaudi-docker/1.24.0/ubuntu24.04/habanalabs/pytorch-installer-2.10.0:latest
참고: Habana software >= 1.21.0 버전부터는,
PT_HPU_LAZY_MODE=0
이 기본 설정입니다. 하지만 대부분의 저정밀도 (low-precision) 함수(예: convert_from_uint4)는 이 설정을 지원하지 않습니다. 따라서 호환성을 유지하기 위해 PT_HPU_LAZY_MODE=1로 설정하는 것을 권장합니다.
예제 실행,
from neural_compressor.torch.quantization import (
FP8Config,
prepare,
...
더 많은 FP8 양자화 문서.
다음 예제 코드는 Intel Gaudi2 AI Accelerator에서 가중치 전용 (weight-only) 대규모 언어 모델 (Large Language Model) 로딩을 보여줍니다.
from neural_compressor.torch.quantization import load
model_name = "TheBloke/Llama-2-7B-GPTQ"
model = load(
...
참고: Intel Neural Compressor는 첫 로드 시 모델 형식을 auto-gptq에서 hpu 형식으로 변환하며, 다음 로드를 위해 hpu_model.safetensors를 로컬 캐시 디렉토리에 저장합니다. 따라서 처음 로드할 때는 시간이 다소 걸릴 수 있습니다.
| 개요 | |||||||
|---|---|---|---|---|---|---|---|
| 아키텍처 | 워크플로우 (Workflow) | API | 예제 (Examples) | ||||
| ... |
- arXiv: Intel Gaudi에서 FP8을 사용한 LLM의 더 빠른 추론 (2025년 3월)
- PyTorch landscape: PyTorch 일반 최적화 (2025년 3월)
- SqueezeBits 블로그: [Intel Gaudi] #4. FP8 양자화 (Quantization) (2025년 1월)
참고: 전체 출판물 목록 보기.
- GitHub Issues: 주로 버그 보고, 새로운 기능 요청, 질문 등을 위한 용도입니다.
- 이메일: 협업을 위해 모델 압축 (model compression) 기술에 관한 흥미로운 연구 아이디어를 이메일로 보내주시는 것을 환영합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub ML Hardware의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기