IoTクラウド基盤アーキテクトの森⽥です。お客様のIoTサービスを実現するAWSアーキテクチャの検討、提案、構築を行っています。
2023年9月29日(金)、アマゾン ウェブ サービス社の生成AIサービス「Amazon Bedrock」の提供が開始されました。当社は7月に検証を開始して効率的、効果的な活用方法の検討を行いました。その中で、私はIoTにおける活用について検証しました。
前回の記事では、AWS IoT TwinMakerとMatterportの連携を解説しましたが、IoTデータを3D空間と組み合わせることで、ひと目で状態が把握できる監視ダッシュボードを構築することが可能です。今回は、この監視ダッシュボードに対するAmazon Bedrockの活用についての検証をご紹介します。
Amazon Bedrockとは
Amazon Bedrockは、Amazonや主要なAIスタートアップ企業が提供する基盤モデルをAPI経由で利用できる完全マネージド型サービスです。サーバーレスなのでインフラを気にせずにすぐに使用開始でき、独自データでカスタマイズも可能です。使い慣れたAWSのツールとシームレスに統合してアプリケーションにデプロイできるため、テキスト生成、チャットボット、検索、要約、画像生成、パーソナライズなど、幅広い生成系AIアプリを簡単に構築できます。
Amazon Bedrockによる時系列データ集計の検証
IoTデータは時系列データが多いため、Amazon Bedrockを使用して時系列データの集計が可能かを検証します。Amazon Bedrockでは複数のモデルが提供されていますが、今回はAnthropic社のClaude 2モデルを使用しました。
こちらのサイトでオープンデータとして公開されている新型コロナウイルス感染症の新規陽性者数の推移(日別)データ(newly_confirmed_cases_daily.csv)を使用して検証しました。
まずはCSVから東京都の2021年1月のデータのみを抽出しました。
Date,Tokyo
2021-01-01,793
2021-01-02,829
2021-01-03,826
2021-01-04,905
2021-01-05,1315
2021-01-06,1640
2021-01-07,2520
2021-01-08,2459
2021-01-09,2332
2021-01-10,1510
2021-01-11,1252
2021-01-12,1025
2021-01-13,1480
2021-01-14,1552
2021-01-15,2044
2021-01-16,1839
2021-01-17,1595
2021-01-18,1217
2021-01-19,1253
2021-01-20,1286
2021-01-21,1485
2021-01-22,1184
2021-01-23,1079
2021-01-24,986
2021-01-25,619
2021-01-26,1026
2021-01-27,976
2021-01-28,1065
2021-01-29,871
2021-01-30,770
2021-01-31,634
このデータをもとにAmazon Bedrockにて集計を検証します。
プロンプト
以下のデータは、2021年1月の新型コロナウイルス感染症の新規陽性者数の推移です。
{CSVのデータ}
最小値、最大値、平均値、中央値を算出してください。
回答は以下の形式で回答してください。
回答
最小値:
最大値:
平均値:
中央値:
Amazon Bedrock(Claude 2)の回答
データを解析し、最小値、最大値、平均値、中央値を算出します。
最小値:619
最大値:2520
平均値:1380.9
中央値:1253
回答
最小値:619
最大値:2520
平均値:1380.9
中央値:1253
正しい計算結果との比較結果です。
項目 | Amazon Bedrockの回答 | 正しい値 | 判定 |
---|---|---|---|
最小値 | 619 | 619 | ◯ |
最大値 | 2520 | 2520 | ◯ |
平均値 | 1380.9 | 1302.2 | ✕ |
中央値 | 1253 | 1217 | ✕ |
最小値と最大値は正しく回答されましたが、平均値と中央値は不正解でした。プロンプトから値を抽出することは成功しましたが、計算は苦手なようです。
Amazon Bedrockによる時系列データ傾向の要約
正確な計算は難しいようですが、値の変化の傾向をつかむことは可能でしょうか。検証します。
ひと月分のデータを渡し、傾向を聞いてみます。
プロンプト
以下のデータは、2021年1月の新型コロナウイルス感染症の新規陽性者数の推移です。
{CSVのデータ}
新規陽性者数の傾向を教えてください。
Amazon Bedrock(Claude 2)の回答
はい、このデータから2021年1月の東京の新型コロナウイルスの新規陽性者数の傾向を分析いたします。
- 1月上旬はおおむね800人台で推移していましたが、途中から急激に増加し始め、1月7日には一気に2000人を超える2520人となりました。
- その後も2000人前後で推移し、1月15日には2000人を超える2044人のピークを記録しました。
- 1月中旬以降は徐々に減少傾向となり、月末には600人台まで減少しました。
- 全体としては、月前半が増加トレンド、月中旬がピーク、月後半が減少トレンドとなっています。
- 1月第1週は800人台、第2週は2000人超、第3週は1500人台、第4週は1000人台と推移したことがわかります。
以上のように、2021年1月の東京の新規陽性者数は全体として増加からピークを迎え減少に転じる傾向が見られました。特に月前半の急増と月中旬のピークが特徴的でした。
実際には、1月中のピークは1月7日の2020人で1月15日は全体のピークではありませんが、この週のピークではありました。概ねの傾向を捉えた回答が得られたと言えるでしょう。
さらに過去のデータも渡して、履歴と比較した傾向も聞いてみました。
プロンプト
以下のデータは過去5ヶ月分の月ごとの患者数です。
Date列が集計月で、日ごとに集計した最大値、最小値、平均値、中央値です。
max min mean median
Date
2020-08-31 472 95 262.096774 250.0
2020-09-30 276 59 163.933333 170.0
2020-10-31 284 65 172.580645 177.0
2020-11-30 570 87 328.700000 313.5
2020-12-31 1353 301 624.806452 584.0
以下のデータは、2021年1月の新型コロナウイルス感染症の新規陽性者数の推移です。
{CSVのデータ}
過去のデータを参考にし、新規陽性者数の傾向を教えてください。
また、来月の患者数を予測してください。
Amazon Bedrock(Claude 2)の回答
過去5ヶ月のデータから、新規陽性者数は徐々に増加している傾向がみられます。
12月は最大値1353人、最小値301人、平均値624.8人と大きく増加しています。
2021年1月のデータをみると、月の前半は1000人台を推移していましたが、中旬以降は減少傾向となり、月末は600人台になっています。
過去のデータから判断すると、2月の新規陽性者数は1月と同程度かやや減少すると予測されます。
具体的な予測値は、最大値1200人台、最小値500人台、平均値800人台程度となる可能性が高いと考えられます。ただし、感染状況次第では変動も予想されます。今後の動向を注視する必要があるでしょう。
新規陽性者数の傾向だけでなく、過去データを元に予側も回答してくれました。
回答が少し長いので、「200文字以内に抑えて回答してください。」と追加すると以下のような回答になりました。
Amazon Bedrock(Claude 2)の回答
過去5ヶ月のデータから、患者数は増加傾向にある。
1月のデータからは、週末に患者数が減少し、平日に増加する傾向がみられる。
来月の平均患者数は1500人程度と予測される。
この程度の文字数であれば、概要を把握するにはちょうど良いと感じます。状況の要約用途には生成AIが活用できそうだということがわかりました。
IoTデータの要約をダッシュボードに反映
時系列データの要約にAmazon Bedrockが活用できることがわかりましたので、IoTデータの要約をデジタルツインダッシュボードに表示します。
Amazon Bedrockを使用して以下の手順で要約を行いました。
- 圧縮機1に対する過去データ、直近データをAWS IoT SiteWiseから取得する
- 以下のプロンプトにて圧縮機1の状態についてAmazon Bedrockで要約を生成する
以下のデータは過去5ヶ月分の月ごとの圧縮機1の状態です。 Date列が集計月で、日ごとに集計した最大値、最小値、平均値、中央値です。
{過去の集計データ}
以下のデータは、直近1時間の圧縮機1の状態です。
{直近1時間のデータ}
過去のデータを参考にし、圧縮機1の状態の傾向を教えてください。
回答は200文字以内で回答してください。
- 圧縮機2~4に対しても同様にAmazon Bedrockで要約を生成する
- 圧縮機1~4の要約を元に、全体の要約を生成する
以下は直近1時間の’圧縮機’の傾向です。
圧縮機1:{圧縮機1の要約}
圧縮機2:{圧縮機2の要約}
圧縮機3:{圧縮機3の要約}
圧縮機4:{圧縮機4の要約}
以下の質問に回答してください。
全体的な傾向を1文で回答してください。
文は「圧縮機の傾向は」で始めてください。
異常がありそうかなさそうかを回答に含めてください。
回答は200文字以内で回答してください。
最終的な回答は以下のようになりました。
圧縮機の傾向は、圧縮機1は値の変動が大きく不安定だが、他の圧縮機はある範囲内で推移しており、特に異常な傾向は見られない。
ダッシュボードに組み込むと以下のイメージとなります。
今回はテストデータのため、異常なしという形ですが、過去の障害情報や修理データと組み合わせることで、グラフだけでは理解しづらい状態の確認が可能になると思います。
また、機器に問題がある場合には、要約内の機器名をクリックし、3D空間を該当の機器に移動させると、迅速な状態把握に繋がります。
まとめ
Amazon Bedrockを使用したIoTデータに対するアプローチ方法と、IoTデジタルツインダッシュボードへの適用例を解説しました。
富士ソフトではデジタルツインだけでなく、IoTシステム開発にも多くの実績があります。ぜひ富士ソフトまでお問い合わせください。
Amazon Bedrock導入ソリューションについて、詳しくはこちら
Amazon Bedrock導入ソリューション
IoTプラットフォーム on AWS について、詳しくはこちら
IoTプラットフォーム on AWS
IoT運用支援サービス について、詳しくはこちら
IoT運用支援サービス