Foundry Tools には、オンプレミスの Azure で使用できるのと同じ API を使用できる Docker コンテナー がいくつか用意されています。 これらのコンテナーを使用すると、コンプライアンス、セキュリティ、またはその他の運用上の理由から、Foundry Tools をデータに近づけるための柔軟性が得られます。 コンテナーのサポートは、Foundry Tools のサブセットで現在利用できます。
コンテナー化とは、アプリケーションまたはサービスとその依存関係や構成をコンテナー イメージとしてパッケージ化するソフトウェア配布のアプローチです。 コンテナー イメージは、ほとんどまたはまったく変更せずに、コンテナー ホストにデプロイできます。 コンテナーは、相互および基になるオペレーティング システムから分離され、仮想マシンよりもフット プリントが小さくなります。 短期間のタスクに対してコンテナーをコンテナー イメージからインスタンス化し、不要になったら削除できます。
機能とメリット
- イミュータブル インフラストラクチャ: DevOps チームが、一貫性と信頼性のある既知のシステム パラメーターのセットを活用しながら、変更に適応できるようにします。 コンテナーには、予測可能なエコシステム内でピボットして構成の誤差を回避できる柔軟性があります。
- データの制御: Foundry Tools によってデータが処理される場所を選択します。 これは、クラウドにデータを送信できないが、Foundry Tools API へのアクセスが必要な場合に不可欠です。 ハイブリッド環境でデータ、管理、ID、セキュリティの整合性をサポートします。
- モデルの更新の制御:ソリューションにデプロイされているモデルのバージョン管理と更新を柔軟に行うことができます。
- 移植可能なアーキテクチャ:Azure、オンプレミス、エッジにデプロイできる移植可能なアプリケーション アーキテクチャを作成できます。 コンテナーは、Azure Kubernetes Service、Azure Container Instances、または Azure Stack にデプロイされた Kubernetes クラスターに直接デプロイできます。 詳しくは、「Kubernetes を Azure Stack にデプロイする」をご覧ください。
- 高スループット/低待機時間: Foundry Tools がアプリケーション ロジックとデータに物理的に近い場所で実行できるようにすることで、高スループットと低待機時間の要件に合わせてスケーリングする機能を顧客に提供します。 コンテナーでは、1 秒あたりのトランザクション数 (TPS) は制限されません。必要なハードウェア リソースを提供した場合は、コンテナーのスケールアップとスケールアウトの両方を行って需要を処理することができます。
- スケーラビリティ:コンテナー化とコンテナー オーケストレーション ソフトウェア (Kubernetes など) がますます普及し、スケーラビリティは、技術進歩の最前線にあります。 スケーラブルなクラスター基盤の上に構築されたアプリケーション開発は、高可用性に対応します。
Foundry Toolsにおけるコンテナ
Azure コンテナーには次の Docker コンテナーのセットが用意されており、それぞれに Foundry Tools のサービスの機能のサブセットが含まれています。 以下の表で説明とイメージの場所を確認できます。
注意
Azure ドキュメント インテリジェンス コンテナーの手順と イメージの場所については、「 ドキュメント インテリジェンス コンテナーのインストールと実行」を参照してください。
デシジョン コンテナー
| サービス | コンテナー | 説明 | 可用性 |
|---|---|---|---|
| Anomaly Detector | Anomaly Detector (イメージ) | Anomaly Detector API では、機械学習を利用することで、時系列データを監視し、その中の異常を検出できます。 | 一般公開 |
言語コンテナー
| サービス | コンテナー | 説明 | 可用性 |
|---|---|---|---|
| ルイス | LUIS (イメージ) | トレーニング済みまたは発行済みの Language Understanding モデル ("LUIS アプリ" と呼ばれます) を Docker コンテナーに読み込みます。ユーザーは、そのコンテナーの API エンドポイントからクエリ予測を利用することができます。 コンテナーからクエリのログを収集し、それらを LUIS ポータルに再度アップロードすることで、アプリの予測精度を高めることができます。 | 一般提供されています。 |
| 言語 | キー フレーズ抽出 (イメージ) | 主なポイントを識別するキー フレーズを抽出します。 たとえば、「食べ物はおいしくて、すばらしいスタッフがいた」というテキストを入力すると、この API は話題の中心として "食べ物" と "すばらしいスタッフ" を返します。 | 一般提供されています。 このコンテナーは、切断された環境でも実行できます。 |
| 言語 | テキスト言語検出 (イメージ) | 最大 120 の言語に対して、入力テキストが書かれている言語を検出し、要求で送信されたドキュメントごとに 1 つの言語コードを報告します。 言語コードは、評価値の強度を示すスコアと組みになります。 | 一般提供されています。 このコンテナーは、切断された環境でも実行できます。 |
| 言語 | 感情分析 (イメージ) | 肯定的または否定的な感情の手がかりを探して未加工のテキストを分析します。 このバージョンの感情分析からは、各ドキュメントとその中の文のセンチメント ラベル (たとえば、"肯定的"、"否定的") が返されます。 | 一般提供されています。 このコンテナーは、切断された環境でも実行できます。 |
| 言語 | Text Analytics for Health (画像) | 構造化されていない臨床テキストから医療情報を抽出してラベル付けします。 | 一般公開 |
| 言語 | 固有表現認識 (画像) | テキストから固有表現を抽出する | 一般提供されています。 このコンテナーは、切断された環境でも実行できます。 |
| 言語 | 個人を特定できる情報 (PII) の検出 (イメージ) | 個人を特定できる情報エンティティをテキストから検出して編集します。 | 一般提供されています。 このコンテナーは、切断された環境でも実行できます。 |
| 言語 | カスタム固有表現認識 (イメージ) | データを使用して作成するカスタム モデルを使用して、テキストから固有表現を抽出します。 | 一般公開 |
| 言語 | 概要作成 (画像) | さまざまなソースからテキストの概要を作成します。 | パブリック プレビュー。 このコンテナーは、切断された環境でも実行できます。 |
| 言語 | Conversational Language Understanding (画像) | 会話言語を解釈します。 | 一般提供。 このコンテナーは、切断された環境でも実行できます。 |
| Translator | Translator (画像) | 複数の言語と方言にテキストを翻訳できます。 | 一般提供されています。 限定的 - アクセス権を要求してください。 このコンテナーは、切断された環境でも実行できます。 |
音声コンテナー
| サービス | コンテナー | 説明 | 可用性 |
|---|---|---|---|
| Speech API | 音声テキスト変換 (イメージ) | 連続するリアルタイムの音声をテキストに書き起こします。 | 一般提供されています。 このコンテナーは、切断された環境でも実行できます。 |
| Speech API | カスタム音声テキスト変換 (イメージ) | カスタム モデルを使用して、連続するリアルタイムの音声をテキストに書き起こします。 | 一般公開 このコンテナーは、切断された環境でも実行できます。 |
| Speech API | ニューラル テキスト読み上げ (イメージ) | ディープ ニューラル ネットワーク テクノロジを使用してテキストを自然な響きの音声に変換することで、合成音声がより自然なものになります。 | 一般提供されています。 このコンテナーは、切断された環境でも実行できます。 |
| Speech API | Speech 言語識別 (イメージ) | 音声の言語を特定します。 | プレビュー |
ビジョン コンテナー
| サービス | コンテナー | 説明 | 可用性 |
|---|---|---|---|
| Vision | Read OCR (イメージ) | Read OCR コンテナーを使用すると、JPEG、PNG、BMP、PDF、TIFF の各ファイル形式をサポートするイメージとドキュメントから、印刷されたテキストおよび手書きのテキストを抽出できます。 詳細については、Read API のドキュメントに関する記事を参照してください。 | 一般提供。 このコンテナーは、切断された環境でも実行できます。 |
| 空間分析 | 空間分析 (イメージ) | リアルタイム ストリーミング ビデオを分析して、ユーザーとその動きの間の空間関係、および物理的な環境内のオブジェクトの相互作用を把握します。 | プレビュー |
さらに、 Foundry Tools のマルチサービス リソース オファリングでは、一部のコンテナーがサポートされています。 1 つの Foundry Tools リソースを作成し、次のサービスでサポートされているサービス間で同じ課金キーを使用できます。
- Vision
- LUIS
- Language
前提条件
Azure コンテナーを使用する前に、次の前提条件を満たす必要があります。
Docker エンジン: Docker エンジンをローカルにインストールしている必要があります。 Docker には、macOS、Linux、Windows 上で Docker 環境を構成するパッケージが用意されています。 Windows では、Linux コンテナーをサポートするように Docker を構成する必要があります。 Docker コンテナーは、Azure Kubernetes Service または Azure Container Instances に直接デプロイできます。
コンテナーが Azure に接続して課金データを送信できるように、Docker を構成する必要があります。
Microsoft Container Registry と Docker に関する知識: レジストリ、リポジトリ、コンテナー、コンテナー イメージなどの Microsoft Container Registry と Docker の両方の概念の基本的な理解に加えて、基本的な docker コマンドの知識が必要です。
Docker やコンテナーの基礎に関する入門情報については、「Docker overview」(Docker の概要) を参照してください。
個々のコンテナーには、サーバーやメモリ割り当ての要件など、独自の要件もある場合があります。
Foundry Tools コンテナーのセキュリティ
アプリケーションを開発するときは常にセキュリティを重視する必要があります。 セキュリティの重要性は成功の指標です。 Azure AI コンテナーを含むソフトウェア ソリューションを設計する場合は、制限と使用できる機能を理解しておくことが重要です。 ネットワーク セキュリティの詳細については、「 Foundry Tools 仮想ネットワークの構成」を参照してください。
重要
既定では、Foundry Tools コンテナー API の セキュリティはありません 。 この理由は、ほとんどの場合、ネットワーク ブリッジによって外部から保護されるポッドの一部としてコンテナーが実行されるためです。 ただし、ユーザーは独自の認証インフラストラクチャを構築して、 クラウドベースの Foundry Tools にアクセスするときに使用される認証方法を概算できます。
次の図は、セキュリティで保護されていない既定のアプローチを示しています。
別の "セキュリティで保護された" アプローチの例として、Azure AI コンテナーのコンシューマーでは、コンテナー エンドポイントを非公開に保ちながら、前面のコンポーネントを使用してコンテナーを補強できます。 イングレス ゲートウェイとして Istio を使用するシナリオについて考えてみましょう。 Istio では、HTTPS/TLS およびクライアント証明書の認証がサポートされます。 このシナリオでは、Istio のフロントエンドでコンテナー アクセスが公開され、事前に Istio で承認されているクライアント証明書が提示されています。
Nginx は、同じカテゴリにあるもう 1 つの一般的な選択肢です。 Istio と Nginx はどちらもサービス メッシュとして機能し、負荷分散、ルーティング、レート制御などの追加機能が提供されます。
コンテナー ネットワーク
Azure AI コンテナーは、課金のために使用状況測定情報を送信する必要があります。 Azure AI コンテナーが依存しているさまざまなネットワーク チャネルを許可リストに載せないと、コンテナーは動作しなくなります。
Allowlist Foundry Tools のドメインとポート
ポート 443 と次のドメインをホストの許可リストに載せる必要があります。
*.cognitive.microsoft.com*.cognitiveservices.azure.com
オンプレミスの Foundry Tools で Azure Translator を使用している場合は、次の URL にファイルのダウンロードを追加で許可する必要があります
translatoronprem.blob.core.windows.net
ディープ パケット インスペクションを無効にする
ディープ パケット インスペクション (DPI) は、コンピューター ネットワーク経由で送信されるデータを詳細に検査するデータ処理の一種であり、通常は、状況に応じてブロック、再ルーティング、またはログ記録を行うことによってアクションを実行します。
Azure AI コンテナーによって Microsoft サーバーに作成される、セキュリティで保護されたチャネルでは DPI を無効にします。 そうしないと、コンテナーは正しく機能しません。
開発者向けサンプル
開発者向けサンプルは、GitHub リポジトリから入手できます。
次のステップ
Foundry Tools で使用できる コンテナーレシピ について説明します。
Foundry Tools でコンテナーによって提供される機能をインストールして調べる: