次の方法で共有


Windows での AI の概要

Windows でインテリジェントな AI エクスペリエンスを構築する機能は、急速に発展しています。 Windows Copilot Runtime では、Copilot+ PC で AI に基づく機能と APIs が提供されます。 これらの機能はアクティブな開発段階にあり、常にバックグラウンドでローカルに実行されます。 Windows Copilot Runtimeの詳細を確認してください。

Windows Copilot Runtime以外にも、Microsoft はさまざまな AI サービス、サポート、ガイダンスを提供しています。 ビジネス ニーズに合わせて AI を安全に統合する方法を開始して学習するには、次のような Windows AI ドキュメントのガイダンスを確認してください。

Windows アプリで AI を使用する方法

Windows アプリが Machine Learning (ML) モデルを利用して AI の機能とユーザー エクスペリエンスを強化する方法をいくつか次に示します。

  • アプリでは、Generative AI モデルを使用して、集計、書き換え、レポートの作成、または拡張を行う複雑なトピックを理解できます。
  • アプリでは、自由形式のコンテンツを、アプリが理解できる構造化された形式に変換するモデルを使用できます。
  • アプリではセマンティック検索モデルを使用できます。これにより、ユーザーは意味によってコンテンツを検索し、関連するコンテンツをすばやく検索できます。
  • アプリでは、自然言語処理モデルを使用して複雑な自然言語要件を推論し、ユーザーの質問を実行するためのアクションを計画および実行できます。
  • アプリでは、画像操作モデルを使用して、画像をインテリジェントに変更したり、件名を消去または追加したり、スケールアップしたり、新しいコンテンツを生成したりできます。
  • アプリでは、予測診断モデルを使用して、問題を特定して予測し、ユーザーを誘導したり、問題を解決したりするのに役立ちます。

クラウドベースの AI サービスとローカル AI サービスを選択する

AI を Windows アプリケーションに統合するには、ローカル モデルとクラウドベースのモデルの 2 つの主要な方法を使用します。 ニーズに適したオプションを決定する際には、いくつかの側面を考慮する必要があります。

  • リソースの可用性

    • ローカル デバイス: モデルの実行は、CPU、GPU、NPU、メモリ、ストレージ容量など、使用されているデバイスで使用可能なリソースによって異なります。 これは、デバイスに高いコンピューティング能力または十分なストレージがない場合に制限される可能性があります。 Phiなどの小規模言語モデル (SLB) は、デバイスでローカルに使用する場合に最適です。 Copilot+ PC、すぐに使用できる AI 機能を備えた Windows Copilot Runtime によって実行される組み込みモデルを提供します。
    • クラウド: Azure AI Servicesなどの クラウド プラットフォームは、スケーラブルなリソースを提供します。 必要な量のコンピューティング能力またはストレージを使用でき、使用した分だけ支払うことができます。 OpenAI 言語モデルのような大規模言語モデル (LLM) では、より多くのリソースが必要ですが、より強力です。
  • データプライバシーとセキュリティ

    • ローカル デバイス: データはデバイス上に残るため、モデルをローカルで実行することは、セキュリティとプライバシーに関する利点をもたらす可能性があり、データセキュリティの責任はユーザーにあります。
    • クラウド: クラウド プロバイダーは堅牢なセキュリティ対策を提供しますが、データをクラウドに転送する必要があるため、場合によっては、ビジネスまたは App Service の保守担当者のデータ プライバシーの問題が発生する可能性があります。
  • アクセシビリティとコラボレーション

    • ローカル デバイス: モデルとデータは、手動で共有しない限り、デバイスでのみアクセスできます。 これにより、モデル データのコラボレーションがより困難になる可能性があります。
    • クラウド: モデルとデータは、インターネット接続を使用してどこからでもアクセスできます。 これは、コラボレーション シナリオに適している場合があります。
  • コスト

    • ローカル デバイス: デバイス ハードウェアへの初期投資を超える追加コストは発生しません。
    • クラウド: クラウド プラットフォームは従量課金制モデルで動作しますが、使用されるリソースと使用期間に基づいてコストが蓄積される可能性があります。
  • メンテナンスと更新

    • ローカル デバイス: ユーザーは、システムの保守と更新プログラムのインストールを担当します。
    • クラウド: メンテナンス、システム更新プログラム、および新機能の更新プログラムはクラウド サービス プロバイダーによって処理されるため、ユーザーのメンテナンスオーバーヘッドが削減されます。

Windows Copilot Runtime を使用する

ローカル AI モデルが適切なソリューションである場合は、Windows Copilot Runtime 機能を使用して、Copilot+ PC 上のユーザー向けの AI サービスを統合できます。 Windows アプリから利用できる、これらのすぐに使用できる AI 機能の一部を次に示します。

  • Phi Silica: ローカルですぐに使用できる言語モデルです。
  • Recall: AI を使用して過去のアクティビティを検索するのに役立つ UserActivity API。Click to Doでサポートされます。Phi Silica を使用して、Recallで見つかったコンテンツ (テキストまたは画像) にアクションを接続する機能です。
  • AI イメージング: AI (Image Super Resolution) を使用して画像をスケーリングおよびシャープにし、画像内のオブジェクトを識別します (画像セグメント化)。
  • Windows Studio Effects: デバイス カメラまたは組み込みのマイクに AI 効果を適用します。

Windows Copilot Runtime Oveviewで使用できる機能の詳細について説明します。

クラウドベースの APIs を使用する

クラウドベースのソリューションが Windows アプリのシナリオに適している場合は、以下のチュートリアルの一部に興味があるかもしれません。

多くの APIs は、クラウド ベースのモデルにアクセスして、モデルがカスタマイズされているかすぐに使用できるかに関係なく、Windows アプリの AI 機能を強化するために使用できます。 クラウドベースのモデルを使用すると、リソースを集中的に使用するタスクをクラウドに委任することで、アプリを合理化し続けることができます。 Microsoft または OpenAI によって提供されるクラウドベースの AI ベースの APIs を追加するのに役立つリソースをいくつか次に示します。

  • OpenAI チャット入力候補を WinUI 3/Windows App SDK デスクトップ アプリに追加する: クラウドベースの OpenAI ChatGPT 完了機能を WinUI 3/Windows App SDK デスクトップ アプリに統合する方法に関するチュートリアルです。

  • WinUI 3/Windows App SDK デスクトップ アプリのに DALL-E を追加する: クラウドベースの OpenAI DALL-E イメージ生成機能を WinUI 3/Windows App SDK デスクトップ アプリに統合する方法に関するチュートリアルです。

  • .NET MAUI と ChatGPTを使用してレコメンデーション アプリを作成する: クラウドベースの OpenAI ChatGPT 完了機能を .NET MAUI アプリに統合するサンプルレコメンデーション アプリを作成する方法に関するチュートリアルです。

  • .NET MAUI Windows デスクトップ アプリのに DALL-E を追加する: クラウドベースの OpenAI DALL-E イメージ生成機能を .NET MAUI アプリに統合する方法に関するチュートリアルです。

  • Azure OpenAI Service: Windows アプリで、GpT-4、GPT-4 Turbo with Vision、GPT-3.5-Turbo、DALLE-3、Embeddings モデル シリーズなどの OpenAI モデルにアクセスし、Azure のセキュリティとエンタープライズ機能を追加する場合は、この Azure OpenAI ドキュメントでガイダンスを確認できます。

  • Azure AI Services: Azure は、一般的な開発言語の REST APIs およびクライアント ライブラリ SDK を通じて利用できる AI サービスのスイート全体を提供します。 詳細については、各サービスのドキュメントをご覧ください。 これらのクラウドベースのサービスは、開発者や組織が、すぐに使用でき、事前構築済みのカスタマイズ可能な APIs とモデルを使用して、インテリジェントで最先端の市場対応の責任あるアプリケーションを迅速に作成するのに役立ちます。 アプリケーションの例には、会話、検索、監視、翻訳、音声、ビジョン、意思決定のための自然言語処理が含まれます。

ローカル コンピューターでカスタム モデルを使用する

もし、TensorFlowPyTorchなどのプラットフォームを使用して、自分のプライベートデータで独自のモデルをトレーニングできる能力がある場合。 Visual Studio Code の ONNX Runtime と AI Toolkit を使用してデバイス ハードウェア上でローカルに実行することで、そのカスタム モデルを Windows アプリケーションに統合できます。

Visual Studio CodeAI Toolkit は、パフォーマンスを向上させ、DirectML を通じてスケーリングするためのハードウェア アクセラレーションへのアクセスを含む、AI モデルをローカルでダウンロードして実行できるようにする VS Code 拡張機能です。 AI Tookit は、次の場合にも役立ちます。

  • 直感的なプレイグラウンドまたは REST API を使用したアプリケーションでのモデルのテスト。
  • AI モデルをローカルまたはクラウド (仮想マシン上) の両方で微調整して、新しいスキルを作成し、応答の信頼性を向上させ、応答のトーンと形式を設定します。
  • Phi-3Mistralなど、一般的な小言語モデル (SLB) を微調整します。
  • クラウドまたはデバイス上で実行されるアプリケーションを使用して、AI 機能をデプロイします。
  • DirectML を使用して AI 機能を使用してパフォーマンスを向上させるために、ハードウェア アクセラレーションを活用します。 DirectML は、Windows デバイス ハードウェアがデバイス GPU または NPU を使用して ML モデルのパフォーマンスを高速化できるようにする低レベルの API です。 DirectML と ONNX Runtime のペアリングは、通常、開発者がハードウェアで高速化された AI を大規模にユーザーに提供するための最も簡単な方法です。 詳細情報: DirectML の概要

これらの モデルの微調整の概念 についても調べて、事前トレーニング済みのモデルをあなたのデータにもっと合うようにすることができます。

オープン ソース モデルを検索する

Web 上のオープン ソース ML モデルを見つけることができます。最も一般的なモデルの一部を次に示します。

  • Hugging Face: Transformers ライブラリを搭載した自然言語処理用に 10,000 を超える事前トレーニング済み ML モデルのハブです。 テキスト分類、質問の回答、要約、翻訳、生成などのモデルを見つけることができます。
  • ONNX Model Zoo: コンピューター ビジョン、自然言語処理、音声など、さまざまなドメインとタスクをカバーする、ONNX 形式の事前トレーニング済み ML モデルのコレクションです。
  • Qualcomm AI Hub: Qualcomm Snapdragon デバイス用に最適化されたさまざまな ML モデルとツールへのアクセスを提供するプラットフォームです。 画像、ビデオ、オーディオ、センサー処理のモデルのほか、モバイル デバイスで ML アプリケーションを構築および展開するためのフレームワーク、ライブラリ、SDK を見つけることができます。 Qualcomm AI Hub には、開発者や研究者向けのチュートリアル、ガイド、コミュニティ サポートも用意されています。
  • Pytorch Hub: 研究の再現性を促進し、新しい研究を可能にするために設計された事前トレーニング済みのモデル リポジトリ。 これは、機械学習の研究の再現性を向上させる基本的な構成要素を提供する単純な API とワークフローです。 PyTorch Hub は、研究の再現性を容易にするために特別に設計された事前トレーニング済みのモデル リポジトリで構成されています。
  • TensorFlow Hub: 事前トレーニング済みの ML モデルと TensorFlow 用の再利用可能なコンポーネントのリポジトリ。これは、ML モデルを構築およびトレーニングするための一般的なフレームワークです。 画像、テキスト、ビデオ、オーディオ処理のモデルのほか、転移学習と微調整を行うことができます。
  • Model Zoo: さまざまなフレームワークやタスクに最適なオープン ソース ML モデルをキュレーションしてランク付けするプラットフォームです。 カテゴリ、フレームワーク、ライセンス、評価別にモデルを参照し、各モデルのデモ、コード、および論文を参照できます。

一部のモデル ライブラリ カスタマイズしてアプリ経由で配布することを意図していませんが、開発ライフサイクルの一部として、次のような実践的な探索と検出に役立つツールです。

  • Ollama: Ollama は、顔検出、感情分析、音声認識など、さまざまなタスクにすぐに使用できる ML モデルのマーケットプレースです。 数回のクリックで、モデルを参照し、テストし、アプリに統合できます。
  • LM Studio: Lmstudio は、ドラッグ アンド ドロップ インターフェイスを使用して、独自のデータからカスタム ML モデルを作成できるツールです。 さまざまな ML アルゴリズムから選択し、データの前処理と視覚化を行い、モデルのトレーニングと評価を行うことができます。

責任ある AI プラクティスを使用する

Windows アプリに AI 機能を組み込む場合は常に、「Windows での責任ある生成 AI アプリケーションと機能の開発」に記載されているガイダンスに従うことを強くお勧めします。

このガイダンスは、ガバナンス ポリシー、プラクティス、プロセスを理解し、リスクを特定し、テスト方法を推奨し、モデレーターやフィルターなどの安全対策を利用し、安全で責任のあるモデルを選択する際に特定の考慮事項を呼び出すのに役立ちます。

Windows Copilot Runtime デバイス上の生成 AI モデルは、有害なコンテンツのデバイス上の分類エンジンや既定のブロックリストなど、ローカル コンテンツの安全性機能を適用するのに役立ちます。 Microsoft では、Windows 上のローカル モデルを使用して、安全で信頼できる AI エクスペリエンスを構築するためのサポート開発者に優先順位を付けます。

その他の技術情報

  • Phi Silica、小型だが強大なデバイスに搭載されたSLM (Windows ブログ)

  • Windows 上の AI サンプル ギャラリー: Windows アプリに AI を統合する方法を示すサンプル。

  • Windows での AI の使用に関する FAQ: Windows コンテキストでの AI の使用に関連する用語と概念に関してよく寄せられる質問。"DirectML とは"、"ONNX とは"、"ORT とは"、"NPU とは"、"SLM とは"、"推論とは"、"微調整とは" など。

  • ONNX: さまざまなフレームワークやプラットフォーム間で ML モデルを表現および交換するためのオープンな標準です。 ONNX 形式で事前トレーニング済みの ML モデルが見つかる場合は、ONNX Runtime (ORT) を使用して、Windows アプリでモデルを読み込んで実行できます。 ORT を使用すると、デバイスのハードウェア高速化推論機能にアクセスし、ML モデルのパフォーマンスを最適化できます。 PyTorch や TensorFlow などの別の形式で事前トレーニング済みの ML モデルがある場合は、Oliveなどのモデル最適化ツールを使用して ONNX に変換できます。 Olive の使用に関するヘルプについては、「Microsoft Olive を使用して SLM を微調整する (ジェネレーティブ AI アプリケーション アーキテクチャの体験シリーズ)」を参照してください。 ONNX モデルの作成と使用に関するチュートリアルについては、GitHub ONNX チュートリアルを参照してください。 Windows アプリで ONNX モデルを使用する方法を示すサンプルについては、Windows サンプル ギャラリーの AIを参照してください。

  • ONNX Runtime 生成 AI を使用する Windows アプリで Phi3 やその他の言語モデルの使用を開始する

  • ONNX Runtime を使用した WinUI アプリでの ONNX モデルの概要

  • Web アプリ用 WebNN API: WebIDL と JavaScript APIsに基づいて、ブラウザーでニューラル ネットワーク ハードウェア アクセラレーションにアクセスするための Web 標準。 これにより、Web 開発者は、クラウド サービスやネイティブ ライブラリに依存することなく、クライアント側で機械学習モデルを効率的に作成して実行できます。 GitHub で WebNN サンプルを確認できます。 ONNX RuntimeWindows での AI のサンプル ギャラリーの を使用した WebNN サンプル

  • PyTorch: Python と C++ インターフェイスで使用できる非常に一般的なオープンソースディープ ラーニング フレームワークです。 これは、ML モデルで見つかる最も一般的な形式である可能性があります。 Windows (C# または C++) アプリまたは Web アプリで PyTorch ML モデルを使用する場合は、TorchSharpLibTorch(PyTorch ライブラリの .NET および C++ バインド) を使用できます。 TorchSharp と LibTorch を使用すると、テンソルの作成、読み込み、操作、ニューラル ネットワークの構築と実行、PyTorch 形式を使用したモデルの保存と読み込みを行うことができます。 サンプルについては、「TorchSharp Examples」、TorchScript for DeploymentPyTorch C++ Examplesをチェックアウトします。 Web アプリについては、「ONNX Runtimeを使用して Web アプリケーションを構築する」参照してください。 DirectML で PyTorch モデルを実行する方法の例については、Windows サンプル ギャラリーの AIを参照してください。

  • TensorFlow は、さまざまなタスクの機械学習モデルを構築してデプロイするために使用される機械学習と人工知能用のもう 1 つの一般的なオープンソース ソフトウェア ライブラリです。