Phi-3.5 visionチュートリアル
ONNX Runtime generate() APIでPhi-3 visionおよびPhi-3.5 visionモデルを実行する
Section titled “ONNX Runtime generate() APIでPhi-3 visionおよびPhi-3.5 visionモデルを実行する”Phi-3 visionおよびPhi-3.5 visionモデルは、画像とテキストの両方を使用してテキストを出力できる、小型ながら強力なマルチモーダルモデルです。画像の内容を詳細に説明するなどのシナリオで使用できます。
Phi-3 visionおよびPhi-3.5 visionモデルは、onnxruntime-genai 0.5.1以降のバージョンでサポートされています。
モデルはここでダウンロードできます。
- https://huggingface.co/microsoft/Phi-3-vision-128k-instruct-onnx
- https://huggingface.co/microsoft/Phi-3.5-vision-instruct-onnx
セットアップ
Section titled “セットアップ”-
git large file system拡張機能をインストールする
HuggingFaceはバージョン管理に
gitを使用しています。ONNXモデルをダウンロードするには、git lfsがインストールされている必要があります(まだインストールされていない場合)。- Windows:
winget install -e --id GitHub.GitLFS(wingetがない場合は、公式サイトからexeをダウンロードして実行します) - Linux:
apt-get install git-lfs - MacOS:
brew install git-lfs
次に
git lfs installを実行します。 - Windows:
-
HuggingFace CLIをインストールする
Terminal window pip install huggingface-hub[cli]
プラットフォームを選択する
Section titled “プラットフォームを選択する”注意:ハードウェアに基づいて必要なパッケージとモデルは1つだけです。つまり、以下のセクションのいずれかの手順のみを実行してください
DirectMLで実行
Section titled “DirectMLで実行”-
モデルをダウンロードする
Terminal window huggingface-cli download microsoft/Phi-3.5-vision-instruct-onnx --include gpu/gpu-int4-rtn-block-32/* --local-dir .このコマンドは、
gpu/gpu-int4-rtn-block-32というフォルダにモデルをダウンロードします。 -
generate() APIをインストールする
Terminal window pip install onnxruntime-genai-directml -
モデルを実行する
model-vision.pyでモデルを実行します。
Terminal window curl https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/model-vision.py -o model-vision.pypip install pyreadline3python model-vision.py -m gpu/gpu-int4-rtn-block-32 -e dml画像ファイルへのパスとプロンプトを入力します。モデルは画像とプロンプトを使用して回答します。
例:
標識には何と書いてありますか?
標識には「DO NOT ENTER」と書いてあります。
CUDAで実行
Section titled “CUDAで実行”-
モデルをダウンロードする
Terminal window huggingface-cli download microsoft/Phi-3.5-vision-instruct-onnx --include gpu/gpu-int4-rtn-block-32/* --local-dir .このコマンドは、
gpu/gpu-int4-rtn-block-32というフォルダにモデルをダウンロードします。 -
CUDA環境をセットアップする
CUDAツールキットをインストールします。
CUDA_PATH環境変数がCUDAのインストール場所に設定されていることを確認してください。 -
generate() APIをインストールする
注意:このパッケージはCUDA 12を使用します。CUDA 11を使用するには、ソースからビルドしてインストールする必要があります。
Terminal window pip install onnxruntime-genai-cuda -
モデルを実行する
model-vision.pyでモデルを実行します。
Terminal window curl https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/model-vision.py -o model-vision.pypip install pyreadline3python model-vision.py -m gpu/gpu-int4-rtn-block-32 -e cuda画像ファイルへのパスとプロンプトを入力すると、モデルは画像とプロンプトを使用して回答します。
例:
画像を説明してください
画像には、ラテアートのデザインが施されたコーヒーカップが写っています。コーヒーは薄茶色で、アートは白で葉のような模様です。カップは白で、片側に取っ手が付いています。</s>
CPUで実行
Section titled “CPUで実行”-
モデルをダウンロードする
Terminal window huggingface-cli download microsoft/Phi-3.5-vision-instruct-onnx --include cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4/* --local-dir .このコマンドは、
cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4というフォルダにモデルをダウンロードします。 -
CPU用のgenerate() APIをインストールする
Terminal window pip install onnxruntime-genai -
モデルを実行する
model-vision.pyでモデルを実行します。
Terminal window curl https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/model-vision.py -o model-vision.pypip install pyreadline3python model-vision.py -m cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4 -e cpu画像ファイルへのパスとプロンプトを入力すると、モデルは画像とプロンプトを使用して回答します。
例:
この画像をマークダウン形式に変換してください
| 製品 | 第1四半期 | 第2四半期 | 合計 ||---------------------|------------|------------|-------------|| チョコレート | $744.60 | $162.56 | $907.16 || グミベアー | $5,079.60 | $1,249.20 | $6,328.80 || スコティッシュロングブレッド | $1,267.50 | $1,062.50 | $2,330.00 || サー・ロドニーのスコーン | $1,418.00 | $756.00 | $2,174.00 || タルト・オ・シュクル | $4,728.00 | $4,547.92 | $9,275.92 || チョコレートビスケット | $943.89 | $349.60 | $1,293.49 || 合計 | $14,181.59 | $8,127.78 | $22,309.37 |この表は、第1四半期、第2四半期、および合計の売上高とともに、さまざまな製品をリストしています。製品には、チョコレート、グミベアー、スコティッシュロングブレッド、サー・ロドニーのスコーン、タルト・オ・シュクル、およびチョコレートビスケットが含まれます。合計列は、2つの四半期にわたる各製品の売上を合計したものです。</s>