GPU에서 모델 수동 변환
이 문서는 로컬 Nvidia GPU를 사용하여 LLM 모델을 변환하는 수동 워크플로우를 소개합니다. 필요한 환경 설정, 실행 단계, 그리고 Qualcomm NPU가 탑재된 Windows Copilot+ PC에서 추론을 실행하는 방법을 설명합니다.
LLM 모델 변환에는 Nvidia GPU가 필요합니다. Model Lab에서 로컬 GPU를 관리하려면 모델 변환의 단계를 따르세요. 그렇지 않으면 이 문서의 단계를 따르세요.
GPU에서 모델 변환 수동 실행
이 워크플로우는 qnn_config.json 파일을 사용하여 구성되며 두 개의 별도 Python 환경이 필요합니다.
- 첫 번째 환경은 GPU 가속을 사용한 모델 변환에 사용되며 onnxruntime-gpu 및 AutoGPTQ와 같은 패키지를 포함합니다.
- 두 번째 환경은 QNN 최적화에 사용되며 특정 종속성과 함께 onnxruntime-qnn과 같은 패키지를 포함합니다.
첫 번째 환경 설정
Olive가 설치된 Python 3.10 x64 Python 환경에서 필요한 패키지를 설치합니다.
# Install common dependencies
pip install -r requirements.txt
# Install ONNX Runtime GPU packages
pip install "onnxruntime-gpu>=1.21.0" "onnxruntime-genai-cuda>=0.6.0"
# AutoGPTQ: Install from source (stable package may be slow for weight packing)
# Disable CUDA extension build (not required)
# Linux
export BUILD_CUDA_EXT=0
# Windows
# set BUILD_CUDA_EXT=0
# Install AutoGPTQ from source
pip install --no-build-isolation git+https://github.com/PanQiWei/AutoGPTQ.git
# Please update CUDA version if needed
pip install torch --index-url https://download.pytorch.org/whl/cu121
⚠️ 환경을 설정하고 패키지를 설치만 하세요. 이 시점에서는
olive run명령을 실행하지 마세요.
두 번째 환경 설정
Olive가 설치된 Python 3.10 x64 Python 환경에서 필요한 패키지를 설치합니다.
# Install ONNX Runtime QNN
pip install -r https://raw.githubusercontent.com/microsoft/onnxruntime/refs/heads/main/requirements.txt
pip install -U --pre --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple onnxruntime-qnn --no-deps
qnn_config.json에서 /path/to/qnn/env/bin을 **두 번째 환경**의 Python 실행 파일이 포함된 디렉토리 경로로 바꾸세요.
구성 실행
첫 번째 환경을 활성화하고 워크플로우를 실행합니다.
olive run --config qnn_config.json
이 명령을 완료하면 최적화된 모델이 ./model/model_name에 저장됩니다.
⚠️ 메모리 부족으로 최적화에 실패하면 구성 파일에서
calibration_providers를 제거하세요.
⚠️ 컨텍스트 바이너리 생성 중 최적화에 실패하면 명령을 다시 실행하세요. 프로세스는 완료된 마지막 단계부터 다시 시작됩니다.
추론 샘플 수동 실행
최적화된 모델은 ONNX Runtime QNN Execution Provider 및 ONNX Runtime GenAI를 사용하여 추론에 사용할 수 있습니다. 추론은 **Qualcomm NPU가 탑재된 Windows Copilot+ PC**에서 실행해야 합니다.
arm64 Python 환경에 필요한 패키지 설치
QNN Execution Provider를 사용한 모델 컴파일에는 onnxruntime-qnn이 설치된 Python 환경이 필요합니다. Olive가 설치된 별도의 Python 환경에서 필요한 패키지를 설치합니다.
pip install -r https://raw.githubusercontent.com/microsoft/onnxruntime/refs/heads/main/requirements.txt
pip install -U --pre --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple onnxruntime-qnn --no-deps
pip install "onnxruntime-genai>=0.7.0rc2"
인터페이스 샘플 실행
제공된 inference_sample.ipynb 노트북을 실행합니다. 이 **arm64** Python 환경에 ipykernel을 선택하세요.
⚠️
6033오류가 발생하는 경우./model/model_name폴더에 있는genai_config.json을 바꾸세요.