編集

次の方法で共有


Industrial Edge での Azure AI の使用を Azure で監視する

Azure Machine Learning
Azure Monitor

この記事では、 Azure AI モデルを Siemens Industrial Edge Internet of Things (IoT) デバイスで Azure AI モデルを実行し、それらのデバイスを Azure で一元的に監視する方法について説明します。 このアーキテクチャは、次の 2 つの運用領域に重点を置いており、これによって Azure と Siemens Industrial AI サービスとの間の統合プロセスを簡略化できます。

  • Azure AI モデルを Siemens Industrial Edge デバイスにデプロイする。 この運用領域には、モデルのトレーニング、評価、登録を自動化するための Azure Machine Learning パイプラインの実装が含まれます。 また、Azure でトレーニングされた AI モデルをクラウドからオンプレミスの Siemens AI Model Manager (AIMM) にデプロイするための、承認された安全な自動処理も含まれます。

  • Siemens Industrial Edge デバイスからのテレメトリを Azure で一元化する。 この運用領域には、推論ログとメトリックをクラウドにプッシュする機能が含まれています。これにより、エッジ アプリケーションを Azure で一元的に監視できます。

Architecture

データ パイプラインのワークフローを示す図。

このアーキテクチャの Visio ファイルをダウンロードします。

ワークフロー

  1. データ パイプラインでは:

    a. 専用の生データ ストア ストレージ コンテナーから、未加工のトレーニング データを読み込みます。 次に、未加工のトレーニング データを処理し、モデル トレーニングに適した形式に整形します。

    b. 処理したデータを、処理済みデータセット ストレージ コンテナーに保存します。

  2. 生データの処理後、モデル開発パイプラインがトリガーされます。

  3. モデル開発パイプラインでは:

    a. 処理済みデータセット ストレージ コンテナーから処理済みトレーニング データを読み込み、モデル トレーニングを実行します。

    b. 結果のモデルをモデル カタログに保存します。

  4. モデルのトレーニング後、検証とパッケージ化のパイプラインがトリガーされます。

  5. 検証とパッケージ化のパイプラインでは:

    a. モデル カタログからモデルを読み込み、モデルの検証を実行します。

    b. モデルが検証に合格すると、パイプラインは Siemens AI SDK ライブラリを使用してモデルをパッケージ化し、パッケージ化済みモデル ストレージ コンテナーに保存します。

  6. パッケージ化済みモデルの保存後、タグ付けと配信のパイプラインがトリガーされます。

  7. タグ付けと配信のパイプラインは、モデル カタログからトレーニング済みモデルを取得し、パイプライン バージョンの詳細、作成日、データ バージョンなど、追加のメタデータでタグ付けを行います。 次に、モデルをコンテナー レジストリに保存します。

  8. 配信パイプラインは、Azure IoT Hub と Azure Event Hubs を介して、Machine Learning パイプラインと Siemens AIMM との間でメッセージ交換を開始します。 新しいモデルのデプロイを管理および調整するには、このループが重要です。

    a. 配信パイプラインは、IoT Hub を介してメッセージを送信し、新しいモデルのデプロイ準備が完了したことを Siemens AIMM に通知します。

    b. Siemens AIMM はこの通知を受信し、エッジ デバイスの現在の状態を評価して、新しいモデルの準備状況を判断します。 準備が完了すると、Siemens AIMM は IoT Hub に、新しいモデルの要求を返します。

    c. 配信パイプラインは、パッケージ化済みモデル ストレージ コンテナー内のモデル パッケージに対する共有アクセス署名 (SAS) リンクを生成します。

    d. 配信パイプラインは、この SAS リンクを IoT Hub 経由で Siemens AIMM に返送します。これにより、モデルをダウンロードできるようになります。

  9. Siemens AIMM は、配信パイプラインから SAS リンクを受信すると、パッケージ化済みモデル ストレージ コンテナーにアクセスし、最新のパッケージ化済みモデルをダウンロードします。

  10. Siemens AIMM は、内部プロセスを実行して、最新のパッケージ化済みモデルを Siemens AI Inference Server (AIIS) にデプロイします。

  11. Siemens AIIS は OpenTelemetry Collector を使用して、メトリックを Siemens AI Model Monitor に送信します。

  12. Siemens AI Model Monitor は、エッジ デバイスとサービスからのすべてのログとメトリックを集計し、その情報を Azure Monitor に送信します。

  13. データのリサイクルには、以下の手順が含まれます。

    a. Data Collector は、Siemens AIIS で実行中のモデルによって生成された推論データを収集します。

    b. Data Collector は、Data Collector Hub にデータを渡します。

    c. Data Collector Hub は、モデルをさらに再トレーニングするために、データ ランディング ゾーンの Azure Storage アカウントにデータをアップロードします。

監視アーキテクチャ

Siemens の監視アーキテクチャのワークフローを示す図。

このアーキテクチャの Visio ファイルをダウンロードします。

Siemens Industrial Edge デバイスから Azure へのログとメトリックの転送をスムーズに行うために、このアーキテクチャでは OpenTelemetry Collector の Azure Monitor Exporter と認証プロキシが使用されます。 Siemens AI Model Monitor では、これらのコンポーネントが不可欠な部分としてデプロイされます。 このセットアップを使用すると、Application Insights と Azure Monitor ワークスペースにログとメトリックをエクスポートできます。 キー認証メカニズムとして、Microsoft Entra ID のマネージド ID が使用されます。

テレメトリ データは、運用テクノロジ レイヤーから、情報テクノロジ レイヤー内の OpenTelemetry Collector インスタンスに移動します。 このコレクターは、データを Application Insights にエクスポートし、認証プロキシを使用して、サービス プリンシパル ID を取得します。 このプロセスでは、共有シークレットやインストルメンテーション キーではなく、証明書で完全に裏付けられた Microsoft Entra ID の ID を使用するため、認証が強化されます。 Azure DevOps パイプラインは、証明書とサービス プリンシパルを自動的に生成して配布し、関連するロールとアクセス許可を関連付けます。

より汎用的なソリューションについては、従来の IoT シナリオでの OpenTelemetry Collector の使用に関する記事を参照してください。

コンポーネント

Siemens Industrial Edge には、次のようなコンポーネントが含まれています。

  • AI Model Monitor は、モデルのパフォーマンスに関するテレメトリ情報、ログ、メトリックをエッジ デバイスから収集します。

  • AIMM は、エッジ デバイスのオーケストレーションとモデルの配布に使用できるサービスです。

  • AIIS は Siemens Industrial Edge デバイス上で実行され、組み込みの Python インタープリターを使用して、推論用にデプロイされた AI モデルを実行します。

  • AI Software Development Kit を使用すると、前処理ロジックや後処理ロジックなどのモデルを、AIIS で実行される標準の推論パイプラインにパッケージ化できます。 既存のコーディングとトレーニング環境を維持するには、これらの Python ツールを使用します。

  • Siemens Data Collector は、後続の処理用に Siemens AIIS から推論データを収集します。

  • Siemens Data Collector Hub は、すべてのデータ コレクターから推論データを収集し、後続の処理用に、そのデータをクラウドに渡します。

Azure コンポーネント

アーキテクチャ内の各コンポーネントについては、Well-Architected Framework 内の関連するサービス ガイド (利用可能な場合) を使用します。 詳細については、「Well-Architected Framework サービス ガイド」を参照してください。

  • IoT Hub は、クラウドとエッジ間でのモデル配信用通信を支援します。 クラウド サービスがクラウドからデバイスへのメッセージを送信できるように、IoT Hub は AIMM をエッジ デバイスとして登録します。

  • Machine Learning ワークスペースは、チームの機械学習成果物とタスクを効率的に作成、整理、ホストするために使用できる中心的なハブとして機能します。 たとえば、ジョブ、パイプライン、データ資産、モデル、エンドポイントの作成が可能です。

  • Azure Monitor は、アプリケーションとリソースのパフォーマンスと正常性に関する分析情報を提供する Azure ソリューションです。 テレメトリ データの収集、分析、操作を行うためのツールが用意されています。 

  • Storage は、さまざまな種類のデータをスケーラブルかつアクセスしやすい方法で格納および管理するために使用できるクラウドベースのコンテナーまたはリポジトリです。

  • Azure Key Vault は、シークレット、暗号化キー、証明書などの機密情報を安全に管理および格納するクラウド サービスです。 これにより、アクセスと監査証跡を一元的に制御できます。

  • Azure Container Registry は、コンテナー イメージと関連成果物を構築、格納、管理するために使用できる、管理されたプライベート レジストリ サービスです。 新しい Machine Learning ワークスペースを作成すると、Container Registry インスタンスが自動的に作成されます。 Container Registry には、モデルのトレーニングとデプロイに使用できる Docker コンテナーが格納されます。 Docker コンテナーでは、機械学習トレーニング環境をカプセル化できます。 この機能により、機械学習ワークフローに不可欠な、一貫性があり再現可能な分離環境を確保できます。

代替

  • 長期的なソリューションとしては、IoT Hub を Event Grid MQTT ブローカー機能に置き換えることをお勧めします。 Event Grid は、拡張性に優れたフル マネージドのパブリッシュ/サブスクライブ メッセージ配信サービスです。 MQTT プロトコルと HTTP プロトコルを使用して、柔軟なメッセージ消費パターンをサポートします。

  • Azure Arc の Azure Monitor エッジ パイプラインを使用して、ログとメトリックを Azure にプッシュすることを検討してください。 このパイプラインは、アーキテクチャ内の OpenTelemetry コンポーネントの代わりに使用できます。 このアプローチでは、Azure へのシームレスかつ安全な接続が提供されます。 また、Azure クラウドに対する Siemens ファクトリ IT の拡張性も強化され、ID 管理が容易になります。 この代替方法では、次のような結果を期待できます。

    • お客様に向けた試運転を迅速に開始できる。
    • 試運転中に Siemens から提供するサポート量が少なくなる。
    • 監視データへのアクセスが提供されるため、運用コストを削減できる。
  • GitLab Accelerator を使用して機械学習パイプラインを開発し、この実装の例を使用して Azure で追加の機能を開発することもできます。

シナリオの詳細

このシナリオは、Azure で開発した機械学習モデルを、Siemens Industrial Edge デバイスで管理する工場のオペレーションに統合するという課題に対応しています。 主な目的は、製造環境で AI モデルの効率的かつ安全で自動化されたデプロイと監視を確実に行うことです。

このアーキテクチャは、製造における AI 駆動型アプリケーションのシームレスで信頼性の高いデプロイのニーズと、厳格な運用要件のニーズに対応するために役立ちます。 このソリューションの導入により、手動による介入を最小限に抑え、生産の中断を減らし、製造現場で機械学習モデルの可視性を高めることができます。

考えられるユース ケース

このアーキテクチャは、Siemens および Microsoft 製品に基づいて、データ コレクション、AI モデリング、トレーニング、デプロイ、推論、監視のためのクローズド ループ環境を構築します。 電子機器、消費者向けパッケージ商品、自動車、バッテリーなどのさまざまな業界で、スケーラブルな AI ユース ケースを導入できます。

手作業の労力とコストを削減するために、このアーキテクチャでは、クラウド モデルの準備、クラウドからエッジへのモデル転送、フィールド モデル操作が統合されています。 また、エッジからクラウドへの監視も提供し、AI ハードウェアとソフトウェアへの初期投資を抑えた、コスト効率の高いソリューションを実現します。

考慮事項

以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、Well-Architected Framework に関する記述を参照してください。

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の設計レビュー チェックリスト」を参照してください。

  • サポートされている Azure サービスに Azure 可用性ゾーンを使用して、同じ Azure リージョン内の信頼性を向上させます。

  • Azure Blob Storage を使用する場合は、ストレージ アカウントに適切な冗長性とフェールオーバー構成を設定してください。

  • コードレベルのパターンを使用して一時的なネットワークの問題を処理し、メッセージの永続性機能を使用してソフトウェアおよびハードウェアの一時的な障害から保護します。 たとえば、Circuit Breaker パターン または Retry パターンを使用できます。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの設計レビュー チェックリスト」を参照してください。

このアーキテクチャでも、以下の一般的なセキュリティ原則を適用できます。

  • ID およびアクセス制御を管理するための主要なツールとして、Microsoft Entra ID を使用する。

  • ソリューションの計画段階で包括的な脅威モデリング演習を実施し、潜在的なセキュリティ リスクを特定して軽減戦略を策定する。 詳細については、Microsoft セキュリティ開発ライフサイクルの脅威モデリングに関する記述を参照してください。

  • サポートされているマネージド ID を使用し、他のすべてのシークレットを Key Vault に格納する。 論理的削除の設定を構成し、ログ記録を有効にして、アクセス制御を強化することにより、Key Vault のセキュリティを高めます。

  • ロールベースのアクセス制御 (RBAC) を使用して、リソースへのアクセス許可と権限を制御することで、最小特権の原則を適用する。 詳細については、「Azure RBAC とは」を参照してください。

  • 仮想ネットワークプライベート エンドポイントを使用して、クラウド サービス間およびクラウドからエッジへの通信を保護します。

コストの最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳細については、「コスト最適化の設計レビュー チェックリスト」を参照してください。

  • 保持期間とアーカイブ ポリシーを調整して、Log Analytics に格納されているデータの量を定期的に確認して最適化します。 この戦略により、ストレージ コストを大幅に削減できます。

  • 取り込んだデータに対して、30 日間の無料保有期間を利用します。 この期間の経過後は、重要度の低いデータを低コストのストレージにアーカイブするか、保持期間を短縮して継続的な費用を最小限に抑えることを検討してください。 詳細については、「Azure Monitor の価格」を参照してください。

  • Key Vault、Application Insights、Container Registry、Storage アカウントなどの依存リソースの必要性と使用状況を評価します。 不要なコストを回避するには、構成を最適化します。

  • これらのリソースのサイズと規模を定期的に確認し、現在のワークロード要件に適合していることを確認します。これにより、コスト増加につながる可能性のある過剰な容量を削減できます。

  • IoT Hub インスタンスで毎日処理されるメッセージの数を見積もり、最もコスト効率の高いレベルを選択します。 オーバープロビジョニングを回避するには、実際の使用量に近いレベルを選択します。

  • コストを最小限に抑えるには、バッチ処理やデータ ペイロードの最適化など、送信されるメッセージの数を減らす戦略を取り入れます。

  • Azure 料金計算ツールを使用して、さまざまなワークロード シナリオをシミュレートし、アーキテクチャに対して最もコスト効率の高い構成を選択します。 このアプローチは、コストを予測し、節約可能な領域を特定するために役立ちます。

  • コストの見積もりを定期的に見直し、ワークロードの進化に合わせて構成を調整して、継続的なコスト最適化を実現します。 詳細については、Azure の価格の概要を参照してください。

オペレーショナル エクセレンス

オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスのデザイン レビュー チェック一覧」を参照してください。

  • Bicep、Terraform、Azure Resource Manager テンプレートなどのコード ツールとしてインフラストラクチャを使用して、インフラストラクチャを構築および管理します。 これらのツールにより、インフラストラクチャのデプロイにおける一貫性、再現性、スケーラビリティが確保されます。

  • DevOps のセキュリティ対策を適用することにより、アプリケーション ライフサイクルの早い段階でセキュリティ プラクティスを統合します。 このアプローチでは、脆弱性の影響を最小限に抑えるとともに、セキュリティに関する考慮事項を開発チームに周知することで、より迅速かつ安全な開発を可能にします。

  • Azure パイプラインを使用し、継続的インテグレーションと継続的デリバリーのプロセスを通じてインフラストラクチャをデプロイします。 このアプローチにより、効率的かつ自動的に、高い信頼性でリソースをデプロイできます。また、手作業によるエラーのリスクを軽減し、デプロイ速度を向上させることができます。

  • シークレット検出ツールを継続的インテグレーション パイプラインに統合して、シークレットがリポジトリにコミットされる状況を回避します。 この予防的な対策により、コードベースが保護され、潜在的なセキュリティ侵害からの保護が可能になります。

パフォーマンス効率

パフォーマンス効率とは、ユーザーからの要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の設計レビュー チェックリスト」を参照してください。

  • ワークロードで毎日交換されるメッセージの量に基づいて、適切な IoT Hub レベルを選択します。

    • 1 日あたり最大 500 万件のメッセージを交換する小規模から中規模のプロジェクトの場合は、S2 Standard レベルを選択します。

    • 1 日あたり最大 3 億件のメッセージ、または 1 秒あたり平均 3,400 件のメッセージのサポートを必要とする大規模なプロジェクトの場合は、S3 Standard レベルを選択します。

    詳細については、「IoT Hub の価格」を参照してください。

  • Machine Learning の運用環境には、コンピューティング インスタンスではなくコンピューティング クラスターを使用します。 コンピューティング クラスターを使用すると、さまざまなトラフィック要求に応じてリソースを動的にスケーリングできます。 このアプローチにより、最適なパフォーマンスとコスト効率が保証されます。

  • Machine Learning の診断設定を有効にして、ビジネス要件に応じてサービスの監視およびスケーリングを行います。 コンピューティング インスタンスまたはコンピューティング クラスター ノードの平均使用量を定期的に監視します。 実験数の増加に応じて、コンピューティング クラスターのノード数を調整し、十分な容量を確保し、パフォーマンスを維持します。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパルの作成者:

  • Neelam Saxena | シニア テクニカル プログラム マネージャー
  • Sean Ma | プリンシパル ソフトウェア エンジニアリング リーダー
  • Colin Desmond | シニア ソフトウェア エンジニア

共同作成者:

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次のステップ