DeepSeek-R1-Distill 추론 튜토리얼
DeepSeek-R1-Distill 추론 튜토리얼
DeepSeek-R1-Distill 계열 모델을 ONNX Runtime GenAI로 내 기기 위에서 직접 돌려서 추론(reasoning)을 해보는 튜토리얼이에요. DeepSeek-R1-Distill 모델은 "생각을 먼저 하고 답한다"는 추론 방식이 특징인데, ONNX로 변환하면 로컬에서 가볍게 실행할 수 있답니다. 흐름은 크게 세 단계예요 — 가상환경과 패키지 설치, 모델 확보, 그리고 채팅 실행. 참고로 DeepSeek-R1-Distill 말고도 다른 많은 LLM이 잘 동작해서, 가벼운 마음으로 다른 모델도 시도해 볼 수 있어요.
1. 사전 준비: 가상환경 만들고 ONNX Runtime GenAI 설치
# CPU용 onnxruntime-genai, olive, 의존성 설치
python -m venv .venv && source .venv/bin/activate
pip install requests numpy --pre onnxruntime-genai olive-ai
# CUDA GPU용 onnxruntime-genai, olive, 의존성 설치
python -m venv .venv && source .venv/bin/activate
pip install requests numpy --pre onnxruntime-genai-cuda "olive-ai[gpu]"
2. 모델 확보
모델을 고르고 ONNX로 변환해요. 두 가지 방법이 있어요.
Olive 자동 최적화로 변환 — HuggingFace 모델을 가져와 CPU에 맞게 최적화하고 RTN으로 INT4 양자화하는 명령이에요.
# Olive auto-opt로 huggingface 모델을 가져와 CPU 최적화 후 RTN으로 INT4 양자화
olive auto-opt --model_name_or_path deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B --output_path ./deepseek-r1-distill-qwen-1.5B --device cpu --provider CPUExecutionProvider --precision int4 --use_model_builder --log_level 1
# Olive auto-opt로 huggingface 모델을 가져와 CUDA GPU 최적화 후 RTN으로 INT4 양자화
olive auto-opt --model_name_or_path deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B --output_path ./deepseek-r1-distill-qwen-1.5B --device gpu --provider CUDAExecutionProvider --precision int4 --use_model_builder --log_level 1
아니면 HuggingFace CLI로 바로 내려받을 수도 있어요.
# huggingface cli로 모델을 직접 다운로드
huggingface-cli download onnxruntime/DeepSeek-R1-Distill-ONNX --include 'deepseek-r1-distill-qwen-1.5B/*' --local-dir .
3. 내 기기에서 모델로 놀아보기
# CPU 채팅 추론. huggingface에서 모델을 내려받았다면 모델 디렉토리(-m)를 그에 맞게 조정하세요
curl -o https://raw.githubusercontent.com/microsoft/onnxruntime-genai/refs/heads/main/examples/python/model-chat.py
python model-chat.py -m deepseek-r1-distill-qwen-1.5B/model -e cpu --chat_template "<|begin▁of▁sentence|><|User|>{input}<|Assistant|>"
# 온디바이스 GPU 채팅 추론. NVIDIA GPU가 있는 기기에서 동작해요. huggingface에서 모델을 내려받았다면 모델 디렉토리(-m)를 조정하세요
curl -o https://raw.githubusercontent.com/microsoft/onnxruntime-genai/refs/heads/main/examples/python/model-chat.py
python model-chat.py -m deepseek-r1-distill-qwen-1.5B/model -e cuda --chat_template "<|begin▁of▁sentence|><|User|>{input}<|Assistant|>"