AI アーキテクチャの設計
AI は、マシンがインテリジェントな人間の行動を模倣できるようにするテクノロジです。 マシンは AI を使用して次のことができます。
- データを分析して画像やビデオを作成します。
- 音声を分析して合成します。
- 自然な方法で口頭で対話します。
- 予測を行い、新しいデータを生成します。
AI をアプリケーションに組み込んで関数を実行したり、従来のロジックや処理では効果的に処理できない決定を行ったりすることができます。 ソリューションを設計するアーキテクトとして、AI と機械学習の状況と、Azure ソリューションをワークロード設計に統合する方法を理解することが重要です。
作業開始
Azure Architecture Center には、シナリオに適用できるアーキテクチャ、アーキテクチャ ガイド、アーキテクチャ のベースライン、アイデアの例が用意されています。 AI と機械学習コンポーネントを含むワークロードは、Azure Well-Architected Framework AI ワークロード ガイダンスに従う必要があります。 このガイダンスには、5 つのアーキテクチャの柱全体で AI と機械学習のワークロードに影響を与える原則と設計ガイドが含まれています。 これらの推奨事項は、Azure アーキテクチャ センターのシナリオとコンテンツに実装する必要があります。
AI の概念
AI の概念には、マシンが通常人間のインテリジェンスを必要とするタスクを実行できるようにするさまざまなテクノロジと手法が含まれています。 次のセクションでは、AI の主要な概念の概要について説明します。
アルゴリズム
アルゴリズム または 機械学習アルゴリズム は、複雑なデータセット内の意味を探索、分析、および見つけるのに役立つコードです。 各アルゴリズムは、特定の目標を達成するためにマシンが従うことができる明確なステップ バイ ステップ命令の有限のセットです。 機械学習モデルの目的は、人間が予測を行ったり、情報を分類したりするために使用できるパターンを確立または検出することです。 あるアルゴリズムには、ペットが猫、犬、魚、鳥、トカゲのどれであるかを判断する方法を記述できる可能性があります。 はるかに複雑な別のアルゴリズムには、書き言葉または話し言葉を識別し、その単語を分析して、それらを別の言語に翻訳し、翻訳が正確かどうかをチェックする方法を記述できる可能性があります。
タスクに最適なアルゴリズム ファミリを選択します。 ファミリ内のさまざまなアルゴリズムを評価して、ワークロードに適したアルゴリズムを見つけます。 詳細については、「機械学習アルゴリズムとは」を参照してください。.
機械学習
機械学習 は、アルゴリズムを使用して予測モデルを作成する AI 手法です。 これらのアルゴリズムは、データ フィールドを解析し、データ内のパターンから "学習" してモデルを生成します。 その後、モデルは、新しいデータに基づいて、情報に基づいた予測や意思決定を行うことができます。
予測モデルは、既知のデータに対して検証され、特定のビジネス シナリオのパフォーマンス メトリックによって測定され、必要に応じて調整されます。 学習と検証のこのプロセスは、"トレーニング" と呼ばれます。 定期的な再トレーニングにより、機械学習モデルは時間の経過とともに改善されます。
ワークロード設計では、将来の状況を予測するために確実に使用できる過去の観察がシナリオに含まれている場合は、機械学習を使用できます。 これらの観察は、ある形態の動物を別の動物から検出するコンピューター ビジョンなど、普遍的な真理である可能性があります。 または、これらの観察は、過去の保証請求データに基づいてアセンブリラインの潜在的なアセンブリミスを検出するコンピュータビジョンなど、状況に固有の場合があります。
詳細については、「機械学習とは」を参照してください。.
ディープ ラーニング
ディープ ラーニング は、独自のデータ処理を通じて学習できる機械学習の一種です。 機械学習と同様に、アルゴリズムを使用してデータを分析します。 しかし、多くの入力、出力、および処理レイヤーを含む人工ニューラル ネットワークを介してデータを分析します。 各レイヤーは、異なる方法でデータを処理できます。 1 つのレイヤーの出力が次のレイヤーの入力になります。 このプロセスにより、ディープ ラーニングでは従来の機械学習よりも複雑なモデルを作成できます。
ディープ ラーニングでは、高度にカスタマイズされたモデルや探索的なモデルを生成するために多額の投資が必要です。 ワークロードにディープ ラーニングを追加する前に、この記事の他のソリューションを検討してください。
詳細については、「ディープ ラーニングとは」を参照してください。.
生成 AI
Generateive AI は、自然言語、コンピューター ビジョン、オーディオ、画像入力など、さまざまな形式のコンテンツに基づいて元のコンテンツを生成するモデルをトレーニングします。 生成 AI を使用すると、日常的な言語で目的の出力を記述でき、モデルは適切なテキスト、画像、コードを作成することで応答できます。 生成 AI アプリケーションの例としては、Microsoft Copilot や Azure OpenAI Service などがあります。
Copilot は、主にコード、ドキュメント、およびその他のテキストベースのコンテンツを記述するのに役立つユーザー インターフェイスです。 これは一般的な OpenAI モデルに基づいており、さまざまな Microsoft アプリケーションとユーザー エクスペリエンスに統合されています。
Azure OpenAI は、o1-preview、o1-mini、GPT-4o、GPT-4o mini、GPT-4 Turbo with Vision、GPT-4、GPT-3.5-Turbo、Embeddings モデル シリーズなど、OpenAI の強力な言語モデルへのアクセスを提供するサービスとしての開発プラットフォームです。 これらのモデルは、次のような特定のタスクに適応させることができます。
- コンテンツの生成。
- コンテンツの要約。
- 画像の理解。
- セマンティック検索。
- 自然言語からコードへの翻訳。
言語モデル
言語モデル は、テキスト生成や感情分析などの自然言語処理タスクに焦点を当てた生成 AI のサブセットです。 これらのモデルは、特定のコンテキストで単語または単語のシーケンスが発生する確率に基づいて自然言語を表します。
従来の言語モデルは、特定のタスクに対して適切にラベル付けされたテキスト データセットでモデルをトレーニングする研究目的で、教師あり設定で使用されます。 事前トレーニング済みの言語モデルは、AI を使い始めるアクセス可能な方法を提供します。 これらは近年、より広く使用されています。 これらのモデルは、ディープ ラーニング ニューラル ネットワークを介してインターネットから大規模なテキスト コレクションでトレーニングされます。 特定のタスクの小さなデータセットで微調整できます。
パラメーターの数 (重み) によって、言語モデルのサイズが決まります。 パラメーターは、モデルが入力データを処理し、出力を生成する方法に影響します。 トレーニング中、モデルは重みを調整して、予測と実際のデータの差を最小限に抑えます。 このプロセスは、モデルがパラメーターを学習する方法です。 モデルのパラメーターが多いほど、複雑で表現力が高くなります。 ただし、トレーニングと使用には計算コストも高くなります。
一般に、小さな言語モデルのパラメーターは一般に 100 億未満であり、大規模な言語モデルには 100 億を超えるパラメーターがあります。 たとえば、Microsoft Phi-3 モデル ファミリには、次の 3 つのバージョンがあります。
- Mini、38 億個のパラメーター
- 小規模で 70 億個のパラメーター
- ミディアム、140 億パラメーター
詳細については、「言語モデル カタログ」を参照してください。
Copilot
言語モデルの可用性により、デジタル副操縦士や接続されたドメイン固有のエージェントを通じてアプリケーションやシステムとやり取りする新しい方法が登場しました。 Copilots は、多くの場合、チャット インターフェイスとしてアプリケーションに統合される生成型 AI アシスタントです。 そのようなアプリケーションの一般的なタスクに対して、コンテキストに応じたサポートを提供します。
Microsoft Copilot は、さまざまな Microsoft アプリケーションとユーザー エクスペリエンスと統合されています。 これは、Microsoft 以外の開発者が独自のプラグインを作成して、Copilot を使用してユーザー エクスペリエンスを拡張またはカスタマイズできるオープン アーキテクチャに基づいています。 パートナー開発者は、同じオープン アーキテクチャを使用して独自の副操縦士を作成することもできます。
詳細については、次のリソースを参照してください。
検索拡張生成
取得拡張生成 (RAG) は、パブリック データでのみトレーニングされる ChatGPT のような大規模言語モデル (LLM) の機能を拡張するアーキテクチャ パターンです。 このパターンを使用して、ユーザー要求に関連するグラウンド データをコンテキストに提供する取得システムを追加できます。 情報取得システムは、言語モデルが応答を作成するときに使用する接地データを制御します。 RAG アーキテクチャを使用すると、ベクター化されたドキュメント、画像、その他のデータ形式からソースを取得したコンテンツに対して、生成 AI のスコープを設定できます。 RAG はベクター検索ストレージに限定されません。 任意のデータ ストア テクノロジを使用できます。
詳細については、「RAG ソリューション の設計と開発」を参照し、ベクター検索 用の Azure サービスを選択。
Azure AI サービス
azure AI サービス 、開発者と組織は、既製の事前構築済みのカスタマイズ可能な API とモデルを使用して、インテリジェントで市場に対応した責任あるアプリケーションを作成できます。 ユース ケースには、会話、検索、監視、翻訳、音声、ビジョン、意思決定のための自然言語処理が含まれます。
詳細については、次のリソースを参照してください。
- Azure AI サービスのテクノロジの選択
- Azure AI サービスのドキュメント
- Azure で自然言語処理テクノロジを選択する
AI 言語モデル
OpenAI GPT モデルなどの LLMは、さまざまなドメインやタスクにわたって自然言語を生成できる強力なツールです。 モデルを選択するには、データプライバシー、倫理的使用、正確性、偏りなどの要因を考慮してください。
Phi オープン モデル は、生成 AI ソリューション用の小規模でコンピューティング集中型のモデルです。 小さな言語モデルは、LLM よりも効率的で解釈可能で、説明しやすい場合があります。
ワークロードを設計するときは、従量制課金 API の背後にあるホストされたソリューションとして言語モデルを使用できます。 また、多くの小さな言語モデルでは、インプロセスで、または少なくともコンシューマーと同じコンピューティングで言語モデルをホストできます。 ソリューションで言語モデルを使用する場合は、ユース ケースに合わせてソリューションを最適化するために、言語モデルとその使用可能なホスティング オプションの選択を検討してください。
AI 開発プラットフォームとツール
次の AI 開発プラットフォームとツールは、機械学習と AI モデルの構築、デプロイ、管理に役立ちます。
Azure Machine Learning
Azure Machine Learning は、モデルの構築とデプロイに使用できる機械学習サービスです。 Machine Learning には、機械学習モデルとパイプラインを大規模にトレーニングしてデプロイするための Web インターフェイスと SDK が用意されています。 PyTorch、TensorFlow、scikit-learn など、オープンソースの Python フレームワークと共にこれらの機能を使用します。
詳細については、次のリソースを参照してください。
Azure の Machine Learning リファレンス アーキテクチャ
ベースライン OpenAI のエンド ツー エンド チャット参照アーキテクチャ は、OpenAI の GPT モデルを使用してエンド ツー エンドのチャット アーキテクチャを構築する方法を説明する参照アーキテクチャです。
自動化された機械学習
自動機械学習 (AutoML) は、機械学習モデル開発の時間のかかる反復的なタスクを自動化するプロセスです。 データ サイエンティスト、アナリスト、開発者は、AutoML を使用して、モデルの品質を維持しながら、高スケール、効率、生産性を備える機械学習モデルを構築できます。
詳細については、次のリソースを参照してください。
- AutoML とは
- チュートリアル: Machine Learning Studio で AutoML を使用して分類モデルをトレーニングする
- Python で AutoML 実験を構成する
- Machine Learning に CLI 拡張機能を使用する
MLflow
Machine Learning ワークスペースは MLflow と互換性があります。つまり、MLflow サーバーを使用するのと同じ方法で Machine Learning ワークスペースを使用できます。 この互換性には、次の利点があります。
- Machine Learning は MLflow サーバー インスタンスをホストしませんが、MLflow API を直接使用できます。
- Machine Learning ワークスペースは、Machine Learning で実行されるかどうかにかかわらず、MLflow コードの追跡サーバーとして使用できます。 追跡が行われるワークスペースを指す MLflow を構成する必要があります。
- 変更を加えることなく、Machine Learning で MLflow を使用するトレーニング ルーチンを実行できます。
詳細については、MLflow と Machine Learning および MLflowを参照してください。
生成 AI ツール
プロンプト フロー は、イデーション、プロトタイプ作成、テスト、評価から運用環境のデプロイと監視まで、生成 AI アプリケーションのエンド ツー エンドの開発サイクルを合理化するために使用できる一連の開発ツールです。 モジュール式オーケストレーションおよびフロー エンジンでアクションを表現することで、プロンプト エンジニアリングをサポートします。
Azure AI Foundry は、包括的なプラットフォームを使用して、責任を持って生成 AI アプリおよび API を実験、開発、展開するために役立ちます。 AI Foundry ポータルでは、AZURE AI サービス、基礎モデル、プレイグラウンド、リソースにアクセスして、AI モデルの構築、トレーニング、微調整、デプロイに役立ちます。 また、モデルの応答を評価し、プロンプト フローを使用してプロンプト アプリケーション コンポーネントを調整してパフォーマンスを向上させることもできます。
Copilot Studio は、Microsoft 365 で Copilot を拡張します。 Copilot Studio を使用して、内部および外部のシナリオ用のカスタム 副操縦を構築できます。 包括的な作成キャンバスを使用して、コパイロットを設計、テスト、公開します。 自動化されたワークフローを使用して、生成型 AI 対応の会話を簡単に作成し、既存の副操縦士の応答をより詳細に制御し、生産性を向上させることができます。
AI 用のデータ プラットフォーム
次のプラットフォームは、データ移動、処理、インジェスト、変換、リアルタイム分析、レポート作成のための包括的なソリューションを提供します。
Microsoft Fabric
Microsoft Fabric は、統合ソリューションを必要とする企業向けのエンドツーエンドの分析およびデータ プラットフォームです。 ワークロード チームに Fabric 内のデータへのアクセス権を付与できます。 このプラットフォームには、データ移動、処理、インジェスト、変換、リアルタイム イベント ルーティング、レポート作成が含まれます。 Fabric Data Engineer、Fabric Data Factory、Fabric Data Science、Fabric Real-Time Intelligence、Fabric Data Warehouse、Fabric Database などの包括的なサービス スイートを提供します。
Fabric では、個別のコンポーネントがまとまりのあるスタックに統合されます。 さまざまなデータベースや Data Warehouse に依存する代わりに、OneLake を使用してデータ ストレージを一元化できます。 AI 機能は Fabric 内に埋め込まれており、手動統合の必要がなくなります。
詳細については、次のリソースを参照してください。
- Fabric とは何ですか?
- ラーニング パス: Fabric の概要
- Fabric の AI サービス
- REST API で Fabric で Azure OpenAI を使用する
- 生成 AI に Fabric を使用する: RAG システムを構築および改善するためのガイド
- Fabric を使用してカスタム AI アプリケーションを構築する: 強化された言語モデルに RAG を実装
ファブリックのコピロート
Copilot やその他の生成 AI 機能を使用して、Fabric と Power BI でデータの変換と分析、分析情報の生成、視覚化とレポートの作成を行うことができます。 独自の副操縦を構築することも、次の事前構築済みの副操縦士のいずれかを選択することもできます。
- Fabric の Copilot
- Copilot for Data Science と Copilot for Data Engineering
- Data Factory 用の Copilot
- Data Warehouse の Copilot
- Power BI 用の Copilot
- リアルタイム インテリジェンスのための Copilot
Fabric での AI スキル
Fabric AI スキル機能を使用して、データに関する質問に回答するクエリを生成するように生成 AI システムを構成できます。 AI スキルを構成したら、同僚と共有し、簡単な言語で質問することができます。 AI は、質問に基づいて、それらの質問に回答するデータに対するクエリを生成します。
詳細については、次のリソースを参照してください。
AI 用の Apache Spark ベースのデータ プラットフォーム
Apache Spark は、ビッグ データ分析アプリケーションのパフォーマンスを向上させるメモリ内処理をサポートする並列処理フレームワークです。 Spark には、インメモリ クラスター コンピューティング用の基本的な構成要素が用意されています。 Spark ジョブは、データをメモリに読み込んでキャッシュし、繰り返しクエリを実行できます。これは、Hadoop などのディスク ベースのアプリケーションよりも高速です。
Microsoft Fabric の Apache Spark
Fabric Runtime は、Apache Spark に基づく Azure 統合プラットフォームであり、データ エンジニアリングとデータ サイエンスエクスペリエンスの実装と管理を可能にします。 Fabric Runtime は、包括的なソリューションを提供する内部ソースとオープンソース ソースの主要なコンポーネントを組み合わせたものです。
ファブリック ランタイムには、次の主要なコンポーネントがあります。
Apache Spark は、大規模なデータ処理と分析タスクを可能にする強力なオープンソースの分散コンピューティング ライブラリです。 Apache Spark は、データ エンジニアリングとデータ サイエンスのエクスペリエンスに適した、汎用的で高パフォーマンスのプラットフォームを提供します。
Delta Lake は、原子性、一貫性、分離性、持続性 (ACID) トランザクションおよびその他のデータ信頼性機能を Apache Spark と統合するオープンソース ストレージ レイヤーです。 Delta Lake は、ファブリック ランタイム内に統合され、データ処理機能を強化し、複数の同時操作でデータの整合性を確保するのに役立ちます。
Java、Scala、Python、および R の既定レベルのパッケージは、多様なプログラミング言語と環境をサポートするパッケージです。 これらのパッケージは自動的にインストールおよび構成されるため、開発者はデータ処理タスクに好みのプログラミング言語を適用できます。
Fabric Runtime は、さまざまなハードウェア構成とシステム要件との互換性を確保するために、堅牢なオープン ソース オペレーティング システム上に構築されています。
詳細については、「Fabric での Apache Spark ランタイムの」を参照してください。
Azure Databricks Runtime for Machine Learning
Azure Databricks は、ワンクリックセットアップ、合理化されたワークフロー、データ サイエンティスト、エンジニア、ビジネス アナリスト間のコラボレーションのための対話型ワークスペースを備えた Apache Spark ベースの分析プラットフォームです。
Databricks Runtime for Machine Learning を使用して、分散トレーニングに必要なすべてのライブラリを含む Databricks クラスターを起動できます。 この機能は、機械学習とデータ サイエンスのための環境を提供します。 TensorFlow、PyTorch、Keras、XGBoost など、複数の一般的なライブラリが含まれています。 Horovod を介した分散トレーニングもサポートしています。
詳細については、次のリソースを参照してください。
- Azure Databricks のドキュメント
- Azure Databricks の機械学習機能
- Azure Databricks での Spark 機械学習モデルのバッチ スコアリング
- Azure Databricks のディープ ラーニングの概要
Azure HDInsight の Apache Spark
Azure HDInsight の Apache Spark は、クラウドでの Apache Spark の Microsoft の実装です。 HDInsight の Spark クラスターは Azure Storage および Azure Data Lake Storage と互換性があるため、HDInsight Spark クラスターを使用して、Azure に格納したデータを処理できます。
SynapseML(旧称 MMLSpark) は、Apache Spark 用の Microsoft 機械学習ライブラリです。 このオープンソース ライブラリは、多数のディープ ラーニングツールとデータ サイエンス ツール、ネットワーク機能、運用レベルのパフォーマンスを Spark エコシステムに追加します。
詳細については、次のリソースを参照してください。
- SynapseML の機能
- HDInsight の概要
- チュートリアル: HDInsight で Apache Spark 機械学習アプリケーションを構築する
- HDInsight 上の Apache Spark のベスト プラクティス
- HDInsight Apache Spark クラスター設定の構成
- HDInsight で Apache Spark 機械学習パイプラインを作成する
AI 用データ ストレージ
次のプラットフォームを使用して、大量のデータを効率的に格納、アクセス、分析できます。
Fabric OneLake
Fabric の OneLake は、組織全体に合わせて調整できる、統合された論理データ レイクです。 これは、すべての分析データの中央ハブとして機能し、すべての Fabric テナントに含まれます。 Fabric の OneLake は、Data Lake Storage の基盤上に構築されています。
Fabric の OneLake:
- 構造化ファイルの種類と非構造化ファイルの種類をサポートします。
- すべての表形式データを Delta-Parquet 形式で格納します。
- 既定で管理されるテナント境界内に単一のデータ レイクを提供します。
- 組織が所有権とアクセス ポリシーを配布できるように、テナント内のワークスペースの作成をサポートします。
- データにアクセスできるレイクハウスや倉庫など、さまざまなデータ項目の作成をサポートします。
詳細については、「OneLake、データ用の OneDrive」を参照してください。
Data Lake Storage
Data Lake Storage は、構造化データと非構造化データを格納できる単一の一元化されたリポジトリです。 Data Lake を使用して、さまざまなデータを 1 か所にすばやく簡単に格納、アクセス、分析できます。 既存の構造にデータを合わせる必要はありません。 代わりに、データを生形式またはネイティブ形式 (通常はファイル、バイナリ ラージ オブジェクト、BLOB) として格納できます。
Data Lake Storage は、ファイル システムセマンティクス、ファイル レベルのセキュリティ、およびスケールを提供します。 これらの機能は Azure Blob Storage 上に構築されているため、高可用性とディザスター リカバリー機能を備えた低コストの階層化ストレージも利用できます。
Data Lake Storage では、Azure Storage のインフラストラクチャを使用して、Azure 上にエンタープライズ データ レイクを構築するための基盤を作成します。 Data Lake Storage では、大量のデータを管理できるように、数百ギガビットのスループットを維持しながら、複数のペタバイト単位の情報を処理できます。
詳細については、次のリソースを参照してください。
AI のデータ処理
次のツールを使用して、機械学習と AI アプリケーションのデータを準備できます。 高度な分析に使用できるように、データがクリーンで構造化されていることを確認します。
ファブリック データ ファクトリー
Fabric Data Factory を使用すると、データベース、データ ウェアハウス、レイクハウス、リアルタイム データ ストリームなど、複数のデータ ソースからデータを取り込み、準備し、変換できます。 このサービスは、ワークロードを設計するときにデータ操作の要件を満たすのに役立ちます。
Fabric Data Factory では、コード ソリューションと、コードなしソリューションまたはロー コード ソリューションがサポートされます。
データ パイプライン を使用して、クラウド規模でワークフロー機能を作成します。 ドラッグ アンド ドロップ インターフェイスを使用して、データフローの更新、ペタバイト サイズのデータの移動、制御フロー パイプラインの定義を行うことができるワークフローを構築します。
データフロー をロー コード インターフェイスとして使用して、数百のデータ ソースからデータを取り込み、300 を超えるデータ変換を使用して変換します。
詳細については、「Data Factory のエンド ツー エンド シナリオ: 概要とアーキテクチャの」を参照してください。
Azure Databricks
Databricks Data Intelligence Platform を使用して、特徴エンジニアリングを使用して機械学習ワークフローを作成するコードを記述できます。 特徴エンジニアリング は、機械学習モデルのトレーニングに使用できる特徴に生データを変換するプロセスです。 Databricks Data Intelligence Platform には、特徴エンジニアリングをサポートする主な機能が含まれています。
データ パイプライン 生データの取り込み、特徴テーブルの作成、モデルのトレーニング、バッチ推論の実行が行われます。 Unity カタログで特徴エンジニアリングを使用してモデルのトレーニングとログ記録を行う場合、モデルは機能メタデータと共にパッケージ化されます。 バッチ スコアリングまたはオンライン推論にモデルを使用すると、モデルは自動的に特徴量値を取得します。 呼び出し元は、値について知る必要はありません。また、新しいデータをスコア付けするために特徴を検索または結合するためのロジックを含める必要はありません。
モデルと機能サービス エンドポイント はすぐにアクセスでき、ミリ秒の待機時間が提供されます。
監視 は、データとモデルのパフォーマンスと精度を確保するのに役立ちます。
モザイク AI ベクター検索 を使用して、埋め込みを格納および取得することもできます。 埋め込みは、RAG、レコメンデーション システム、画像認識など、類似性検索を必要とするアプリケーションにとって非常に重要です。
詳細については、「Azure Databricks: 機械学習と AI用のデータを提供する」を参照してください。
AI 用データ コネクタ
Azure Data Factory と Azure Synapse Analytics パイプラインでは、コピー、データ フロー、検索、メタデータの取得、および削除アクティビティを使用して、多くのデータ ストアと形式がサポートされています。 使用可能なデータ ストア コネクタ、対応する構成を含むサポートされている機能、一般的な Open Database Connectivity オプションについては、「Azure Data Factory と Azure Synapse Analytics コネクタの概要を参照してください。
カスタム AI
カスタム AI ソリューションは、特定のビジネス ニーズと課題に対処するのに役立ちます。 次のセクションでは、カスタム AI モデルの構築と管理に使用できるさまざまなツールとサービスの概要について説明します。
Azure Machine Learning
Azure Machine Learning は、機械学習プロジェクトのライフサイクルを加速および管理するためのクラウド サービスです。 機械学習の専門家、データ サイエンティスト、エンジニアは、日常的なワークフローでこのサービスを使用して、モデルのトレーニングとデプロイ、機械学習操作の管理を行うことができます。
Machine Learning には、次の機能があります。
アルゴリズムの選択: 一部のアルゴリズムでは、データ構造や目的の結果に関する特定の前提が行われます。 より有用な結果、より正確な予測、およびより迅速なトレーニング時間を得ることができるように、ニーズに合ったアルゴリズムを選択します。 詳細については、「Machine Learningのアルゴリズムを選択する方法」を参照してください。
ハイパーパラメーターのチューニングまたは最適化: この手動プロセスを使用して、最適なパフォーマンスをもたらすハイパーパラメーター構成を見つけることができます。 この最適化により、計算コストが大幅に増加します。 ハイパーパラメーター は、モデル トレーニング プロセスで制御を提供する調整可能なパラメーターです。 たとえば、非表示レイヤーの数と、ニューラル ネットワークの各レイヤー内のノードの数を選択できます。 モデルのパフォーマンスは、ハイパーパラメーターに大きく依存します。
Machine Learning を使用すると、ハイパーパラメーターのチューニングを自動化し、並列で実験を実行して、ハイパーパラメーターを効率的に最適化できます。
詳細については、次のリソースを参照してください。
- 機械学習を使用してモデルのハイパーパラメーターを調整する
- ハイパーパラメーターのチューニングを SDK v2 にアップグレードする
- ラーニング パス: Machine Learning を使用してハイパーパラメーターのチューニングを実行する
モデル トレーニング: アルゴリズムを繰り返し使用して、モデルを作成または 学習させることができます。 モデルをトレーニングした後、それらを使用してデータを分析し、予測を行うことができます。
トレーニング フェーズ中:
個々のフィールドを識別できるように、既知のデータの品質セットにタグが付けられます。
特定の予測を行うために構成されたアルゴリズムは、タグ付けされたデータを受け取ります。
このアルゴリズムは、データ内で識別されたパターンをキャプチャするモデルを出力します。 モデルでは、これらのパターンを表すためにパラメーターのセットを使用します。
検証中:
新しいデータはタグ付けされ、モデルのテストに使用されます。
アルゴリズムは必要に応じて調整され、場合によってはより多くのトレーニングを行います。
テスト フェーズでは、タグや事前に選択されたターゲットを使用せずに、実際のデータを使用します。 モデルの結果が正確であれば、使用できる状態になり、デプロイできます。
詳細については、次のリソースを参照してください。
- Machine Learning を使用してモデルをトレーニングする
- チュートリアル: Machine Learning でモデルをトレーニングする
- Machine Learning を使用したディープラーニングと分散トレーニング
AutoML: このプロセスにより、機械学習モデル開発の時間のかかる反復的なタスクが自動化されます。 運用環境に対応した機械学習モデルの作成にかかる時間を大幅に短縮できます。 AutoML は、広範なプログラミングやドメインの知識を必要とせずに、モデルの選択、ハイパーパラメーター調整、モデル トレーニング、その他のタスクを支援できます。
AutoML は、Machine Learning で指定されたターゲット メトリックを使用してモデルのトレーニングとチューニングを行う場合に使用できます。 問題に対するエンドツーエンドの機械学習パイプラインを特定するために、データ サイエンスの専門知識は必要ありません。
業界全体の機械学習の専門家と開発者は、AutoML を使用して次のことができます。
- 広範なプログラミングや機械学習の知識がなくても、機械学習ソリューションを実装できます。
- 時間とリソースを節約します。
- データ サイエンスのベスト プラクティスを適用します。
- アジャイルな問題解決を提供します。
詳細については、「AutoML とは」を参照してください。.
スコアリング: このプロセスは、予測とも呼ばれ、トレーニング済みの機械学習モデルを使用して、新しい入力データに基づいて値を生成します。 値 (スコア) は、将来の値の予測を表すことができますが、可能性のあるカテゴリまたは結果を表す場合もあります。
詳細については、次のリソースを参照してください。
特徴エンジニアリングと特徴抽出: トレーニングデータは行と列から成ります。 各行は観測またはレコードで、各行の列は各レコードを表す特徴です。 通常は、予測モデルを作成するために選択されるのは、データ内のパターンを最もよく特徴付ける特徴です。
多くの生データ フィールドを使用してモデルをトレーニングできますが、データのパターンをより適切に区別するために、情報を提供する他のエンジニアリングされた機能を作成することが必要になる場合があります。 このプロセスは特徴エンジニアリングと呼ばれ、データのドメイン知識を使用して、機械学習アルゴリズムの学習に役立つ特徴を作成します。
Machine Learning では、特徴エンジニアリングを容易にするために、データスケーリングと正規化の手法が適用されます。 AutoML の実験では、これらの手法と特徴エンジニアリングをまとめて "特徴量化" と呼んでいます。 詳細については、「自動機械学習 でのデータ特徴付けの」を参照してください。
Azure OpenAI
Azure OpenAI では、微調整 と呼ばれるプロセスを使用して、個人のデータセットに合わせて OpenAI モデルを調整できます。 このカスタマイズ手順では、次の機能を提供してサービスを最適化します。
- プロンプト エンジニアリング のみと比べて、より高品質な結果が得られます。
- モデルの最大要求コンテキスト制限で通常許可されるよりも多くの例でトレーニングする機能。
- プロンプトが短いため、トークンが節約されます。
- 特に小規模なモデルを使用する場合は、待機時間の短い要求。
詳細については、次のリソースを参照してください。
- ファインチューニングによってモデルをカスタマイズする
- チュートリアル: Azure OpenAI GPT-4o-mini の微調整
- ベースライン OpenAI エンドツーエンド チャット リファレンス アーキテクチャ
カスタム AI 用の Azure AI サービス
Azure AI サービス には、カスタム AI モデルとアプリケーションを構築するための機能が用意されています。 次のセクションでは、これらの主要な機能の概要について説明します。
カスタム音声
カスタム音声 は、Azure AI Speech サービスの機能です。 カスタム音声を使用して、アプリケーションや製品の音声認識の精度を評価および向上させることができます。 カスタム音声モデルを使用して、リアルタイムの音声テキスト変換、音声翻訳、バッチ文字起こしを行います。
既定では、音声認識では基本モデルとしてユニバーサル言語モデルが使用されます。 このモデルは、Microsoft が所有するデータを使用してトレーニングされ、一般的に使用される音声言語を反映しています。 基本モデルは、さまざまな一般的なドメインを表す方言とふりがなで事前トレーニングされています。 音声認識要求を行うと、サポートされている言語の最新の基本モデルが既定で使用されます。 この基本モデルは、ほとんどの音声認識シナリオで適切に動作します。
カスタム モデルを使用して、基本モデルを拡張できます。 たとえば、モデルをトレーニングするためのテキスト データを提供することで、アプリケーションに固有のドメイン固有のボキャブラリの認識を向上させることができます。 また、参照文字起こしを含むオーディオ データを提供することで、アプリケーションの特定のオーディオ条件の認識を向上させることもできます。
データがパターンに従う場合は、構造化テキストを使用してモデルをトレーニングできます。 カスタムの発音を指定し、カスタムの逆テキスト正規化、カスタム書き換え、カスタム不適切な表現のフィルター処理を使用して、表示テキストの書式設定をカスタマイズできます。
カスタム翻訳ツール
カスタム トランスレーター は、Azure AI Translator サービスの機能です。 企業、アプリ開発者、言語サービス プロバイダーは、カスタム 翻訳ツールを使用して、カスタマイズされたニューラル機械翻訳 (NMT) システムを構築できます。 カスタマイズされた翻訳システムは、既存のアプリケーション、ワークフロー、および Web サイトにシームレスに統合されます。
この機能を使用して、英語との間でカスタム翻訳システムを構築および発行できます。 カスタムトランスレーターは、NMT の言語に直接マップされる 30 を超える言語をサポートしています。 言語の完全な一覧については、Translator 言語のサポートを参照してください。
カスタム 翻訳ツールには、次の機能があります。
機能 | 説明 |
---|---|
NMT テクノロジ を適用する | カスタム 翻訳ツールから NMT を適用して翻訳を改善します。 |
ビジネス用語を知っているシステムを構築 | ビジネスと業界の用語を理解する並列ドキュメントを使用して、翻訳システムをカスタマイズおよび構築します。 |
辞書を使用してモデルを構築 | トレーニング データセットがない場合は、ディクショナリ データのみを使用してモデルをトレーニングします。 |
他の人と共同作業を行う | さまざまなユーザーと作業を共有することで、チームと共同作業を行います。 |
カスタム翻訳モデルにアクセス | Microsoft Translator Text API V3 を使用して、既存のアプリケーションまたはプログラムを使用して、カスタム翻訳モデルにいつでもアクセスできます。 |
Azure AI ドキュメント インテリジェンスのカスタム モデル
Azure AI ドキュメント インテリジェンス では、高度な機械学習テクノロジを使用してドキュメントを識別し、フォームとドキュメントから情報を検出して抽出し、抽出されたデータを構造化された JSON 出力で返します。 ドキュメント インテリジェンスを使用して、事前構築済みまたは事前トレーニング済みのドキュメント分析モデルまたはトレーニング済みのスタンドアロン カスタム モデルを利用します。
ドキュメント インテリジェンス カスタム モデル 抽出モデルを呼び出す前にドキュメントの種類を識別する必要があるシナリオ用のカスタム分類モデルが含まれています。 分類モデルとカスタム抽出モデルを組み合わせて、ビジネスに固有のフォームやドキュメントからフィールドを分析および抽出できます。 スタンドアロンのカスタム抽出モデルを組み合わせて、作成済みモデルを作成します。
カスタム AI ツール
事前構築済みの AI モデルは便利で柔軟性が高まっていますが、AI を最適化する最善の方法は、特定のニーズに合わせてモデルを調整することです。 カスタム AI モデルを作成するための 2 つの主要なツールは、生成型 AI と従来の機械学習です。
Azure Machine Learning Studio
Azure Machine Learning Studio は、機械学習プロジェクトのライフサイクルを加速および管理するためのクラウド サービスです。 機械学習の専門家、データ サイエンティスト、エンジニアは、日々のワークフローでそれを使用して、モデルのトレーニングとデプロイ、機械学習操作の管理を行うことができます。
クラウド規模の大規模な AI ワークロード用の Spark や GPU など、あらゆる種類のコンピューティングを使用して Machine Learning モデルを構築およびトレーニングします。
AutoML を実行し、低コードの Machine Learning にドラッグ アンド ドロップ UI を使用します。
エンドツーエンドの Machine Learning 操作と反復可能なパイプラインを実装します。
バイアス検出とエラー分析には、責任ある AI ダッシュボードを使用します。
プロンプト エンジニアリングと LLM フローを調整および管理します。
REST API エンドポイント、リアルタイム推論、バッチ推論を使用してモデルをデプロイします。
ハブ ワークスペースを使用して、IT のガバナンスを一元化しながら、コンピューティング、クォータ、セキュリティ、および会社のリソースへの接続を共有します。 ハブを 1 回設定し、プロジェクトごとにスタジオから直接セキュリティで保護されたワークスペースを作成します。 ハブを使用して、スタジオと AI Foundry ポータルでチームの作業を管理します。
AI Foundry
AI Foundry を使用すると、広範な Azure AI オファリングの機能を使用して、カスタムの生成型 AI アプリケーションを効率的に構築してデプロイできます。
1 つのチームとして一緒に構築します。 AI Foundry ハブは、エンタープライズ レベルのセキュリティと、事前トレーニング済みのモデル、データ、コンピューティングへの共有リソースと接続を含むコラボレーション環境を提供します。
業務を整理する AI Foundry プロジェクトを使用すると、状態を保存して、最初のアイデアから最初のプロトタイプと最初の運用デプロイまでを反復処理できます。 他のユーザーを招待して共同作業を簡単に行うことができます。
GitHub、Visual Studio Code、LangChain、セマンティック カーネル、AutoGen など、好みの開発プラットフォームとフレームワークを使用します。
1,600 を超えるモデルから検出とベンチマークを行います。
サーバーレス API を使用してサービスとしてのモデル (MaaS) をプロビジョニングし、ホストされる微調整を行います。
複数のモデル、データ ソース、モダリティを組み込みます。
微調整を必要とせずに、保護されたエンタープライズ データを使用して RAG を構築します。
プロンプト エンジニアリングと LLM フローを調整および管理します。
構成可能なフィルターとコントロールを使用して、アプリと API を設計および保護します。
組み込みの評価フローとカスタム評価フローを使用して、モデルの応答を評価します。
AZURE で管理されるインフラストラクチャに AI イノベーションをデプロイし、環境間で継続的な監視とガバナンスを提供します。
デプロイ済みのアプリを継続的に監視して、運用環境での安全性、品質、トークン消費量を確保します。
詳細に関する情報は、AI Foundry ポータルとMachine Learning Studio の比較を参照してください。
AI Foundry ポータルのプロンプトフロー
AI Foundry ポータル のプロンプト フローは、LLM を利用する AI アプリケーションの開発サイクル全体を効率化するために使用できる開発ツールです。 プロンプト フローは、AI アプリケーションのプロトタイプ作成、実験、反復、デプロイのプロセスを簡素化する包括的なソリューションを提供します。
プロンプト フローは、フローの生成、カスタマイズ、または実行に使用できる機能です。
フローは、AI ロジックを実装できる命令セットです。 事前構築済みのキャンバスや LangChain などのツールを使用してフローを作成または実行します。 フローのイテレーションを資産として保存できます。 フローをデプロイすると、それが API になります。 すべてのフローがプロンプト フローであるわけではありません。 プロンプト フローは、フローを作成する 1 つの方法です。
プロンプトは、モデルに送信される入力のパッケージです。 これは、ユーザー入力、システム メッセージ、および任意の例で構成されます。 ユーザー入力は、チャット ウィンドウで送信されるテキストです。 システム メッセージは、モデルの動作と機能をスコープとする一連の命令です。
サンプル フローは、フローのしくみを示す単純な事前構築済みのオーケストレーション フローです。 サンプル フローをカスタマイズできます。
サンプル プロンプトは、ライブラリからコピーして as-is を使用したり、プロンプトデザインで変更したりできる特定のシナリオに対して定義されたプロンプトです。
カスタム AI コード言語
AI の核となる概念は、アルゴリズムを使用してデータを分析し、モデルを生成して、それを有用な方法で記述またはスコア付けすることです。 開発者やデータ サイエンティスト、場合によっては他のアルゴリズムでは、プログラミング コードを使用してアルゴリズムを記述します。 AI 開発で最も一般的なプログラミング言語の 2 つは、Python と R です。
Python は、高度な汎用プログラミング言語です。 読みやすさを重視したシンプルで習得しやすい構文があります。 コンパイル手順はありません。 Python には大きな標準ライブラリがあり、モジュールとパッケージを追加する機能をサポートしています。 この機能はモジュール性を促進し、必要に応じて機能を拡張できます。 Azure の多くを含め、Python 用の AI と機械学習ライブラリの大規模で成長しているエコシステムがあります。
詳細については、次のリソースを参照してください。
- Azure 上の Python の製品ホーム ページ
- Python 開発者向けの Azure
- Machine Learning SDK for Python
- Python とノートブックを使用した機械学習の概要
- Python 用の scikit-learn オープンソース機械学習ライブラリ
- PyTorch オープンソースの Python ライブラリ
- TensorFlow オープンソースのシンボリック数学ライブラリ
- チュートリアル: Python および TensorFlow を使用して Azure Functions で機械学習モデルを適用する
R は、統計コンピューティングとグラフィックスのための言語と環境です。 幅広いソーシャルおよびマーケティングの傾向をオンラインでマッピングしたり、財務モデルや気候モデルを開発したりするために使用できます。
Microsoft は R プログラミング言語を完全に採用しており、R 開発者が Azure でコードを実行するための多くのオプションを提供しています。
詳細については、「Machine Learning で R を対話的に使用する」を参照してください。
Azure でのカスタム AI の一般的な情報については、次のリソースを参照してください。
- Microsoft AI on GitHub: サンプル、参照アーキテクチャ、ベスト プラクティス
- Machine Learning SDK for Python
- Machine Learning のサンプル リポジトリ
- Machine Learning CLI v2 を使用して R モデルをトレーニングする
顧客事例
多くの業界では、革新的で刺激的な方法で AI を適用しています。 次の顧客ケース スタディと成功事例を考えてみましょう。
- フォルクスワーゲン:機械翻訳は60言語でフォルクスワーゲンを話
- Azure OpenAI を使用して、Kry と共に全員に医療を提供する
- PIMCO は、Azure AI 上に構築された AI を利用した検索プラットフォームを使用してクライアント サービスを強化します
- Legrand と Azure OpenAI: AI 駆動型ツールを使用して、よりスマートなソリューションを
- C.H. ロビンソンは、Azure AI を使用して物流業界を自動化するために数十年前の障壁を克服しました
Microsoft AI に関する一般的な情報
Microsoft AI の詳細を確認し、関連するニュースを最新の状態に保つ:
- Microsoft AI
- AI学習拠点
- Azure AI
- Microsoft AI ニュース
- Microsoft AI on GitHub: サンプル、参照アーキテクチャ、ベスト プラクティス
- Azure アーキテクチャ センター