VS Codeのエージェントモードを拡張するには、を試してください!

モデルをONNX形式に変換する

AIツールキットは、モデルをローカルで実行するためのOpen Neural Network Exchange (ONNX) 形式をサポートしています。ONNXは機械学習モデルを表現するためのオープンスタンダードであり、共通のオペレーターセットと、様々なハードウェアプラットフォームでモデルを実行できるファイル形式を定義しています。

AIツールキットでAzure AI FoundryやHugging Faceなどの他のカタログのモデルを使用するには、まずONNX形式に変換する必要があります。

このチュートリアルでは、Hugging FaceモデルをONNX形式に変換し、AIツールキットにロードする方法を説明します。

環境をセットアップする

Hugging FaceまたはAzure AI Foundryからモデルを変換するには、Model Builderツールが必要です。

環境をセットアップするには、以下の手順に従ってください

  1. デバイスにAnacondaまたはMinicondaのいずれかがインストールされていることを確認してください。

  2. Model Builder専用のconda環境を作成し、必要な依存関係 (onnxtorchonnxruntime_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からモデルをダウンロードするには

  1. CLIをインストールする:

    pip install -U "huggingface_hub[cli]"
    
  2. モデルリポジトリをダウンロードする.

  3. ダウンロードしたリポジトリ内のすべてのファイルは変換中に使用されます。

ディレクトリ構造を作成する

AIツールキットは、ONNXモデルをその作業ディレクトリからロードします

  • Windows: %USERPROFILE%\.aitk\models
  • Unixライクなシステム (macOS): $HOME/.aitk/models

モデルが正しくロードされるように、AIツールキットの作業ディレクトリ内に必要な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 CPUFP32 CUDAFP16 CUDAFP16 DMLINT4 CPUINT4 CUDAINT4 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ツールキットにロードする

変換後、ONNXモデルファイルを新しく作成したディレクトリに移動します。AIツールキットは、アクティベーション時にこのディレクトリからONNXモデルを自動的にロードします。

モデルはMY MODELSビューで見つけることができます。モデルを使用するには、モデル名をダブルクリックするか、TOOLS > Playgroundを開き、ドロップダウンリストからモデルを選択して、モデルとの対話を開始します。

注: AIツールキットは、手動で追加したモデルを直接削除することをサポートしていません。モデルを削除するには、そのディレクトリを手動で削除してください。

変換をサポートするモデル

以下の表は、AIツールキットでONNX形式への変換がサポートされているモデルを示しています

サポートマトリックス 現在サポート中 開発中 ロードマップ上
モデルアーキテクチャ DeepSeekGemmaLlamaMistralPhi (言語 + ビジョン)QwenNemotronGraniteAMD OLMo Whisper Stable Diffusion