ao: 훈련‑to‑서비스 모델 양자화 및 희소성을 위한 PyTorch‑네이티브 아키텍처 최적화 라이브러리

ao: 훈련‑to‑서비스 모델 양자화 및 희소성을 위한 PyTorch‑네이티브 아키텍처 최적화 라이브러리

해결하는 문제

TorchAO는 AI 모델을 더 빠르고 메모리 효율적으로 만들기 위한 네이티브 PyTorch 라이브러리를 제공합니다. 모델 크기와 정확도 사이의 일반적인 트레이드오프를 해결하여, 대형 모델(Large Language Models 및 diffusion 모델 등)의 메모리 footprint를 줄이고, 품질 손실을 크게 발생시키지 않으면서 훈련 및 추론 속도를 높일 수 있습니다.

작동 방식

TorchAO는 여러 아키텍처 최적화 기법을 구현합니다:

  • Quantization(양자화): 모델 가중치와 활성화를 int4, int8, float8 등 낮은 정밀도 형식으로 변환하여 메모리 사용량을 감소시키고 처리량을 증가시킵니다.
  • Quantization-Aware Training (QAT, 양자화 인식 훈련): 양자화 시 정확도 손실을 방지하기 위해 모델이 낮은 정밀도에 적응하도록 훈련할 수 있게 합니다.
  • Sparsity(희소성): 2:4 반구조적 희소성을 사용해 중복 가중치를 제거함으로써 속도를 추가로 높입니다.
  • uma-native integration: torch.compile()FSDP2와 원활히 연동되어 CUDA, XPU, CPU, ARM 등 다양한 하드웨어에서 고성능 실행을 지원합니다.

대상 사용자

이 라이브러리는 제한된 하드웨어에 대규모 모델을 배포해야 하거나, 거대한 모델의 사전 훈련을 가속화하고자 하거나, ExecuTorch를 통해 엣지 디바이스용 모델을 최적화하려는 AI 연구자 및 엔지니어를 위해 설계되었습니다.

주요 특징

  • Training Speedups(훈련 가속): float8 훈련을 사용해 Llama-3.1-70B의 사전 훈련을 최대 1.5배 빠르게 수행합니다.
  • Inference Gains(추론 향상): Llama-3-8B를 int4로 양자화하면 추론 속도가 1.89배 빨라지고 메모리 사용량이 58% 감소합니다.
  • Broad Integration(광범위한 통합): Hugging Face Transformers, Diffusers, vLLM, SGLang에 대한 내장 지원을 제공합니다.
  • Memory Efficiency(메모리 효율성): 양자화된 옵티마이저(AdamW 4/8-bit)와 CPU 오프로드를 포함해 VRAM 요구량을 최대 60%까지 줄입니다.

요약

PyTorch‑네이티브 라이브러리로, 양자화, 희소성 및 저정밀도 훈련을 활용해 AI 모델의 훈련 및 추론을 가속화하고 메모리 사용량을 감소시킵니다.

제목

ao: 훈련‑to‑서비스 모델 양자화 및 희소성을 위한 PyTorch‑네이티브 아키텍처 최적화 라이브러리

Sources