동적 양자화 적용

PyTorch Lightning으로 만드는 확장 가능한 AI 모델

Sergiy Tkachuk

Director, GenAI Productivity

왜 양자화를 사용할까요?

$$

  • 메모리 절감

컴퓨팅 메모리 감소를 나타내는 아이콘

PyTorch Lightning으로 만드는 확장 가능한 AI 모델

왜 양자화를 사용할까요?

$$

  • 메모리 절감
  • CPU 가속

컴퓨팅 메모리 감소와 번개를 나타내는 아이콘

PyTorch Lightning으로 만드는 확장 가능한 AI 모델

왜 양자화를 사용할까요?

$$

  • 메모리 절감
  • CPU 가속
  • 모바일 추론

컴퓨팅 메모리 감소, 번개, 모바일 기기를 나타내는 아이콘

PyTorch Lightning으로 만드는 확장 가능한 AI 모델

동적 양자화란?

$$

  • 가중치·연산 정밀도 축소
  • 추론 속도 향상
  • 자원 제약 장치 배포에 적합

$$

import torch
from torch.quantization 
import quantize_dynamic


model_quantized = quantize_dynamic( model, {torch.nn.Linear}, dtype=torch.qint8 )
PyTorch Lightning으로 만드는 확장 가능한 AI 모델

양자화 영향 평가

원본 모델과 양자화 모델의 균형을 저울로 나타내 정확도-효율성 절충을 표현한 다이어그램

PyTorch Lightning으로 만드는 확장 가능한 AI 모델

성능 비교

$$

  • ⚡ 추론 속도와 메모리 사용 비교

$$

  • 📊 허용 가능한 정확도 절충 판단

$$

  • ⛗ 배포 요구에 따른 양자화 적합성 결정
PyTorch Lightning으로 만드는 확장 가능한 AI 모델

성능 비교하기

import time

def measure_time(model, data_loader):
      model.eval()  # Set model to evaluation mode
    start_time = time.time()
    for inputs in data_loader:

_ = model(inputs) end_time = time.time() return end_time - start_time
original_time = measure_time(model, test_loader) quant_time = measure_time(model_quant, test_loader) print(f"Original Model Time: {original_time:.2f}s") print(f"Quantized Model Time: {quant_time:.2f}s")
PyTorch Lightning으로 만드는 확장 가능한 AI 모델

Ayo berlatih!

PyTorch Lightning으로 만드는 확장 가능한 AI 모델

Preparing Video For Download...