AIモデル自動推論実行システムの構築方法について①
こんにちは。第三システム開発部新入社員の菊池です。
近年、AI技術の発展に伴い、ビジネスシーンでもAIを活用する機会が増えています。AIモデルの開発・トレーニングを行うことはもちろん重要ですが、そのモデルを効果的に運用するシステムを構築することも欠かせないステップです。
本記事ではAWSのサービスを活用して構築したAIモデル自動推論実行システムの概要をご紹介します。さらに、今後の記事では、AIモデルの開発から自動推論システムの具体的な構築手法まで、段階を追って詳しく解説していきます。
システム構成図
トラストでは以前、クラウドにアップロードされたに対し、AIモデルを用いた推論を実行し、音データの異常を検知するシステムを構築しました。
作成したシステムの構成図はこちらです
Raspberry Piで録音された音データに対してAIモデルによる推論を実行し、正常音か異常音か判別するシステムを構築しました。システムのフローは大きく分けて以下の3ステップで構成されています
1.Raspberry Piで録音を実行。音データをクラウドにアップロードする
2.AIモデルの推論を実行し、推論結果を保存する
3.音データと推論結果を表示する
各ステップを順番に解説します
1.Raspberry Piで録音を実行し、音データをクラウドにアップロードする
今回は録音を実行するエッジデバイスにRaspberry Piを使用します。Raspberry PiをAWSで管理するためには「IoT Greengrass」というサービスを使います。Greengrassを利用することで、クラウドとデバイス間の通信や各コンポーネントの実装を簡単に行うことができます。
こちらはGreengrassのコンソール画面です。
登録されたデバイスに対して、録音用のコンポーネントや音データをS3にアップロードするコンポーネントをデプロイします。
Greengrassデバイスのセットアップ方法についてはこちらの記事をご覧ください。
2.AIモデルの推論を実行し、推論結果を保存する
Raspberry PiからS3にアップロードされた音データに対して、AIモデルによる推論を実行します。今回は1時間ごとに音データの推論を実行するシステムを構築します。
AIモデルの構築と管理は「SageMaker」というサービスで行います。SageMakerは機械学習モデルの構築、学習、デプロイなどを簡単に実装できるサービスです。
こちらはSageMakerのコンソール画面です。
SageMakerで管理するNotebook上でAIモデルを学習させます。AIモデルの学習を行ったNotebookとは別に実行用Notebookを作成し、学習済みモデルをアップロードします。実行用Notebookでは、学習済みモデルを実行する機能を構築します。最後に、Lambdaを経由したEventBridgeで実行用Notebookを定期的に起動することで、自動推論実行システムを実現しています。
今回構築したNotebookでは、直近1時間以内にS3にアップロードされた音データを取得して、推論を実行しています。そのため、EventBridgeにも1時間ごとにNotebookを起動するスケジュールを設定しています。
3.音データと推論結果を表示する
音データと推論結果はWebアプリケーションとQuickSight上で確認します。データは2か所のS3ディレクトリとDynamoDBの計3か所から取得します。
Webアプリケーションでは音データと推論結果を表示します。音データと推論結果はそれぞれS3バケット、DynamoDBから取得します。
QuickSight上では、推論結果の表示と分析を行います。QuickSightではcsvファイルのデータを基にグラフを作成できますが、csvファイルを取得しやすいように、保存するS3のディレクトリ構造を整える必要があります。
まとめ
今回は、AIモデル自動推論実行システムの概要についてご紹介しました。AWSの各種サービスを活用することで、AIモデルの開発から自動推論システムの構築まで、手軽に実装することができます。
今後の記事では、具体的な構築方法について詳しく解説する予定です。主な内容は以下の通りです。
- AIモデルの構築方法
- AIモデル実行用Notebookの作成
- ノートブックの自動実行をスケジュールする方法
最後までお読みいただき、ありがとうございました。今後もAIに関する情報発信に努めてまいりますので、ぜひ次回の記事もご期待ください。