Azure AI Studio のアーキテクチャ
AI Studio には、AI 開発者とデータ サイエンティストが、Web ポータル、SDK、または CLI を使用して AI モデルを構築、評価、デプロイするための統合されたエクスペリエンスが用意されています。 AI Studio は、他の Azure サービスによって提供される機能とサービスに基づいて構築されています。
最上位の AI Studio リソース (ハブとプロジェクト) は、Azure Machine Learning に基づいています。 Azure OpenAI、Azure AI サービス、Azure AI 検索などの接続されたリソースは、参照でハブとプロジェクトによって使用されますが、独自のリソース管理ライフサイクルに従います。
- AI Studio ハブ: このハブは AI Studio の最上位のリソースです。 ハブの Azure リソース プロバイダーは
Microsoft.MachineLearningServices/workspaces
で、リソースの種類はHub
です。 また、以下のような特徴があります。- プロジェクトとモデル エンドポイントにまたがるマネージド ネットワークを含むセキュリティ構成。
- 対話型開発、微調整、オープンソース、モデルのサーバーレス デプロイのためのコンピューティング リソース。
- Azure OpenAI、Azure AI サービス、Azure AI 検索などの他の Azure サービスへの接続。 ハブ スコープ接続は、ハブから作成されたプロジェクトと共有されます。
- プロジェクト管理。 1 つのハブに複数の子プロジェクトを含めることができます。
- データのアップロードと成果物のストレージのための関連付けられている Azure ストレージ アカウント。
- AI Studio プロジェクト: プロジェクトは、ハブの子リソースです。 プロジェクトの Azure リソース プロバイダーは
Microsoft.MachineLearningServices/workspaces
で、リソースの種類はProject
です。 このプロジェクトには、次の機能があります。- AI アプリケーションを構築およびカスタマイズするための開発ツールへのアクセス。
- データセット、モデル、インデックスなどの再利用可能なコンポーネント。
- データをアップロードする分離コンテナー (ハブから継承されたストレージ内)。
- プロジェクト スコープの接続。 たとえば、プロジェクト メンバーは、他のプロジェクトにその同じアクセスを与えることなく、Azure Storage アカウントに保存されているデータへのプライベート アクセスを必要とする場合があります。
- カタログおよび微調整されたモデル エンドポイントからのオープン ソース モデル デプロイ。
ハブを使用して一元的に設定および管理する
ハブは、チームがプレイグラウンドやプロジェクト全体でセキュリティ、接続、コンピューティング リソースを管理する一元的な方法を提供します。 ハブを使用して作成されたプロジェクトでは、同じセキュリティ設定と共有リソース アクセスを継承します。 チームは、作業を整理し、データを分離し、アクセスを制限するために必要な数のプロジェクトを作成できます。
多くの場合、ビジネス ドメインのプロジェクトでは、ベクトル インデックス、モデル エンドポイント、リポジトリなどの同じ会社リソースにアクセスする必要があります。 チーム リーダーはハブ内でこれらのリソースとの接続を事前に構成できるため、開発者は IT の遅延なくどの新しいプロジェクト ワークスペースからでもアクセスできます。
接続では、ハブの外部で管理されている AI Studio のオブジェクトにアクセスできます。 たとえば、Azure ストレージ アカウントにアップロードされたデータや、既存の Azure OpenAI リソースへのモデル デプロイなどです。 接続は、すべてのプロジェクトと共有することも、1 つの特定のプロジェクトからアクセスできるようにすることもできます。 接続は、接続されているリソース上のユーザーへのアクセスを承認するためにキーベースのアクセスまたは Microsoft Entra ID パススルーを使用するように構成できます。 管理者は、AI Studio の 1 つのビューから組織全体の接続を追跡、監査、管理できます。
チームのニーズに合わせて整理する
必要なハブとプロジェクトは、作業を行う方法によって異なります。 同様のデータ アクセスを必要とする大規模なチーム用に 1 つのハブを作成する場合があります。 この構成を使用すると、最大限のコスト効率とリソース共有を実現し、セットアップのオーバーヘッドを最小限に抑えることができます。 例としては、カスタマーサービスに関連するすべてのプロジェクトのハブがあります。
LLMOps または MLOps 戦略の一環として、開発、テスト、運用の各環境を分離する必要がある場合、環境ごとにハブを作成することを検討します。 運用環境向けのソリューションの準備状況に応じて、プロジェクト ワークスペースを各環境に複製するか、または 1 つの環境のみに複製するかを決定できます。
Azure リソースの種類とプロバイダー
Azure AI Studio は、Azure Machine Learning リソース プロバイダー上に構築され、他のいくつかの Azure サービスに依存します。 これらのサービスのリソース プロバイダーを Azure サブスクリプションに登録する必要があります。 次の表に、リソースの種類、プロバイダー、種類を示します。
リソースの種類 | リソース プロバイダー | 種類 |
---|---|---|
Azure AI Studio ハブ | Microsoft.MachineLearningServices/workspace |
hub |
Azure AI Studio プロジェクト | Microsoft.MachineLearningServices/workspace |
project |
Azure AI サービス "または" Azure AI OpenAI サービス |
Microsoft.CognitiveServices/account |
AIServices OpenAI |
新しいハブを作成する場合、データの保存、モデルへのアクセスの取得、AI のカスタマイズのためのコンピューティング リソースの提供には、依存する一連の Azure リソースが必要です。 次の表に、依存する Azure リソースとそのリソース プロバイダーを示します。
ヒント
ハブの作成時に依存リソースを指定せず、それが必須の依存関係である場合は、AI Studio によってリソースが作成されます。
依存する Azure リソース | リソース プロバイダー | 省略可能 | Note |
---|---|---|---|
Azure AI Search | Microsoft.Search/searchServices |
✔ | プロジェクトに検索機能を提供します。 |
Azure ストレージ アカウント | Microsoft.Storage/storageAccounts |
フローや評価などのプロジェクトの成果物を格納します。 データを分離するために、ストレージ コンテナーにはプロジェクト GUID を使用してプレフィックスが付き、プロジェクト ID には Azure ABAC を使用して条件付きでセキュリティ保護されます。 | |
Azure Key Vault | Microsoft.KeyVault/vaults |
リソース接続の接続文字列などのシークレットを格納します。 データを分離するために、API を使用してプロジェクト間でシークレットを取得することはできません。 | |
Azure Container Registry | Microsoft.ContainerRegistry/registries |
✔ | プロンプト フローのカスタム ランタイムの使用時に作成された docker イメージの格納。 データを分離するために、Docker イメージにはプロジェクト GUID を使用してプレフィックスが付けられます。 |
Azure Application Insights & Log Analytics ワークスペース |
Microsoft.Insights/components Microsoft.OperationalInsights/workspaces |
✔ | デプロイされたプロンプト フローのアプリケーション レベルのログ記録を選択した場合に、ログ ストレージとして使用されます。 |
リソースプロバイダーの登録については、Azure リソース プロバイダーの登録に関するセクションを参照してください。
Microsoft がホストするリソース
Azure AI Studio で使用されるリソースのほとんどはご利用の Azure サブスクリプションに存在しますが、一部のリソースは Microsoft が管理する Azure サブスクリプションにあります。 これらのマネージド リソースのコストは、Azure Machine Learning リソース プロバイダーの下の品目として Azure の請求書に表示されます。 次のリソースは Microsoft が管理する Azure サブスクリプションにあり、ご利用の Azure サブスクリプションには表示されません。
マネージド コンピューティング リソース: Microsoft サブスクリプションの Azure Batch リソースによって提供されます。
マネージド仮想ネットワーク: Microsoft サブスクリプションの Azure Virtual Network リソースによって提供されます。 FQDN ルールが有効になっている場合、Azure Firewall (Standard) が追加され、ご利用のサブスクリプションに課金されます。 詳細については、Azure AI Studio 用にマネージド仮想ネットワークを構成するに関するページを参照してください。
メタデータ ストレージ: Microsoft サブスクリプションの Azure Storage リソースによって提供されます。
Note
カスタマー マネージド キーを使用する場合は、メタデータ ストレージ リソースがご利用のサブスクリプションに作成されます。 詳細については、カスタマー マネージド キーに関するセクションを参照してください。
マネージド コンピューティング リソースとマネージド仮想ネットワークは、Microsoft サブスクリプションに存在しますが、管理はお客様が行います。 たとえば、コンピューティング リソースに使用する VM のサイズや、マネージド仮想ネットワークに構成するアウトバウンド規則を制御します。
マネージド コンピューティング リソースには、脆弱性管理も必要です。 脆弱性の管理は、お客様と Microsoft の共同責任です。 詳細については、脆弱性管理に関するページを参照してください。
ロールベースのアクセス制御とコントロール プレーン プロキシ
Azure OpenAI を含む Azure AI サービスには、モデル デプロイの一覧表示などの操作用のコントロール プレーン エンドポイントが用意されています。 これらのエンドポイントは、ハブに使用される構成とは別の Azure ロールベースのアクセス制御 (RBAC) 構成を使用してセキュリティ保護されます。
Azure RBAC 管理の複雑さを軽減するために、AI Studio には、接続された Azure AI サービスと Azure OpenAI リソースに対して操作を実行できる "コントロール プレーン プロキシ" が用意されています。 コントロール プレーン プロキシを介してこれらのリソースに対する操作を実行するのに必要なのは、そのハブに対する Azure RBAC アクセス許可だけです。 その後、ユーザーの代わりに Azure AI Studio サービスによって、Azure AI サービスまたは Azure OpenAI コントロール プレーン エンドポイントへの呼び出しが実行されます。
詳しくは、「Azure AI Studio でのロールベースのアクセス制御」をご覧ください。
属性ベースのアクセス制御
作成する各ハブには、既定のストレージ アカウントがあります。 ハブの各子プロジェクトは、ハブのストレージ アカウントを継承します。 ストレージ アカウントは、データや成果物を格納するために使用されます。
共有ストレージ アカウントをセキュリティで保護するために、Azure AI Studio では Azure RBAC と Azure 属性ベースのアクセス制御 (Azure ABAC) の両方が使用されます。 Azure ABAC は、ユーザー、リソース、環境に関連付けられている属性に基づいてアクセス制御を定義するセキュリティ モデルです。 各プロジェクトには、次のものがあります。
- ストレージ アカウントに対するストレージ BLOB データ共同作成者の役割が割り当てられたサービス プリンシパル。
- 一意の ID (ワークスペース ID)。
- ストレージ アカウント内のコンテナーのセット。 各コンテナーには、プロジェクトのワークスペース ID 値に対応するプレフィックスがあります。
各プロジェクトのサービス プリンシパルのロールの割り当てには、一致するプレフィックス値を持つコンテナーへのサービス プリンシパル アクセスのみを許可する条件があります。 この条件により、各プロジェクトがそれ自身のコンテナーにのみアクセスできるようになります。
Note
ストレージ アカウントでのデータ暗号化の場合、スコープはストレージ全体であり、コンテナーごとではありません。 そのため、すべてのコンテナーは同じキー (Microsoft または顧客によって提供される) を使用して暗号化されます。
Azure アクセスベースの制御の詳細については、「Azure の属性ベースのアクセス制御とは」を参照してください。
ストレージ アカウント内のコンテナー
ハブの既定のストレージ アカウントには、次のコンテナーがあります。 これらのコンテナーはプロジェクトごとに作成され、{workspace-id}
プレフィックスはプロジェクトの一意の ID と一致します。 プロジェクトは、接続を使用してコンテナーにアクセスします。
ヒント
プロジェクトの ID を見つけるには、Azure portal でそのプロジェクトにアクセスします。 [設定] を展開し、[プロパティ] を選択します。 ワークスペース ID が表示されます。
コンテナー名 | [接続名] | 説明 |
---|---|---|
{workspace-ID}-azureml |
workspaceartifactstore | メトリック、モデル、コンポーネントなどのアセットのストレージ。 |
{workspace-ID}-blobstore |
workspaceblobstore | データ アップロード、ジョブ コード スナップショット、パイプライン データ キャッシュのストレージ。 |
{workspace-ID}-code |
NA | ノートブック、コンピューティング インスタンス、プロンプト フローのストレージ。 |
{workspace-ID}-file |
NA | データ アップロード用の代替コンテナー。 |
暗号化
Azure AI Studio では、暗号化を使用して保存データと転送中のデータが保護されます。 既定では、暗号化に Microsoft マネージド キーが使用されます。 ただし、独自のキー暗号化キーも使用できます。 詳細については、カスタマー マネージド キーに関するセクションを参照してください。
仮想ネットワーク
"マネージド" 仮想ネットワークを使用するようにハブを構成できます。 マネージド仮想ネットワークを使用すると、ハブ、プロジェクト、コンピューティングなどの管理対象リソース間の通信がセキュリティで保護されます。 依存関係サービス (Azure Storage、Key Vault、Container Registry) のパブリック アクセスが無効になっている場合は、ハブ、プロジェクト、依存関係サービス間の通信をセキュリティで保護するために、依存関係サービスごとにプライベート エンドポイントが作成されます。
Note
仮想ネットワークを使用して、クライアントとハブまたはプロジェクト間の通信をセキュリティで保護する場合は、自分で作成および管理する Azure Virtual Network を使用する必要があります。 たとえば、お使いのオンプレミス ネットワークへの VPN または ExpressRoute 接続を使用する Azure Virtual Network などです。
マネージド仮想ネットワークの構成方法の詳細については、Azure AI Studio 用にマネージド仮想ネットワークを構成するに関するページを参照してください。
Azure Monitor
Azure Monitor と Azure Log Analytics により、Azure AI Studio で使用される基になるリソースの監視とログが提供されます。 Azure AI Studio は、Azure Machine Learning、Azure OpenAI、Azure AI サービス、Azure AI 検索上に構築されているため、サービスを監視する方法については、次の記事を参照してください。
リソース | 監視およびログ記録 |
---|---|
Azure AI Studio ハブとプロジェクト | Azure Machine Learning の監視 |
Azure OpenAI | Azure OpenAI を監視する |
Azure AI サービス | Azure AI を監視する (トレーニング) |
Azure AI Search | Azure AI 検索を監視する |
価格とクォータ
価格とクォータの詳細については、次の記事を参照してください。
次のステップ
次のいずれかの方法を使用してハブを作成します。
- Azure AI Studio: 作業を開始するためのハブを作成します。
- Azure portal: 独自のネットワークを使用してハブを作成します。
- Bicep テンプレート。