본문 바로가기
C.W.K.
Stream
Lesson 06 of 08 · published

Optimum: 하드웨어별 최적화

~20 min · ops, optimum

Level 0스카우트
0 XP0/50 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

Optimum은 하드웨어별 런타임을 한 모양으로 묶어

optimum에는 ONNX Runtime, Intel OpenVINO, Habana Gaudi, TPU, NVIDIA TensorRT-LLM용 패키지가 있어. ORTModelForCausalLM이나 OVModelForCausalLM처럼 Auto 클래스와 비슷한 인터페이스를 제공해 런타임 변경이 호출부 전체로 번지는 일을 줄여.

  • 내보낼 때 from_pretrained(repo, export=True)로 그래프를 변환하고 저장해.
  • 실행 형식을 준비할 때 Optimum CLI로 INT8 동적 양자화 같은 최적화를 적용해.

NVIDIA GPU의 PyTorch 밖으로 배포한다면 Optimum에 대상 런타임이 있는지 먼저 확인해. 모바일, 임베디드, Intel CPU, TPU, Gaudi, TensorRT를 비슷한 작업 흐름으로 다룰 수 있지만 대상별 변환 단계와 의존성은 여전히 검증해야 해.

Code

Optimum + Intel OpenVINO 의 CPU 인퍼런스·python
# pip install "optimum[openvino]"
from optimum.intel import OVModelForCausalLM
from transformers import AutoTokenizer

repo = "Qwen/Qwen2.5-1.5B-Instruct"
ov = OVModelForCausalLM.from_pretrained(repo, export=True)
tok = AutoTokenizer.from_pretrained(repo)

inputs = tok("Hello", return_tensors="pt")
out = ov.generate(**inputs, max_new_tokens=20)
print(tok.decode(out[0], skip_special_tokens=True))

External links

Exercise

너 하드웨어 매치 runtime 골라 (ONNX, OpenVINO, NVIDIA 면 TensorRT-LLM). 1B 모델 변환. 100 프롬프트 벤치마크. 같은 머신의 transformers + PyTorch 와 토큰별 latency 비교.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.