これはシリーズのパート 3 であり、エッジでの視覚的品質検査のための MLOps パイプラインを設計および実装します。 この投稿では、エンドツーエンドの MLOps パイプラインのエッジ デプロイメント部分を自動化する方法に焦点を当てます。 使い方をご紹介します AWS IoT Greengrass エッジでのモデル推論を管理し、それを使用してプロセスを自動化する方法 AWSステップ関数 およびその他のAWSサービス。
ソリューションの概要
In 第1部 このシリーズでは、データのラベル付けからモデルのトレーニング、エッジでのデプロイメントに至るまで、機械学習 (ML) プロセス全体を自動化するエンドツーエンドの MLOps パイプラインのアーキテクチャを構築しました。 で 第2部では、パイプラインのラベル付け部分とモデル トレーニング部分を自動化する方法を説明しました。
このシリーズで使用されるサンプル ユース ケースは、金属タグの欠陥を検出できる視覚的品質検査ソリューションであり、製造プロセスの一部として導入できます。 次の図は、このシリーズの冒頭で定義した MLOps パイプラインの高レベル アーキテクチャを示しています。 まだ読んでいない方は、ぜひ読んでみてください 第1部.
ML モデルのエッジ展開の自動化
ML モデルのトレーニングと評価が完了したら、受信データを予測してビジネス価値を生み出すために、実稼働システムにデプロイする必要があります。 このプロセスは、モデルがトレーニングされたクラウド環境から遠く離れたデバイス上にモデルを展開して実行する必要があるエッジ設定では、急速に複雑になる可能性があります。 以下は、エッジでの機械学習に特有の課題の一部です。
- エッジ デバイスのリソース制約により、ML モデルの最適化が必要になることがよくあります。
- エッジ デバイスは、クラウド内のサーバーのように再展開したり交換したりすることができないため、堅牢なモデルの展開とデバイス管理プロセスが必要です。
- デバイスとクラウド間の通信は、信頼できない低帯域幅ネットワークを通過することが多いため、効率的かつ安全である必要があります。
ONNX 形式でモデルをエクスポートするだけでなく、AWS のサービスを使用してこれらの課題にどのように対処できるかを見てみましょう。これにより、たとえば、量子化などの最適化を適用して制約デバイスのモデル サイズを削減できます。 ONNX は、最も一般的なエッジ ハードウェア プラットフォームに最適化されたランタイムも提供します。
エッジ展開プロセスを詳しく見ると、次の XNUMX つのコンポーネントが必要です。
- モデル配信のための展開メカニズム。これには、モデル自体と、モデルを管理および操作するためのビジネス ロジックが含まれます。
- プロセス全体を調整してこれを堅牢かつ再現可能にするワークフロー エンジン
この例では、さまざまな AWS サービスを使用して、説明したすべての必要なコンポーネントを統合する自動化されたエッジ デプロイメント メカニズムを構築します。
まず、エッジ デバイスをシミュレートします。 エンドツーエンドのワークフローを簡単に実行できるようにするために、 アマゾン エラスティック コンピューティング クラウド (Amazon EC2) インスタンスに AWS IoT Greengrass Core ソフトウェアをインストールすることで、エッジ デバイスをシミュレートします。 EC2 インスタンスを使用して、実際のエッジ本番デバイスにデプロイする前に、QA プロセスでさまざまなコンポーネントを検証することもできます。 AWS IoT Greengrass は、モノのインターネット (IoT) のオープンソース エッジ ランタイムおよびクラウド サービスで、エッジ デバイス ソフトウェアの構築、デプロイ、管理を支援します。 AWS IoT Greengrass は、安全かつスケーラブルな方法でエッジデバイス ソフトウェアを構築、デプロイ、管理する労力を軽減します。 デバイスに AWS IoT Greengrass Core ソフトウェアをインストールすると、AWS IoT Greengrass を使用して機能やコンポーネントを追加または削除し、IoT デバイス アプリケーションを管理できます。 StreamManager や MQTT ブローカー コンポーネントなど、作業を容易にする多くの組み込みコンポーネントが提供されており、これらを使用してクラウドと安全に通信し、エンドツーエンドの暗号化をサポートします。 これらの機能を利用することで、推論結果や画像を効率的にアップロードすることができます。
実稼働環境では、通常、ML モデルが予測を生成する画像を配信する産業用カメラがあります。 このセットアップでは、画像のプリセットをエッジ デバイスの特定のディレクトリにアップロードすることで、この画像入力をシミュレートします。 次に、これらの画像をモデルの推論入力として使用します。
クラウドでトレーニングされた ML モデルをエッジ環境にデプロイし、それを予測に使用するために、デプロイと推論のプロセス全体を XNUMX つの連続したステップに分割しました。
- 準備 – トレーニングされたモデルをエッジ展開用にパッケージ化します。
- 配備します – モデルと推論コンポーネントをクラウドからエッジデバイスに転送します。
- 推論 – モデルをロードし、画像予測用の推論コードを実行します。
次のアーキテクチャ図は、この XNUMX ステップのプロセスの詳細と、それを AWS のサービスでどのように実装したかを示しています。
次のセクションでは、各ステップの詳細について説明し、このプロセスを ML モデルと対応する推論コードの両方の自動化された反復可能なオーケストレーションおよび CI/CD ワークフローに組み込む方法を示します。
準備
強力な CPU と GPU で ML モデルを簡単に実行できるクラウド環境と比較して、エッジ デバイスのコンピューティングとメモリは限られていることがよくあります。 さまざまなモデル最適化手法を使用すると、特定のソフトウェアまたはハードウェア プラットフォームに合わせてモデルを調整し、精度を損なうことなく予測速度を向上させることができます。
この例では、移植性、可能な最適化、および最適化されたエッジ ランタイムを実現するために、トレーニング パイプライン内のトレーニング済みモデルを ONNX 形式にエクスポートし、モデルを Amazon SageMaker モデルレジストリ。 このステップでは、後続のデプロイメント用に最新の登録モデルを含む新しい Greengrass モデル コンポーネントを作成します。
配備します
モデルをクラウドからエッジ デバイスにデプロイする場合、安全で信頼性の高いデプロイ メカニズムが鍵となります。 AWS IoT Greengrass には堅牢で安全なエッジ デプロイメント システムがすでに組み込まれているため、これをデプロイメントの目的で使用しています。 デプロイメントプロセスを詳しく見る前に、AWS IoT Greengrass デプロイメントがどのように機能するかについて簡単にまとめてみましょう。 AWS IoT Greengrass デプロイメント システムの中核となるものは次のとおりです。 コンポーネント、AWS IoT Greengrass Coreを実行するエッジデバイスにデプロイされるソフトウェアモジュールを定義します。 これらは、ユーザーが構築するプライベート コンポーネント、または提供されるパブリック コンポーネントのいずれかです。 AWS またはより広範な グリーングラスコミュニティ。 複数のコンポーネントを展開の一部としてバンドルできます。 展開構成は、展開に含まれるコンポーネントと展開のターゲット デバイスを定義します。 これは、デプロイ設定ファイル (JSON) で定義することも、新しいデプロイを作成するときに AWS IoT Greengrass コンソールを介して定義することもできます。
次の XNUMX つの Greengrass コンポーネントを作成し、展開プロセスを通じてエッジ デバイスに展開します。
- パッケージ化されたモデル(プライベートコンポーネント) – このコンポーネントには、ONNX 形式のトレーニング済み ML モデルが含まれています。
- 推論コード(プライベートコンポーネント) – ML モデル自体とは別に、データの準備、推論のためのモデルとの通信、推論結果の後処理などのタスクを処理するアプリケーション ロジックを実装する必要があります。 この例では、次のタスクを処理するための Python ベースのプライベート コンポーネントを開発しました。
- Ultralytics YOLOv8 Python パッケージなどの必要なランタイム コンポーネントをインストールします。
- カメラのライブ ストリームから画像を取得する代わりに、準備された画像を特定のディレクトリから読み込み、モデルの入力要件に従って画像データを準備することでこれをシミュレートします。
- 準備された画像データを使用して、読み込まれたモデルに対して推論呼び出しを実行します。
- 予測を確認し、推論結果をクラウドにアップロードします。
私たちが構築した推論コードを詳しく知りたい場合は、を参照してください。 GitHubレポ.
推論
前述のコンポーネントの展開が完了すると、エッジ デバイス上のモデル推論プロセスが自動的に開始されます。 カスタム推論コンポーネントは、ローカル ディレクトリの画像を使用して ML モデルを定期的に実行します。 モデルから返される画像ごとの推論結果は、次の内容のテンソルです。
- 信頼スコア – モデルが検出に関してどの程度確信しているか
- オブジェクト座標 – 画像内のモデルによって検出されたスクラッチ オブジェクトの座標 (x、y、幅、高さ)
私たちの場合、推論コンポーネントは、推論結果を AWS IoT 上の特定の MQTT トピックに送信し、その後の処理のためにその結果を読み取ることができます。 これらのメッセージは、デバッグのために AWS IoT コンソール上の MQTT テスト クライアントを介して表示できます。 生産設定では、生産ラインから欠陥のある金属タグを削除する処理を行う別のシステムに自動的に通知するように決定できます。
編成
前のセクションで示したように、ML モデル、対応する推論コード、および必要なランタイムまたはエージェントを準備してエッジ デバイスにデプロイするには、複数の手順が必要です。 Step Functions は、これらの専用ステップを調整し、ステート マシンの形式でワークフローを設計できるようにするフルマネージド サービスです。 このサービスのサーバーレスの性質と、AWS サービス API 統合などのネイティブ Step Functions 機能により、このワークフローを迅速にセットアップできます。 再試行やロギングなどの組み込み機能は、堅牢なオーケストレーションを構築するための重要なポイントです。 ステート マシン定義自体の詳細については、「 GitHubリポジトリ または、この例をアカウントにデプロイした後、Step Functions コンソールでステート マシン グラフを確認してください。
インフラストラクチャの導入と CI/CD への統合
必要なすべてのインフラストラクチャ コンポーネントを統合および構築する CI/CD パイプラインは、図に示されているのと同じパターンに従います。 第1部 このシリーズの。 私たちが使用するのは、 AWSクラウド開発キット (AWS CDK) から必要なパイプラインをデプロイします。 AWS コードパイプライン.
学習
自動化され、堅牢で安全な ML モデル エッジ デプロイメント システムのアーキテクチャを構築するには複数の方法がありますが、多くの場合、これはユース ケースやその他の要件に大きく依存します。 ただし、ここでいくつかの学びを皆さんと共有したいと思います。
- 追加の場合は事前に評価してください AWS IoT Greengrass コンピューティング リソース要件 特に制約のあるエッジデバイスの場合は、状況に合わせて調整してください。
- エッジデバイスで実行する前に、デプロイされたアーティファクトの検証手順を統合するデプロイメントメカニズムを確立し、送信中に改ざんが発生しないようにします。
- AWS IoT Greengrass 上のデプロイメントコンポーネントを可能な限りモジュール式かつ自己完結型にして、独立してデプロイできるようにすることをお勧めします。 たとえば、推論コード モジュールは比較的小さいが、ML モデルのサイズは大きい場合、推論コードが変更されただけであれば、必ずしも両方をデプロイする必要はありません。 これは、帯域幅が限られている場合、またはエッジ デバイス接続が高コストである場合に特に重要です。
まとめ
これで、エッジでの視覚的品質検査のためのエンドツーエンド MLOps パイプラインの構築に関する XNUMX 部構成のシリーズは終了です。 モデルのパッケージ化や複雑なデプロイメント オーケストレーションなど、エッジでの ML モデルのデプロイに伴う追加の課題について検討しました。 完全に自動化された方法でパイプラインを実装したため、堅牢で安全、再現可能、追跡可能な方法でモデルを実稼働環境に導入できるようになりました。 このシリーズで開発したアーキテクチャと実装を、次の ML 対応プロジェクトの開始点として自由に使用してください。 ご使用の環境に合わせてこのようなシステムを設計および構築する方法についてご質問がある場合は、お問い合わせください。 届く。 他のトピックと使用例については、「 機械学習 および IoT ブログ。
著者について
マイケル・ロート AWS のシニア ソリューション アーキテクトとして、ドイツの製造業の顧客が AWS テクノロジーを通じてビジネス上の課題を解決できるようサポートしています。 仕事と家族のほかに、スポーツカーに興味があり、イタリアン コーヒーを楽しんでいます。
イェルク・ヴェールレ AWS のソリューションアーキテクトとして、ドイツの製造業の顧客と協力しています。 Joerg は自動化に情熱を持っており、AWS 入社以前はソフトウェア開発者、DevOps エンジニア、サイト信頼性エンジニアとして働いてきました。 雲を超えて、彼は野心的なランナーであり、家族と充実した時間を楽しんでいます。 DevOps に挑戦したい場合、またはランニングに行きたい場合は、彼に知らせてください。
ヨハネス・ランガー AWS のシニア ソリューション アーキテクトで、ドイツの企業顧客と協力しています。 Johannes は、実際のビジネス上の問題を解決するために機械学習を適用することに情熱を持っています。 私生活では、ヨハネスは家の改善プロジェクトに取り組み、家族と屋外で時間を過ごすことを楽しんでいます。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/build-an-end-to-end-mlops-pipeline-for-visual-quality-inspection-at-the-edge-part-3/
- :持っている
- :は
- :どこ
- $UP
- 150
- 7
- a
- できる
- 私たちについて
- 従った
- 精度
- 実際の
- 加えます
- 添加
- NEW
- 進める
- 後
- に対して
- エージェント
- すべて
- 許す
- ことができます
- 既に
- また
- 常に
- Amazon
- Amazon EC2
- Amazon Webサービス
- 野心的な
- an
- および
- 別の
- どれか
- API
- 申し込み
- 申し込む
- 適用
- 建築
- です
- AS
- さておき
- At
- 自動化する
- 自動化
- 自動化する
- 自動的に
- オートメーション
- 離れて
- AWS
- AWS IoT Greengrass
- バック
- 帯域幅
- BE
- なぜなら
- になる
- き
- 開始
- ほかに
- の間に
- 越えて
- ビッグ
- ブログ
- 両言語で
- より広い
- ブローカー
- ビルド
- 建物
- 内蔵
- 内蔵
- バンドル
- ビジネス
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- コール
- カメラ
- 缶
- 機能
- これ
- 自動車
- 場合
- 例
- 挑戦する
- 課題
- 変更
- チェック
- 点検
- クライアント
- クラウド
- コード
- コーヒー
- 来ます
- コマンドと
- 伝える
- コミュニケーション
- 比べ
- 複雑な
- コンポーネント
- コンポーネント
- 計算
- 確信して
- 接続性
- 連続した
- 領事
- 制約
- 含まれています
- コンテンツ
- 基本
- コアソフトウェア
- 対応する
- 費用
- 作ります
- 作成
- カスタム
- Customers
- データ
- データの準備
- 決めます
- 専用の
- より深い
- 定義します
- 定義済みの
- 定義する
- 定義
- 配信する
- 配達
- 依存
- 展開します
- 展開
- 展開する
- 展開
- 配備
- 設計
- 詳細
- 細部
- 検出
- 検出された
- 発展した
- Developer
- 開発
- デバイス
- Devices
- 異なります
- 話し合います
- 議論する
- 分割された
- do
- ドント
- ダウン
- 原因
- 間に
- 各
- 容易
- 簡単に
- エッジ(Edge)
- 効率的な
- 効率良く
- 努力
- どちら
- 埋め込みます
- 暗号化
- 端から端まで
- エンジン
- エンジニア
- 確保
- Enterprise
- 全体
- 環境
- 特に
- 評価
- さらに
- 例
- 家族
- 遠く
- ファッション
- 欠陥のある
- 特徴
- 感じます
- 少数の
- File
- フィット
- フォーカス
- フォロー中
- 次
- フォーム
- 形式でアーカイブしたプロジェクトを保存します.
- 無料版
- から
- 完全に
- 機能
- さらに
- 生成する
- ドイツ
- Go
- 良い
- GPU
- グラフ
- ハンドル
- が起こった
- Hardware
- 持ってる
- 高さ
- ことができます
- こちら
- ハイ
- ハイレベル
- 彼に
- 彼の
- ホーム
- 認定条件
- How To
- しかしながら
- HTML
- HTTP
- HTTPS
- if
- 画像
- 画像
- 実装する
- 実装
- 実装
- 重要
- 改善
- in
- 含まれました
- 含ま
- 含めて
- 入ってくる
- 増える
- 単独で
- インダストリアル
- インフラ関連事業
- install
- インストールする
- 統合する
- 統合する
- 統合
- 統合
- 対話
- 興味がある
- インターネット
- モノのインターネット
- に
- IOT
- IoTデバイス
- IT
- イタリアの
- 自体
- JPG
- JSON
- ただ
- キープ
- キー
- 知っている
- ラベリング
- 最新の
- 学習
- う
- 生活
- ような
- 限定的
- LINE
- ライブ
- 負荷
- ローディング
- ローカル
- 位置して
- ロギング
- ロジック
- 見て
- 見
- 負け
- たくさん
- 機械
- 機械学習
- make
- 作成
- 管理します
- マネージド
- 管理
- 製造業
- メカニズム
- メモリ
- メッセージ
- 金属
- Michael Liebreich
- ML
- MLOps
- モデル
- モジュラー
- モジュール
- モジュール
- 他には?
- 最も
- の試合に
- ネイティブ
- 自然
- 必要
- ニーズ
- 新作
- 次の
- いいえ
- オブジェクト
- of
- オファー
- 頻繁に
- on
- オープンソース
- 最適化
- or
- 編成
- その他
- 私たちの
- でる
- 屋外で
- 全体
- パッケージ
- 包装
- 部
- 部品
- 情熱
- 情熱的な
- パターン
- 以下のために
- 個人的な
- パイプライン
- プラットフォーム
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- お願いします
- ポイント
- ポイント
- 移植性
- 可能
- ポスト
- 強力な
- 練習
- 予測
- 予測
- 準備
- 準備
- 準備
- 準備中
- プライベート
- 問題
- プロセス
- 処理
- 作り出す
- 生産
- プロジェクト
- プロジェクト(実績作品)
- 提供
- は、大阪で
- 公共
- 目的
- 置きます
- Python
- 質問と回答
- 品質
- 質問
- クイック
- すぐに
- 読む
- リアル
- 再生タイヤ
- 推奨する
- 減らします
- 軽減
- 参照する
- に対する
- 登録された
- 相対的に
- 信頼性
- 信頼性のある
- 削除します
- 除去
- 繰り返し可能
- 置き換え
- 必要とする
- の提出が必要です
- 要件
- リソースを追加する。
- 結果
- 結果
- 堅牢な
- ラン
- ランナー
- ランニング
- runs
- セージメーカー
- 同じ
- ド電源のデ
- スクラッチ
- セクション
- 安全に
- しっかりと
- 見て
- 送信
- シニア
- シリーズ
- サーバレス
- サービス
- サービス
- セッションに
- 設定
- シェアする
- すべき
- 表示する
- 示されました
- 作品
- ウェブサイト
- サイズ
- 小さい
- So
- ソフトウェア
- 溶液
- ソリューション
- 解決する
- 一部
- 特定の
- スピード
- 支出
- スポーツ
- 起動
- 開始
- 都道府県
- 手順
- ステップ
- 簡単な
- 流れ
- それに続きます
- そのような
- 支援する
- タックル
- 取り
- 取得
- ターゲット
- タスク
- テクニック
- テクノロジー
- 条件
- test
- それ
- ステート
- アプリ環境に合わせて
- それら
- その後
- ボーマン
- 物事
- この
- それらの
- 三
- 3段階
- 介して
- 時間
- 〜へ
- 一緒に
- トピック
- トピック
- 追跡可能
- 訓練された
- トレーニング
- 転送
- 2
- 一般的に
- ユニーク
- アップロード
- us
- つかいます
- 使用事例
- 中古
- 検証
- 値
- Verification
- 非常に
- 、
- 欲しいです
- 仕方..
- 方法
- we
- ウェブ
- Webサービス
- WELL
- いつ
- which
- 全体
- 幅
- 以内
- 無し
- 仕事
- 働いていました
- ワークフロー
- ワーキング
- でしょう
- X
- まだ
- You
- あなたの
- ゼファーネット