Home Blogs Edge AI:仕組み
Applications

About The Author

Outline

さまざまな産業分野におけるリアルタイムのエンタープライズAIアプリケーションには、クラウドに依存しない相互接続を備えたリアルタイムの実用的なデータとMLインサイトプラットフォームが必要です。 Verizon MediaのEdge AIは、データ管理と機械学習オペレーション(MLOPS)の交差点にあるお客様を支援することに重点を置いた専用プラットフォームです。これにより、異機種混在のインフラストラクチャ上でグローバル規模で運用できます。 人工知能をネットワークエッジに移行することで、ほぼリアルタイムで意思決定とアクションを実行できます。 このシリーズの最初のブログ記事で概説した、産業および消費者セグメントにおけるエキサイティングで変革的なアプリケーションの範囲が広がり ます。

多くの点で、説明するように、Edge AIの目的は、商用AIアプリケーションの設計、開発、デプロイに必要なすべての要素をエッジで接続して、リアルタイムのエンタープライズユースケースを実現することです。 これには、世界中のほぼすべてのインターネットユーザーのレイテンシがわずか10 ~ 25ミリ秒であるコンテンツ・デリバリー・ネットワーク(CDN)、オンプレミス5Gテクノロジー、拡張可能なアプリケーション・プラットフォーム・アズ・ア・サービス(aPaaS)レイヤー、クラウドデータ管理、包括的なセキュリティ、詳細な監視と分析が含まれます

エッジAI開発プロセスの開始当初から、クラウド非依存の相互接続を備えたインフラストラクチャ非依存の軽量コンテナ化プラットフォームを作成し、エッジでリアルタイムで実用的なデータと機械学習の洞察を提供することをビジョンとしていました。 このビジョンは、次の図に示すように、プラットフォームの目標と技術的な決定を遵守するのに役立ちました。

図1. エッジAIアーキテクチャ要素。

これらの9つの要素は、Edge AIプラットフォームを実現する上で不可欠な役割を果たし、商用ソリューションが本番環境に導入される際にその成功に不可欠です。 これらの要素について、ボトムアップから詳しく見てみましょう。

  1. インフラストラクチャ: Kubernetesとコンテナは、高可用性、超低レイテンシ、エッジへのAI/MLモデルの迅速な導入のための明白な選択肢でした。 インフラストラクチャに依存しないKubernetesは、コンテナ化されたワークロードとサービスを管理するための、ポータブルで拡張可能なオープンソースプラットフォームです。 当社のコンテナは、ソフトウェアをパッケージ化して配信する効率的な方法であるDockerプラットフォームをベースにしており、AWS、Microsoft Azure、Googleなどの主要なクラウドプロバイダーが提供するマネージドKubernetesサービスで動作します。

  2. データ取り込み: AI/MLモデルを進化させ、その可能性を実現するためには、データを取り込みから複数の下流システム(分析と監視のためのダッシュボードやモデルトレーニングのためのApache Hadoopベースのファイルなど)に流す必要があります。 この機能では、Apache Kafkaを使用しています。これは、リアルタイムのデータ取り込み、統合、メッセージング、および大規模なパブ/サブを提供します。 結果として生じるマルチパーティデータ取り込みレイヤーは、ミリ秒のレイテンシー、保証された配信、およびスロットリングのサポートを提供します。

  3. 低レイテンシーのデータストレージ:データストレージは、1秒未満のレイテンシー、高スループット、低フットプリントのデータストレージレイヤーを必要とするため、Edge AIで重要な役割を果たします。また、ストレージと履歴インサイトのためにさまざまなクラウドプラットフォームに同期する機能もあります。 ここでは、Redis NoSQLデータベースシステムに目を向けました。 RedisのようなNoSQLデータベースは、リレーショナルデータベースよりも構造化されていません。 さらに、柔軟性が高く、拡張性が高いため、このアプリケーションに最適なソリューションとなっています。

  4. データ処理:エッジAIでは、さまざまなソースからのイベントをキャプチャし、複雑な条件を検出して、さまざまなエンドポイントにリアルタイムでパブリッシュするために、リアルタイムのストリーム処理が必要です。 私たちはSiddhi Complex Event Processor(CEP)を使用しています。 これは、リアルタイム分析、データ統合、通知管理、適応的な意思決定などのユースケース向けのイベント駆動型アプリケーションを構築できる、オープンソースのクラウドネイティブでスケーラブルなマイクロストリーミングCEPシステムです。

  5. AI/MLサービング: Edge AIプラットフォームは、Seldon.ioオープンソースフレームワークを通じて、クラウドとエッジインフラストラクチャ全体にわたる完全なAI/MLの展開とライフサイクル管理をリアルタイムで提供します。 複数の異機種混在ツールキットと言語をサポートしています。

  6. データの視覚化:リアルタイム分析とダッシュボード作成のためのビジュアライゼーションは、GrafanaダッシュボードとRedisデータストアのリアルタイムクエリ用のカスタム開発されたNode.js RESTサービスを使用して構築されます。

  7. MLトレーニングとユースケース: Edge AIプラットフォームは、sci-kit-learn、TensorFlow、Keras、PyTorchなど、最も一般的なMLフレームワークをサポートし、完全なモデルライフサイクル管理を提供します。 モデルの開発とテストが完了すると、大規模なデータセットを使用してトレーニングが行われ、パッケージ化され、最終的にエッジにシームレスに展開されます。

  8. セキュリティとガバナンス: Edge AIプラットフォーム全体にセキュリティが組み込まれています。 カスタマイズ可能なセキュリティフレームワークに対応し、お客様の導入シナリオに依存せず、マルチクラウド戦略全体で相互運用可能です。

  9. モニタリングとオーケストレーション: Kubernetesの継続的デリバリーツールであるArgo CDなどのツールを使用して、CI/CDパイプラインを介してクラウドからエッジまでのオーケストレーションを実現します。 私たちの目標は、Edge AIアプリケーションの導入とライフサイクル管理を自動化し、監査可能で、理解しやすいものにすることでした。

プラットフォーム・リファレンス・アーキテクチャー

Edge AIプラットフォームで使用されているテクノロジーの概要を理解したところで、それらがどのように組み合わされているかを見てみましょう。 次の図に示すように、Edge AIプラットフォームのアーキテクチャには3つの主要な部分があります。

  1. データの取り込みと処理

  2. モデルトレーニング

  3. モデルの導入とサービス

モデルはクラウド上でトレーニングされ、リアルタイムのユースケースのためにエッジで提供されます。 時間に依存しないバッチ推論は、クラウドで行われます。

図2. Edge AI—リファレンスアーキテクチャ。

実装、デプロイ、更新が可能な従来のアプリケーションとは異なり、AI/MLアプリケーションは常に学習し、改善しています。 プラットフォームには、上記の実現に役立つ3つの主要なワークフローがあります。

  1. リアルタイムストリーミングワークフロー: アプリケーションのメイン機能が実行される場所です。 CEPはストリーミングデータをキャプチャして処理し、洞察やエラー状態をインテリジェントにスキャンします。 CEPは、受信データの生のストリームから特徴や注目すべき情報を抽出し、分析のためにトレーニングされたモデルに送信します。 予測はリアルタイムでCEPルールエンジンに戻され、集約されます。 特定の条件が満たされると、外部システムのシャットダウンや機械のオペレータへの潜在的な故障の警告などのアクションが実行されます。 リアルタイムの予測と推論はすべてオフラインクラウドに渡され、さらに監視と評価が行われます。 この領域では、進化するデータに基づいて機能が更新されるため、お客様は以下の図4で説明されている機械学習パイプラインと統合された機能エンジニアリングを実行できます。

  2. データのバッチを使用したオンデマンドワークフロー: レコメンドやパーソナライゼーションなどの外部システムは、エッジプラットフォーム内にモデルを組み込むことができます。 これらは、組み込みAPIゲートウェイを介してRESTまたはgRPCエンドポイントとして公開され、リアルタイムの推論呼び出しと予測が可能になります。

  3. 履歴インサイトワークフロー:すべてのデータ(生データ、集計データ、予測データ)は、エッジプラットフォームのインメモリストアに保存されます。 このデータは、クラウドコネクタを介してクラウドプラットフォームに定期的に同期されます。 データがクラウドに到着すると、継続的な改善のためにモデルを再トレーニングして進化させるために使用されます。 再トレーニングされたモデルは、トレーニングからトラッキング、クラウド上での公開まで、完全なライフサイクルに従います。 公開されたモデルは、継続的な展開でエッジプラットフォームにシームレスに提供されます。 過去のインサイトとバッチ推論はクラウドで実行されます。

エッジAIの取り込み、処理、ストレージ

AI/MLソリューションの最も重要な側面の1つは、データを迅速かつ効率的にキャプチャして保存する機能です。 IoTセンサーなどの一部のアプリケーションでは、データ量が膨大になる場合があります。 この規模について、IDCは、IoTデバイスだけでも2025年までに80ゼタバイト近いデータが生成されると予測しています。

最も大量のデータ量をサポートするために、Edge AIプラットフォームは、以下に示すように、複数の取り込みソース(IoT、ビデオ、ロケーション、センサー)、プロトコル、取り込みプロバイダーをサポートしています。 また、低レイテンシー(10msのレイテンシーで毎秒数百万のイベント)で高スループットをサポートします。

図3. プラットフォームの取り込み、処理、およびストレージ。

ビデオ、IoT、またはセンサーデータが着信すると、取り込みレイヤーは組み込みのスロットルを使用してデータ配信を保証し、オーバーフロー状態を防ぎます。 メッセージブローカーは、受信データをストリーム/イベントエンジンに配信します。このエンジンでは、メモリストアに移動する前に、変換、エンリッチ化、クレンジングが行われます。 データがメモリストアに格納されると、分散クラウドストアと定期的に同期されます。 視覚化ツールは、メモリストア内のデータを使用して、リアルタイムの分析と運用ダッシュボードを提供します。

機械学習パイプライン

機械学習はアルゴリズムに依存しています。データサイエンティストや機械学習の専門家でない限り、これらのアルゴリズムを理解して動作させるのは非常に複雑です。 そこで機械学習フレームワークが登場し、基礎となるアルゴリズムを深く理解することなく、MLモデルを簡単に開発できます。 TensorFlow、PyTorch、およびsci-kit-learnは、おそらく現在最も人気のあるMLフレームワークですが、将来的にはそうではない可能性があるため、目的のアプリケーションに最適なフレームワークを選択することが重要です。

この目的のために、Edge AIプラットフォームは、モデルトレーニング、フィーチャーエンジニアリング、サービングのためのあらゆるMLフレームワークをサポートしています。 下の図に示すように、Edge AIはトレーニング、追跡、パッケージング、サービングを含む完全なモデルライフサイクル管理をサポートします。

図4. 機械学習パイプライン。

Edge AIプラットフォームの典型的な機械学習ワークフローを見てみましょう。 まず、選択したMLフレームワークを活用して、ローカル環境でモデルを作成します。 モデルをまとめると、テストは小さなデータセットから始まり、MLflowやSagemakerなどのモデルライフサイクルツールを使用して実験がキャプチャされます。 初期テストの後、ハイパーパラメータのチューニングとともに、より大きなデータセットでモデルをクラウドでトレーニングする準備が整います。 モデルバージョンは、クラウド上のモデルリポジトリに保存されます。

モデルがクラウドで完全にトレーニングされたら、次のステップは、さらなるテストのためのエッジへの初期導入です。 その後、モデルは最終的なテストとパッケージングを行い、エッジでの特定のデプロイトリガーに基づいて、クラウドからプルされ、エッジプラットフォームにシームレスにデプロイされます。 モデルメトリクスは継続的に収集され、クラウドに送信されて、モデルのチューニングと進化をさらに進めます。

プラットフォームのサービスと監視

MLフレームワークの選択とサポートを最大限に柔軟に行うため、Edge AIプラットフォームはRESTまたはgRPCエンドポイントを使用して、モデルをリアルタイムで提供します。 サービングおよびモニタリングアーキテクチャの概要を以下に示します。

図5. エッジAIは、あらゆるタイプの機械学習フレームワークで作成されたモデルを提供できます。

Jenkins Xなどのプラットフォームの継続的インテグレーションツールを使用すると、デプロイトリガーを使用してモデルをエッジのモデルストアにプッシュできます。 Argo CDのような継続的デプロイメントツールを使用して、リポジトリからモデルイメージをプルし、各モデルを自己完結型ポッドとしてデプロイします。

デプロイされたモデルは、REST/gRPCインターフェイスを備えたSeldonを使用して提供され、APIゲートウェイの背後でロードバランシングが行われます。 クライアントは、予測を生成するためにREST/gRPC呼び出しをAPIゲートウェイに送信します。 モデル管理とメトリクスはSeldonを使用して提供され、ロギングと監視はElk StackやPrometheusを使用して行われます。

AIとコンピューティングキャパシティをネットワークのエッジでクラウドサービスと直接統合することで、組織はますます高度で変革的なリアルタイムのエンタープライズユースケースを市場に投入することができます。 この記事で説明したように、Edge AIプラットフォームは、リアルタイムのエンタープライズAIを大規模に運用するのに役立ち、さまざまなリアルタイムMLアプリケーションを実現するためのハードルを大幅に削減します。 これにより、お客様はパイロットの導入を迅速化し、パイロットから生産までの効率的な拡張を実現できます。

この3部構成のブログシリーズの最終回では、Edge AIプラットフォームをベースにしたソリューションの設計と導入のプロセスを探り、予測分析、スマートマニュファクチャリング、ロジスティクスにおけるEdge AIソリューションのお客様事例を紹介します。

Edge AIプラットフォームがアプリケーションにどのようなメリットをもたらすかについては、お問い合わせください。

このシリーズの最初のブログを読むには 、ここをクリックしてください。