トレーニング
認定資格
Microsoft Certified: Azure AI Fundamentals - Certifications
AI ソリューションを作成するための Microsoft Azure のソフトウェアとサービスの開発に関連する基本的な AI の概念を示します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
本ガイドは、人工知能 (AI) と機械学習 (ML) モデルを初めて使用するアプリ開発者を支援することを目的としたもので、基本的な概念とリソースを共有し、一般的な質問への回答および Windows アプリで AI と ML モデルを使用する方法に関する推奨事項を提供します。
機械学習 (ML) とは、人工知能 (AI) の一種で、コンピューターにデータから学習させ、予測や意思決定を行えるようにする技術です。
ML モデル は、データを基にトレーニングしてからデプロイすることで、コンテンツ生成、コンテンツに対する推論、画像認識、自然言語処理、感情分析などのさまざまなタスクを実行できるアルゴリズムです。
ML モデルを活用して Windows アプリケーションの機能とユーザー エクスペリエンスを強化する方法をいくつか以下に示します。
Windows Copilot Runtime は、AI を用いてオペレーティング システムとやり取りする方法をいくつか組み合わせたもので、 これには、 Windows Copilot Runtime APIsと呼ばれるすぐに使用できる AI に基づく機能が含まれます。 上記のシナリオをサポートするこれらのすぐに使用できる機能と API については、「 Get started using AI-backed API in your Windows app 」を参照してください。
Windows Copilot Runtime APIsローカルで Windows デバイス上で直接実行されますが、すぐに使用できる API を使用してクラウドベースのモデルを使用することもできます。 実行環境がローカルでもクラウドでも、基となる ML モデルはこうした API によって抽象化されるため、最適化、書式設定、または微調整を行う必要はありません。
ただし、Windows のローカル環境で独自の ML モデルを使用する場合は、 そのモデルを Windows デバイスで正しく実行できるように最適化するか、特定のユース ケースまたは会社を対象としてカスタマイズされた独自のデータでトレーニングし、微調整する必要があります。 本記事では、このプロセスの実行に役立つ概念、ツール、オープンソース ライブラリをいくつかご紹介します。
小規模言語モデル (SLM) は、コンパクトかつ効率を考慮した設計になっており、多くの場合は特定のタスクまたはドメインに使用されます。小規模なデータセットでトレーニングすることで、モデルの格納と実行をローカルで行えるようになり、推論に要する時間を短縮できます。 SLM は、トレーニングに使用できるデータの量が制限されており、大規模言語モデル (LLM) ほど豊富な出力情報や複雑な推論は提供できません。 ただし、ローカルで使用する場合、SLM は LLM よりも安全性とコスト効率に優れているため、有力な選択肢となり得ます。これは、チャット情報をデバイスにローカルで安全に保持することで、計算の実行にかかる負担を抑えられ、データのプライバシーを向上できるためです。
デバイス上で ML モデルを実行する場合、それを実行するデバイスのストレージ容量と処理能力を超える情報の処理はできないため、SLM はローカルでの使用に最適です。 LLM の多くは規模が大きすぎるため、ローカルでは実行できません。
SLM の例としては、Microsoft Phi-2 モデルと Phi-3 モデルが挙げられます。
大規模言語モデル (LLM) は、大量のデータとパラメーターを用いてトレーニングされたモデルのため、非常に複雑で大容量のストレージが必要になります。 大規模であることから、LLM はデータのきわめて繊細かつ複雑なパターンを捉えられ、SLM よりも豊富な情報を網羅でき、より複雑なパターンも扱えます。 また、トレーニングと推論の実行の両方において、非常に大規模な計算リソースが必要になります。 LLM の多くは、ローカル デバイスでは実行できません。
OpenAI 言語モデルの GPT-4o、GPT-4 Turbo、GPT-3.5 Turbo、DALL·E、Whisper はすべて LLM の例です。
SLM をローカルで使用する場合と LLM をクラウドで使用する場合との違いの詳細については、「Windows アプリでローカルの AI 対応 API とクラウドベースの AI 対応 API を使用する場合の考慮事項」を参照してください。
すぐに使用でき、独自のデータや好みの設定でカスタマイズ可能なオープンソースの ML モデルは、さまざまなプラットフォームで提供されています。以下で、一般的に使用されているプラットフォームをいくつかご紹介します。
一部のモデル ライブラリは、カスタマイズを目的としたものではなく、アプリ経由で配布されますが、開発ライフサイクルの一部として実践的な体験や新たな発見に役立ちます。その具体的な例は以下のとおりです。
Windows アプリで使用することを目的とした ML モデルをお探しの場合は、「Windows 上での責任ある生成 AI アプリケーションと機能の開発」のガイダンスに従うことを強くお勧めします。 このガイダンスは、ガバナンス ポリシー、プラクティス、プロセスの理解やリスクの特定に役立つほか、推奨されるテスト方法、モデレーターやフィルターなどによるセキュリティ対策、安全で責任あるモデルを選択する際に考慮すべき点を把握するのにも役立ちます。
Windows アプリで ML モデルを使用する方法は、モデルの種類、ソース、形式、アプリの種類によって異なります。
ML モデルには、次のような形式があります。
ONNX: さまざまなフレームワークやプラットフォーム間での ML モデルの表現や交換に使用できるオープン標準の形式です。 ONNX 形式の事前トレーニング済み ML モデルの場合、Windows アプリでのモデルの読み込みと実行は、ONNX Runtime (ORT) で行えます。 ORT を使用すれば、デバイスのハードウェア アクセラレーション済みの推論機能にアクセスできるようになり、ML モデルのパフォーマンスを最適化できます。 PyTorch や TensorFlow など、別の形式の事前トレーニング済みの ML モデルを使用する場合は、Olive などのモデル最適化ツールで ONNX 形式に変換できます。 Olive の使用方法の詳細については、「Fine-tune SLM with Microsoft Olive (Journey Series for Generative AI Application Architecture) (Microsoft Olive を使用した SLM の微調整 (生成 AI アプリケーション アーキテクチャの体験シリーズ))」を参照してください。 ONNX モデルの作成と使用に関するチュートリアルについては、GitHub 上の ONNX チュートリアルを参照してください。 Windows アプリで ONNX モデルを使用する方法を示すサンプルについては、「Windows 上の AI のサンプル ギャラリー」を参照してください。
PyTorch: Python と C++ インターフェイスで利用できる、非常に多く使用されるオープンソースのディープ ラーニング フレームワークです。 PyTorch は、ML モデルの中で最も一般的な形式と言えるでしょう。 Windows (C# または C++) アプリまたは Web アプリで PyTorch の ML モデルを使用する場合は、PyTorch ライブラリの .NET および C++ バインディングである TorchSharp と LibTorch を使用できます。 TorchSharp と LibTorch を使用すれば、テンソルの作成、読み込み、操作、ニューラル ネットワークの構築と実行、PyTorch 形式を使用したモデルの保存と読み込みができます。 サンプルについては、TorchSharp の例、デプロイ用の TorchScript、PyTorch C++ の例を参照してください。 Web アプリに関する詳細については、「Build a web application withONNX Runtime (を使用した Web アプリケーションの構築)」を参照してください。 DirectML で PyTorch モデルを実行する方法の例については、「Windows 上の AI のサンプル ギャラリー」を参照してください。
TensorFlow も、機械学習と人工知能の一般的なオープンソース ソフトウェアのライブラリで、さまざまなタスクに対応した機械学習モデルの構築とデプロイに使用されています。
Web アプリ用 WebNN API: WebIDL API と JavaScript API を基に、ブラウザーでニューラル ネットワークのハードウェア アクセラレータにアクセスするための Web 標準の API です。 これを使用すれば、Web 開発者は、クラウド サービスやネイティブ ライブラリに依存することなく、クライアント側で機械学習モデルを効率的に作成し、実行できます。 GitHub 上の WebNN のサンプル Windows 上の AI のサンプル ギャラリーにある ONNX Runtime を使用した WebNN のサンプル
AI Toolkit for Visual Studio Code は、AI モデルをローカルでダウンロードして実行できる VS Code 拡張機能です。 AI Tookit は、次の場合にも役立ちます。
DirectML は、Windows デバイス ハードウェアがデバイス GPU または NPU を使用して ML モデルのパフォーマンスを高速化できるようにする低レベルの API です。 開発者にとって、ハードウェア アクセラレータによる AI を大規模にユーザーに提供するためには、通常、DirectML と ONNX Runtime のペアリングが最も簡単な方法です。 詳細情報: DirectML の概要。
トレーニング
認定資格
Microsoft Certified: Azure AI Fundamentals - Certifications
AI ソリューションを作成するための Microsoft Azure のソフトウェアとサービスの開発に関連する基本的な AI の概念を示します。