本記事はソラコムが提供する「SORACOM公式ブログ」に掲載された「IoTの「時系列データ」をChatGPTで分析・未来予測するには? ― IoT-Tech Meetup レポート」を再編集したものです。
目次
IoT-Tech Meetupとは?【セッション1】 IoTの振り返りと、IoTが産み出すデータ形式のおさらい
【セッション2】 時系列データをChatGPTで読み解いてみる
Q&A
次回のIoT-Tech Meetupは6/13(火)「GIS・位置情報活用の基礎」
7月開催!IoTの大型カンファレンス「SORACOM Discovery 2023」
こんにちは、ソラコムの松下(ニックネーム:Max)です。
IoTではセンサーを用いて現場をデータ化します。例えば冷蔵庫内の温湿度の測定や、来店客数の計測が挙げられます。これらは定期的に計測するため、データは「時系列」すなわち、時間によって並ぶデータです。
一般的には、この時系列データに対して回帰分析等で将来の予測、例えば温度の上昇具合や来客数の増減を予測します。昨今では、機械学習(Machine Learning)を用いて複雑な分析や予測も可能となりましたが、いずれにしても専門的な知識が必要です。
5月30日に開催した、IoTや周辺技術の知見をエンジニア向けに共有するイベント「IoT-Tech Meetup 第1回【ChatGPT × IoT】」では、時系列データを生成系AI「ChatGPT」で分析・未来予測する利点や気を付けたいポイント、そして具体的な方法を紹介しました。その概要や資料をお伝えします。
IoT-Tech Meetupとは?
「IoT-Tech Meetup」は、ソラコムが持つIoTや周辺技術の知見を、主にエンジニアの方に共有する事を目的としてシリーズ開催する無料のオンラインセミナーです。セミナーは、プレゼンテーションの他にQAも用意して、参加者の学びを深めていきます。
「IoT-Tech Meetup」が取り扱うテーマは、Raspberry Pi(ラズパイ)やM5Stack、クラウド型カメラといったハードウェアから、サーバーレスIoTやAIといったクラウド・ソフトウェア、そしてMatter等のIoT向け規格、法規やオープンソースライセンスといったあらゆる面で、IoTを活用するエンジニアの方に役立つ内容を企画・定期開催しています。
IoT-Tech Meetupの開催情報は、ソラコムのオンラインセミナー一覧、もしくは connpass のソラコムページで随時発信しています。
【セッション1】 IoTの振り返りと、IoTが産み出すデータ形式のおさらい
ここからは5月30日のレポートです。
私からは、IoT自体の全体像の振り返りと、IoTが産み出すデータ形式について紹介しました。
まず、IoTにおいてデータとは「今の状態」と「過去の傾向=時系列」と2つの系統がある事を解説しました。今回フォーカスしている「時系列データ」とは過去から現在までの記録ですが、本当に知りたいことは「未来はどうなるのか」という点にあります。
そこで冒頭で解説した通り、一般的には回帰分析やMLを用いる事になりますが、専門的な知識の部分をChatGPTに分析・未来予測させるのが今回の取り組みです。
セッションの終わりでは、ChatGPTを分析・未来予測に用いる利点と、気を付けたい点を解説しました。
- 利点
- 事前学習が不要
- 理由を回答させることで、妥当性を人間が検証可能
- 気を付けたい点
- 与えるデータサイズの調整
- 冪等(べきとう)性が無い(同じデータから別の予測が導き出される可能性がある)
Maxの資料はSpeaker Deckで公開しています。
【セッション2】 時系列データをChatGPTで読み解いてみる
時系列データをChatGPTで分析・未来予測させる具体的な手段については、ソラコム ソリューションアーキテクト 内田(ニックネーム:jet)より解説しました。
まず ChatGPTの全貌を理解するため、基礎となっている LLM(Large Language Model 大規模言語モデル)とChatGPTの関係性を紹介しています。ChatGPTを使用する際に目にする「GPT-3」や「GPT-4」がどういった位置づけなのかが一目でわかる図です。
続いて、ChatGPTに期待できることを3つに分類しました。具体的には「データの解釈と説明」「異常検出のアラート」「自然言語クエリ(問いと答え)」です。
これらを踏まえて、jetよりデモを紹介しました。
まずはAPIの全体像と動作確認を兼ねて、Pythonを用いてWeb上のChatGPTと同様に会話をするデモです。「おっす」という入力に反応してChatGPTから「こんにちは、どうも。」という回答が返ってきています。
このあとは「役割(role)」を与えることで、回答内容が変化することを確認しています。具体的には ChatGPT に対して「あなたは漫画のキャラクターです」と役割を指示したうえで「おっす」と入力すると、回答が変化しました。roleの指示を調整することで、好みの回答が得られることがわかりました。
続いてのデモは、実際の時系列データをChatGPTに分析させる様子です。日付と温度・湿度のデータをChatGPTに与えた上で「なにかわかりますか?」という分析を促す問いを投げたところ、下図のように日時の範囲や温度、湿度に対する一般的な分析結果を回答しています。
このように、まず洞察を得ることが可能なこともこのデモからわかりました。
これら二つの結果を基に、さらなるデモを行っています。roleに「分析結果をJSONで返す」を与えて時系列データを分析させます。その時の指示(プロンプト)は以下の通りです。
また、ChatGPTに異常値の検出をさせて、結果をSlackに通知するデモも行っています。
通知を送るための詳しい構成は後述の資料をご覧ください。
まとめとしては、以下の内容で締めくくられています。
- 専門的な知識や勘所がわからなくても、新しい発見やひらめきが得られる
- LLM にすべて任せられるわけでは無いので、試してみる必要はある
- トークン(実質文字数)をうまく削減することで多くのデータ読み込みが見込める
総じて、時系列データの分析・未来予測にChatGPTを活用することが見いだせたというご紹介になりました。
jetの資料はSpeaker Deckで公開しています。
Q&A
Q: プログラミングとChatGPTを連携しようとすると、チャット特有の機械処理しにくい回答フォーマットが課題になりそうです。出力を確実にJSONのような機械処理しやすいフォーマットにする方法はありますか?
A: LangChain というフレームワークを利用する手段があります。同フレームワークは様々な機能を持っていますが、そのうちの1つに「希望するフォーマットが得られるまで繰り返し問いを投げる」というものがあります。しかし、何度も問いを投げることになり、API利用費がかさむ可能性があるため注意が必要です。そのため Usage limits(費用による上限設定)を設定することをおすすめします。OpenAI のアカウント設定から Billing > Usage limits で設定できます。
Q: トークンを減らすために、日時表現を変えてからChatGPTになげるとかは効果ありそうですか。
A: 非常に効果が見込めると考えられます。例えば「2023-01-01 00:00:00」よりも「01/01 00:00」と不要な情報を削減する手法です。具体的なトークン数は Tokenizer で計測できます。
Q: デモで紹介いただいた Google Colaboratory のコードを紹介いただくことは可能ですか?
A: OpenAIが提供しているAPIを体験する環境の1つとして、Google Colaboratoryは適していると考えています。後日になりますが、当該部分を当ブログで紹介したいと思いますので、ご期待ください。
次回のIoT-Tech Meetupは6/13(火)「GIS・位置情報活用の基礎」
すでに次回のIoT-Tech Meetupの開催が決定しています。
6月13日19時スタートで、GPSをはじめとした位置測位技術の基礎知識と事例や、位置測位を用いた開発の基礎知識と具体例を共有していきます!
すでにお申し込みページはオープンしています。お気軽にご参加ください。
7月開催!IoTの大型カンファレンス「SORACOM Discovery 2023」
7月5日と7月6日の2日間にわたってお届けするIoTカンファレンス「SORACOM Discovery 2023」でも、多くの技術セッションをご用意しています。こちらにもぜひご参加ください!
― ソラコム松下 (max)
投稿 IoTの「時系列データ」をChatGPTで分析・未来予測するには? ― IoT-Tech Meetup レポート は SORACOM公式ブログ に最初に表示されました。
この連載の記事
-
第466回
デジタル
カメラとAIで楽器演奏シーンを簡単に残す、IoTプロトタイピングの裏側 -
第465回
デジタル
数千を超えるIoT機器を管理!生成AIで設備運用を効率化するhacomonoの挑戦 -
第464回
デジタル
SORACOMのビジネスパートナープログラムに、新たに5社の認定済パートナーが参画、SORACOM Harvest Data で日時データをタイムスタンプとして利用可能に takuyaのほぼ週刊ソラコム 08/31-09/13 -
第463回
デジタル
SORACOM Lagoon 3 の Alert rule の考え方をマスターして、最適な通知を作成 -
第462回
デジタル
LTE USB ドングル UD-USC1 を SORACOM サービスと組み合わせて利用する -
第461回
デジタル
EV充電インフラを保護する5つの方法 -
第460回
デジタル
IoT プロジェクトの課題を解決する、SORACOM サービスの活用事例 -
第459回
デジタル
ATOM Cam 2 専用 LAN アダプターを販売開始、ソラカメのクラウド録画マルチストリーミング再生機能をリリース takuyaのほぼ週刊ソラコム 08/17-08/30 -
第458回
デジタル
IoTで接続された充電ステーションがEVの普及を促進する -
第457回
デジタル
SORACOM Napterがさらに便利に!リモートアクセスの安全性と利便性を両立したWebターミナルのご紹介
この記事の編集者は以下の記事もオススメしています
-
デジタル
スマートプラグで「ソラカメ」やIoTデバイスの電源コントロール!(前編) -
デジタル
plan-DUに新バンドルDU-100GBを追加、SORACOM Discovery 2023関連のブログ記事公開開始 takuyaのほぼ週刊ソラコム 05/13-05/26 -
デジタル
スタートアップで始める新規ビジネス 〜ソラカメ1周年 ソラカメ誕生秘話〜 -
デジタル
グローバルDXもワンストップで支援|KDDI【SORACOM Discovery 2023】 -
AI
OpenAI、100万ドル規模のセキュリティ助成プログラムを開始 -
デジタル
SORACOM KryptonでAzure IoT Edgeデバイスを登録する -
デジタル
カスタムDNSとAzure DNS Private ResolverでAzureのプライベートリソースにアクセスする