モデルをONNX形式に変換する
AI Toolkitは、モデルをローカルで実行するために、Open Neural Network Exchange (ONNX) 形式をサポートしています。ONNXは、機械学習モデルを表現するためのオープンスタンダードであり、一般的なオペレーターセットと、さまざまなハードウェアプラットフォームでモデルを実行できるようにするファイル形式を定義しています。
AI ToolkitでAzure AI FoundryやHugging Faceなどの他のカタログのモデルを使用するには、まずそれらをONNX形式に変換する必要があります。
このチュートリアルでは、Hugging FaceモデルをONNX形式に変換し、AI Toolkitにロードする手順を説明します。
環境をセットアップする
Hugging FaceまたはAzure AI Foundryのモデルを変換するには、Model Builderツールが必要です。
環境をセットアップするには、以下の手順に従ってください
-
Model Builder専用のconda環境を作成し、必要な依存関係 (
onnx
,torch
,onnxruntime_genai
, およびtransformers
) をインストールします。conda create -n model_builder python==3.11 -y conda activate model_builder pip install onnx torch onnxruntime_genai==0.6.0 transformers
注: Phi-4-miniのような特定の新しいモデルの場合、transformersの最新の開発バージョンをGitHubから直接インストールする必要がある場合があります。
pip install git+https://github.com/huggingface/transformers
Hugging Faceモデルにアクセスする
Hugging Faceモデルにアクセスする方法は複数あります。このチュートリアルでは、モデルリポジトリの管理を示す例として、huggingface_hub
CLIを使用します。
注: 続行する前に、Python環境が適切に設定されていることを確認してください。
Hugging Faceからモデルをダウンロードするには
-
pip install -U "huggingface_hub[cli]"
-
ダウンロードしたリポジトリ内のすべてのファイルが変換中に使用されます。
ディレクトリ構造を作成する
AI ToolkitはONNXモデルをその作業ディレクトリからロードします
- Windows:
%USERPROFILE%\.aitk\models
- Unix系システム (macOS):
$HOME/.aitk/models
モデルが正しくロードされるように、AI Toolkitの作業ディレクトリ内に必要な4層のディレクトリ構造を作成してください。例:
mkdir C:\Users\Administrator\.aitk\models\microsoft\Phi-3.5-vision-instruct-onnx\cpu\phi3.5-cpu-int4-rtn-block-32
この例では、4層のディレクトリ構造は microsoft\Phi-3.5-vision-instruct-onnx\cpu\phi3.5-cpu-int4-rtn-block-32
です。
4層のディレクトリ構造の名前付けは重要です。各ディレクトリ層は特定のシステムパラメータに対応しています: $publisherName\$modelName\$runtime\$displayName
。$displayName
は、拡張機能の左上にあるローカルモデルツリービューに表示されます。混同を避けるために、異なるモデルには異なるdisplayName
値を使用してください。
モデルをONNX形式に変換する
モデルをONNX形式に変換するには、次のコマンドを実行します
python -m onnxruntime_genai.models.builder -m $modelPath -p $precision -e $executionProvider -o $outputModelPath -c $cachePath --extra_options include_prompt_templates=1
一般的な精度と実行プロバイダーの組み合わせには、FP32 CPU
, FP32 CUDA
, FP16 CUDA
, FP16 DML
, INT4 CPU
, INT4 CUDA
, および INT4 DML
が含まれます。
モデルをONNX形式に変換するための完全なコマンド例を以下に示します
python -m onnxruntime_genai.models.builder -m C:\hfmodel\phi3 -p fp16 -e cpu -o C:\Users\Administrator\.aitk\models\microsoft\Phi-3-mini-4k-instruct\cpu\phi3-cpu-int4-rtn-block-32-acc-level-4 -c C:\temp --extra_options include_prompt_templates=1
精度と実行プロバイダーの詳細については、以下のチュートリアルを参照してください
モデルをAI Toolkitにロードする
変換後、ONNXモデルファイルを新しく作成したディレクトリに移動します。AI Toolkitは、アクティベーション時にこのディレクトリからONNXモデルを自動的にロードします。
モデルはMY MODELS
ビューで見つけることができます。モデルを使用するには、その名前をダブルクリックするか、TOOLS
> Playground
を開き、ドロップダウンリストからモデルを選択して操作を開始します。
注: AI Toolkitは、手動で追加されたモデルを直接削除することをサポートしていません。モデルを削除するには、そのディレクトリを手動で削除してください。
変換がサポートされているモデル
以下の表は、AI ToolkitでONNX形式への変換がサポートされているモデルを示しています
サポートマトリックス | 現在サポート済み | 開発中 | ロードマップに掲載 |
---|---|---|---|
モデルアーキテクチャ | DeepSeek , Gemma , Llama , Mistral , Phi (Language + Vision) , Qwen , Nemotron , Granite , AMD OLMo |
Whisper |
Stable Diffusion |