本記事はソラコムが提供する「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公式ブログ に最初に表示されました。
この連載の記事
-
第485回
デジタル
省電力通信LTE-M対応の小型マイコンボードをSORACOM IoTストアで提供開始、ローコードIoTアプリケーションビルダー「SORACOM Flux」の料金プランを発表 takuyaのほぼ週刊ソラコム 11/30-12/13 -
第484回
デジタル
AWS re:Invent 2024に見る、IoTの成熟と生成AIとの融合 -
第483回
デジタル
二歳半の子供を持つエンジニアの一日の働き方 -
第482回
デジタル
VPN 対応の産業用 LTE ルーターの価格改定【30%オフ】 -
第481回
デジタル
時間帯に応じたメール通知の構築方法 : SORACOM LTE-M Button と SORACOM Flux の活用 -
第480回
デジタル
SORACOM Flux 料金プランを発表しました -
第479回
デジタル
12/11-13 商業施設・店舗DX展に出展:最新IoTソリューションや事例をご紹介 -
第478回
デジタル
コープさっぽろが、クラウド型カメラ「ソラカメ」を全店舗で導入、現場主導の改善を実現、サーバールームの異常な温度上昇を通知する新規掲載レシピ takuyaのほぼ週刊ソラコム 11/16-11/29 -
第476回
デジタル
WebRTCとMedia over QUIC Transportの性能比較 -
第475回
デジタル
SORACOM Lagoon 3 の [Math] 機能で、複数データを組み合わせた通知の手順
この記事の編集者は以下の記事もオススメしています
-
デジタル
スマートプラグで「ソラカメ」や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のプライベートリソースにアクセスする