Slide 1

Slide 1 text

時系列データ向け基盤モデル 「Chronos (by Amazon.com)」で行う 未来予測 Kohei MATSUSHITA An AWS Hero (Community) @Max

Slide 2

Slide 2 text

2 Technology Evangelist at Soracom, Inc. Soracom is an IoT platform provider to the world Kohei “Max” MATSUSHITA A bit of understanding of IoT #IoT #AWSHero #TheCodeOverTheory #reInvent2024 (GoGo!!) #Maxデテル WiJG?, Public domain, via Wikimedia Commons NEW!!

Slide 3

Slide 3 text

基盤モデルと生成 AI 生成AIがトレンドになっている背景 A: すぐ使える学習済みモデル =基盤モデル(Foundation Model; FM)の存在 基盤モデルで有名なのは、LLM(大規模言語モデル) A: 用途によって、基盤モデルは他にも存在する 加えて、基盤モデルをサーバーレスで動かす方法をご紹介 3

Slide 4

Slide 4 text

時系列データは私たちに身近 その活用は…? 時系列データの活用は “過去から現在” しかし、本質は「未来を知りたい」 4 • 温湿度や気圧といった天候データ • 電力消費量 • 水やオイル等の水位 • 製造ラインの生産数 • 来店者数 • ネットワークトラフィックやサーバー負荷 • 為替レートや株価 …

Slide 5

Slide 5 text

時系列データの予測を行う方法は? 生成AIの利用 • 予測を出力(生成)させることは可能。現状は研究フェーズ。 • 例) Large Language Models for Time Series: A Survey ([Submitted on 2 Feb 2024 (v1), last revised 6 May 2024 (this version, v3)]) Amazon SageMakerの利用 • 可能ではあるが一般的な機械学習オペレーション=学習フェーズが不可欠 • 「Amazon Forecast から Amazon SageMaker Canvas への移行方法」も ある 5

Slide 6

Slide 6 text

Amazon Forecast …? 6 https://x.com/jeffbarr/status/1818461689920344321 Oh, Amazon Forecast… https://x.com/jeffbarr/status/1818488419347317217

Slide 7

Slide 7 text

時系列データ向け基盤モデル 「Chronos」 by Amazon.com 7 https://www.amazon.science/code-and-datasets/chronos-learning-the-language-of-time-series 実行例) 静岡県富士市の日照時間の実績(青)と、そこから 予測(赤)をChronosで出力

Slide 8

Slide 8 text

ライブデモ(1): 最小構成で予測 8 時系列出た (1~29 の順番データ) Amazon Chronos 実績 予測 (範囲含めて)

Slide 9

Slide 9 text

Chronos 利用部分のコード 9 csv = pd.read_csv('seq.csv') pl = ChronosPipeline.from_pretrained("amazon/chronos-t5-tiny") fc = pl.predict(torch.tensor(csv[0]), prediction_length=1) low, mid, high = np.quantile(fc[0].numpy(), [0.2, 0.5, 0.8]) #=> (29.47214127, 30.24193573, 30.83577614) ※いくつかのポイントは省略 1: 2: 3: 4:

Slide 10

Slide 10 text

FastAPI ライブデモ(2): WebAPI-ized with FastAPI • FastAPI: Python 向け Web API フレームワーク 10 '{"historical":[1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23 ,24,25,26,27,28,29]}' Amazon Chronos {"forecast":{"min":[29.97800559 9975585],"median":[30.0219936 3708496],"max":[30.285923767 089844]} http://.../forecast.json http://.../forecast.png

Slide 11

Slide 11 text

利用するモデルサイズは? • 大きければ大きいほど精度は高い • 推論時間やメモリ等のリソースも必要 • 近々の予測(e.g. 次の1件等)であれば、Tiny や Small で も良い結果は得られやすい 11

Slide 12

Slide 12 text

ライブデモ(3): Lambda Web Adapter でサーバーレス化 • Lambda Web Adapter: コンテナ化されたWeb Appについて、 Lambdaで動かせる仕組み 12 Container (Dockerfile) AWS Lambda Lambda Web Adapter (Layer) AWS Cloud Amazon Elastic Container Registry (Amazon ECR) FastAPI Amazon Chronos Exposing as a Web API / APP docker push

Slide 13

Slide 13 text

AWS Lambda 上で Chronos を動かすポイント 13 • Tiny や Small でも、非同期実装を検討したほうが良さそう • Chronos は、今回のような実績からの予測だけでなく、説明変 数から目的変数を導き出す使い方も可能 Model size Image size (on ECR) Tmp space (for FM files) Memory Timeout RTT (cold, warm) Tiny 3.2GB 0.5GB 1.0GB 60s 20s, 10s Small 3.4GB 1.0GB 2.0GB 60s 25s, 15s Base 4.0GB 2.0GB 2.5GB 90s 50s, 25s Large 5.8GB 4.0GB 6.0GB 360s 200s, 120s

Slide 14

Slide 14 text

まとめ ― 時系列データの未来予測 • 入力データや得たい出力から、基盤モデルを選ぶという選択 • AWS やオープンソースのように “作る” から “創る” へ • 時系列データ向け基盤モデル • データ活用の観点からも、時系列データの予測は汎用性は高い • ファインチューニングも可能 • LLM による時系列データ分析も研究は進んでいる • Web アプリ化の第一歩には Lambda Web Adapterが有用 • AWS Fargateなどの検討時には、Lambda Web Adapter も 14

Slide 15

Slide 15 text

Thank you ! Kohei “Max” MATSUSHITA X: @ma2shita 15 https://github.com/ma2shita/amazon-chronos-with-lambda-web-adapter Examples is available!!