次の方法で共有


AI Toolkit for Visual Studio Code の概要

AI Toolkit for VS Code (AI Toolkit) は、AI モデルをダウンロード、テスト、微調整し、アプリまたはクラウドにデプロイできるようにする、VS Code の拡張機能です。 詳細については、「AI Toolkit overview (AI ツールキットの概要)」を参照してください。

AI Toolkit for VS Code のその他のドキュメントとチュートリアルについては、 VS Code ドキュメント「 AI Toolkit for Visual Studio Code」を参照してください。 Playground に関するガイダンス、AI モデルの操作、ローカルモデルとクラウドベースモデルの微調整などについて説明します。

この記事では、次の方法について学習します。

  • AI Toolkit for VS Code をインストールする
  • カタログからモデルをダウンロードする
  • プレイグラウンドを使用してモデルをローカルで実行する
  • REST または ONNX ランタイムを使用して AI モデルをアプリケーションに統合する

前提条件

AI 機能を利用する場合は、「Windows でのレスポンシブル生成 AI アプリケーションと機能の開発」を確認することをお勧めします。

インストール

AI Toolkit は Visual Studio Marketplace で入手でき、他の VS Code 拡張機能と同様の方法でインストールできます。 VS Code 拡張機能のインストールに慣れていない場合は、次の手順に従ってください。

  1. VS Code のアクティビティ バーで、[拡張機能] を選択します。
  2. 拡張機能の検索バーに「AI Toolkit」と入力します。
  3. [AI Toolkit for Visual Studio code] を選択します。
  4. [インストール] を選択します。

拡張機能がインストールされると、アクティビティ バーに AI Toolkit アイコンが表示されます。

カタログからモデルをダウンロードする

AI Toolkit のプライマリ サイドバーは、マイ モデルカタログツールヘルプとフィードバックに編成されています。 プレイグラウンドの一括実行評価、および 微調整 機能は、ツールの セクションで使用できます。 作業を開始するには、[カタログ] セクションから [モデル を選択して、モデル カタログ ウィンドウを開きます。

VS Code の [AI Toolkit モデル カタログ] ウィンドウのスクリーンショット

カタログの上部にあるフィルターを使用すると、Hosted byPublisherTasks、および モデルタイプでフィルターをかけることができます。 また、Fine-Tuning サポート スイッチもあり、微調整できるモデルのみを表示するように切り替えることができます。

ヒント

モデルの種類 フィルターを使用すると、CPU、GPU、または NPU でローカルに実行されるモデル、またはリモート アクセス のみをサポートするモデル表示できます。 少なくとも 1 つの GPU を持つデバイスのパフォーマンスを最適化するには、GPU を使用ローカル実行のモデルの種類を選択します。 これは、DirectML アクセラレータ用に最適化されたモデルを見つけるのに役立ちます。

Windows デバイスに GPU があるかどうかをチェックするには、タスク マネージャーを開き、[パフォーマンス] タブを選択します。GPU がある場合は、"GPU 0" や "GPU 1" などの名前の下に表示されます。

ニューラル処理装置 (NPU) を備えた Copilot+ PC の場合は、NPU アクセラレータ用に最適化されたモデルを選択できます。 Deepseek R1 の蒸留モデルは NPU 用に最適化されており、Windows 11 を実行している Snapdragon 搭載の Copilot+ PC にダウンロードできます。 詳細については、 Windows AI Foundry を利用した Copilot+ PC で、蒸留された DeepSeek R1 モデルをローカルで実行する方法に関するページを参照してください。

現在、1 つ以上の GPU を搭載した Windows デバイスでは、次のモデルを使用できます。

  • Mistral 7B (DirectML - 小型で高速)
  • Phi 3 Mini 4K (DirectML - 小型で高速)
  • Phi 3 Mini 128K (DirectML - 小型で高速)

Phi 3 Mini 4K モデルを選択し、[ダウンロード] をクリックします。

Phi 3 Mini 4K モデルのサイズは約 2 GB から 3 GB です。 ネットワーク速度によっては、ダウンロードに数分かかる場合があります。

プレイグラウンドでモデルを実行する

モデルがダウンロードされると、ローカルモデルの [マイモデル] セクションに表示されます。 モデルを右クリックし、コンテキスト メニューから [プレイグラウンド に読み込む] を選択します。

[プレイグラウンドに読み込む] コンテキスト メニュー項目のスクリーンショット

プレイグラウンドのチャット インターフェイスで、次のメッセージを入力し、Enter キーを押します。

プレイグラウンドの選択

モデルの応答がストリーミングされたことが確認できます。

生成応答

警告

デバイスで GPU を使用できないのに Phi-3-mini-4k-directml-int4-awq-block-128-onnx モデルを選択した場合、モデルの応答は非常に遅くなります。 代わりに、CPU 最適化バージョンの Phi-3-mini-4k-cpu-int4-rtn-block-32-acc-level-4-onnx をダウンロードする必要があります。

また、以下を変更することもできます。

  • コンテキスト命令: モデルが要求の全体像を理解するのに役立ちます。 これには、背景情報、必要なものの例/デモンストレーション、タスクの目的の説明などがあります。
  • 推論パラメーター:
    • 最大応答長: モデルが返すトークンの最大数。
    • 温度: モデル温度は、言語モデルの出力をどの程度ランダムにするかを制御するパラメーターです。 温度が高いほど、モデルはより大きなリスクを負い、多様な単語の組み合わせを提供します。 一方、温度が低いほど、モデルは安全に役割を果たし、より焦点を絞った予測可能な応答で対応します。
    • 最上位 P: 核サンプリングとも呼ばれる設定で、次の単語を予測するときに言語モデルが検討する単語または語句の数を制御します。
    • 頻度ペナルティ: このパラメーターは、モデルが出力で単語や語句を繰り返す頻度に影響します。 値が大きい (1.0 に近い) ほど、単語や語句を繰り返さないことがモデルに推奨されます。
    • プレゼンス ペナルティ: このパラメーターは、生成されるテキストの多様性と具体性を促進するために生成 AI モデルで使用されます。 値が大きい (1.0 に近い) ほど、より斬新で多様なトークンを含めるようモデルに促します。 より小さい値を指定すると、モデルで一般的なありきたりの語句が生成される可能性が高くなります。

AI モデルをアプリに統合する

モデルをアプリケーションに統合するには、次の 2 つのオプションがあります。

  1. AI Toolkit には、RESTを使用するローカル API Web サーバーが付属しています。 これにより、クラウド AI モデル サービスに依存することなく、エンドポイント http://127.0.0.1:5272/v1/chat/completions を使用してアプリケーションをローカルでテストすることができます。 運用環境でクラウド エンドポイントに切り替える場合は、このオプションを使用します。 OpenAI クライアント ライブラリを使用して、Web サーバーに接続できます。
  2. ONNX ランタイムの使用。 デバイスで推論機能を持つモデルをアプリケーション配布する場合は、このオプションを使用します。

ローカル REST API Web サーバー

ローカル REST API Web サーバーを使用すると、クラウド AI モデル サービスに依存することなく、アプリケーションをローカルでビルドしてテストできます。 Web サーバーと対話するには、REST または OpenAI クライアント ライブラリを使用します。

REST 要求の本文の例を次に示します。

{
    "model": "Phi-3-mini-4k-directml-int4-awq-block-128-onnx",
    "messages": [
        {
            "role": "user",
            "content": "what is the golden ratio?"
        }
    ],
    "temperature": 0.7,
    "top_p": 1,
    "top_k": 10,
    "max_tokens": 100,
    "stream": true
}'

モデル フィールドを、ダウンロードしたモデルの名前に更新することが必要になる場合があります。

REST や CURL ユーティリティなどの API ツールを使用して、 エンドポイントをテストできます。

curl -vX POST http://127.0.0.1:5272/v1/chat/completions -H 'Content-Type: application/json' -d @body.json

ONNX ランタイム

ONNX ランタイム生成 API は、ONNX ランタイムによる推論、ロジット処理、検索とサンプリング、KV キャッシュ管理など、ONNX モデルの生成 AI ループを提供します。 上位レベル generate() のメソッドを呼び出したり、モデルの各イテレーションをループで実行したりして、一度に 1 つのトークンを生成したり、必要に応じてループ内の生成パラメーターを更新したりできます。

最長一致/ビーム検索と TopP、TopK サンプリングをサポートし、トークン シーケンスを生成し、繰り返しペナルティなどの組み込みのロジット処理を生成します。 次のコードは、アプリケーションで ONNX ランタイムを活用する方法の例です。

ローカル REST API Web サーバーに示されている例を参照してください。 AI Toolkit REST Web サーバーは ONNX ランタイムを使用して構築されます。

次の手順