コンテンツにスキップ

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以降のバージョンでサポートされています。

モデルはここでダウンロードできます。

  1. 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を実行します。

  2. HuggingFace CLIをインストールする

    Terminal window
    pip install huggingface-hub[cli]

注意:ハードウェアに基づいて必要なパッケージとモデルは1つだけです。つまり、以下のセクションのいずれかの手順のみを実行してください

  1. モデルをダウンロードする

    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というフォルダにモデルをダウンロードします。

  2. generate() APIをインストールする

    Terminal window
    pip install onnxruntime-genai-directml
  3. モデルを実行する

    model-vision.pyでモデルを実行します。

    Terminal window
    curl https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/model-vision.py -o model-vision.py
    pip install pyreadline3
    python model-vision.py -m gpu/gpu-int4-rtn-block-32 -e dml

    画像ファイルへのパスとプロンプトを入力します。モデルは画像とプロンプトを使用して回答します。

    例:標識には何と書いてありますか?

    コーヒー

    標識には「DO NOT ENTER」と書いてあります。
  1. モデルをダウンロードする

    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というフォルダにモデルをダウンロードします。

  2. CUDA環境をセットアップする

    CUDAツールキットをインストールします。

    CUDA_PATH環境変数がCUDAのインストール場所に設定されていることを確認してください。

  3. generate() APIをインストールする

    注意:このパッケージはCUDA 12を使用します。CUDA 11を使用するには、ソースからビルドしてインストールする必要があります。

    Terminal window
    pip install onnxruntime-genai-cuda
  4. モデルを実行する

    model-vision.pyでモデルを実行します。

    Terminal window
    curl https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/model-vision.py -o model-vision.py
    pip install pyreadline3
    python model-vision.py -m gpu/gpu-int4-rtn-block-32 -e cuda

    画像ファイルへのパスとプロンプトを入力すると、モデルは画像とプロンプトを使用して回答します。

    例:画像を説明してください

    コーヒー

    画像には、ラテアートのデザインが施されたコーヒーカップが写っています。コーヒーは薄茶色で、
    アートは白で葉のような模様です。カップは白で、片側に取っ手が付いています。</s>
  1. モデルをダウンロードする

    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というフォルダにモデルをダウンロードします。

  2. CPU用のgenerate() APIをインストールする

    Terminal window
    pip install onnxruntime-genai
  3. モデルを実行する

    model-vision.pyでモデルを実行します。

    Terminal window
    curl https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/model-vision.py -o model-vision.py
    pip install pyreadline3
    python model-vision.py -m cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4 -e cpu

    画像ファイルへのパスとプロンプトを入力すると、モデルは画像とプロンプトを使用して回答します。

    例:この画像をマークダウン形式に変換してください

    クッキーの売上高を含むExcelテーブル

    | 製品 | 第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>