モデル / データセット
amazon-science/chronos-forecasting avatar
amazon-science/chronos-forecasting

chronos-forecasting を採用する前に読む: ゼロショット時系列予測の実際の使い方と制約

Chronos: Pretrained Models for Time Series Forecasting

スター 5,863フォーク 718PythonApache-2.0

ひと目でわかる

これは何?
Amazon の Chronos 系モデルを Python から呼び出すための推論パッケージ。Chronos-2 と Chronos-Bolt の設計差、pip とモデル ID の関係、そして学習済みモデルをそのまま使うという選択がどこで破綻するかを整理する。
誰に向いている?
自前の時系列モデルを学習させるほどのデータがなく、まず動くベースラインが欲しいチームには向いている。逆に、外部変数の効果を因果的に解釈したい場合や、予測区間の統計的性質を厳密に管理する必要がある用途には不向きだ。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 7 日前です。
何の言語で書かれている?
主に Python です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

chronos-forecasting が埋めるのはどの隙間か

時系列予測の実務では、モデル選定より前に「学習に足る履歴が各系列にあるか」という問題が立ちはだかる。数百本の系列のうち大半が数十点しか観測を持たない、という状況は珍しくない。Chronos はこの隙間を、大規模な時系列コーパスで事前学習済みのモデルをそのまま推論に使う、という形で埋めようとする。README の表現を借りれば pretrained time series forecasting models であり、利用者は自分の系列をモデルに与えるだけでよく、勾配計算は発生しない。

対象読者は、需要予測やセンサー値の監視のように、系列ごとの履歴が浅く、かつ複数系列をまとめて処理したい開発者だ。逆に、単一の長い系列に対してドメイン固有の特徴量を丹念に設計したい場合、このパッケージの出番は小さい。モデルはあくまで汎用の事前学習済み重みであり、あなたの業務固有の構造を教え込む手段はゼロショット推論の範囲では提供されていない。

Chronos-2 と Chronos-Bolt は別系統の設計である

同じリポジトリに 3 世代のモデルが同居している点は、採用時に最初に整理すべき論点だ。README の記述に従えば、Chronos-2 は univariate、multivariate、covariate-informed の各タスクをゼロショットで扱える最新モデルで、120M パラメータの amazon/chronos-2 を筆頭に、autogluon/chronos-2-synth と autogluon/chronos-2-small (28M) が並ぶ。

Chronos-Bolt は設計思想が異なる。履歴を複数観測点のパッチに区切り、エンコーダに入れ、デコーダが将来の複数ステップに対する分位点予測を直接生成する。README はこれを direct multi-step forecasting と呼び、同一サイズの旧 Chronos と比べて最大 250 倍高速、メモリ効率 20 倍と説明している。旧 Chronos は言語モデルの枠組みを流用し、スケーリングと量子化で時系列をトークン列に変換、交差エントロピー損失で学習し、推論時は複数の将来軌跡をサンプリングして確率予測を得る。サンプリングに依存する分、Bolt 系より計算量が読みにくい。

つまり、精度を優先して外部変数も入れたいなら Chronos-2、レイテンシとメモリが制約なら chronos-bolt-tiny (9M) から chronos-bolt-base (205M) のいずれか、という住み分けになる。README は Chronos-2 が Chronos-Bolt に対して 90% 超の勝率だと述べているが、これは提供側の比較であり、自分のデータで再現するかは別問題だ。

導入は pip 一発、その先の分岐が本番構成を決める

推論までの最短経路は pip install chronos-forecasting で、README の最小例は pandas と chronos をインポートし、DataFrame を渡す形になっている。pandas 側は pip install 'pandas[pyarrow]' が要求される点に注意したい。pyarrow バックエンドが前提ということは、文字列やカテゴリ列の扱いが従来の numpy バックエンドと異なる。既存の前処理コードが object 型の列に依存している場合、ここで型の取りこぼしが起きうる。

本番投入を想定するなら README は Amazon SageMaker へのデプロイを挙げ、AutoGluon-Cloud と SageMaker JumpStart の 2 経路を示す。AutoGluon-Cloud は Python の高レベル API で、real-time、serverless、batch の各推論をカバーし、pandas の DataFrame を入れて予測を出す形になる。JumpStart は notebooks/deploy-chronos-to-amazon-sagemaker.ipynb に手順があり、CPU でも GPU でも real-time エンドポイントを立てられる。

ここで見落としやすいのは、ローカル推論と SageMaker エンドポイントで運用コストの構造がまったく違うことだ。前者はモデル重みのダウンロードとメモリだけがコストで、系列数が増えても追加課金はない。後者はエンドポイントの稼働時間課金であり、予測が 1 日に数回しか走らないバッチ用途では、常時起動のエンドポイントは割に合わない。README が serverless と batch を並記しているのはこの事情を反映している。

ゼロショットが破綻する条件

最も明確な制約は、モデルが学習時に見ていない構造を推論時に教えられないことだ。README は Chronos-2 が covariate-informed 予測に対応すると述べ、外部特徴量を含むタスクで改善が大きいとしている。しかしこれは「外部変数を入力として渡せる」という意味であり、その変数が将来どう動くかをモデルが埋めてくれるわけではない。将来の気温やキャンペーン日程のように、予測時点で値が確定していない共変量は、別途シナリオとして与える必要がある。

第二に、予測区間の意味づけだ。Chronos-Bolt は分位点を直接出力し、旧 Chronos はサンプリングで確率予測を得る。どちらもモデルが学習データから学んだ不確実性であり、あなたの系列の分散構造を反映している保証はない。在庫の安全在庫量のように分位点をそのまま業務パラメータに使う場合、この差は無視できない。

第三に、系列の粒度と履歴長である。コンテキスト長を超える履歴は切り詰められる。数年にわたる日次データを丸ごと渡したい場合、モデルが実際に参照するのは直近の一部だ。長期の季節性を明示的に扱いたいなら、学習ベースの手法のほうが素直なことがある。

fev という同梱のものさし

このリポジトリは予測モデル本体だけでなく、評価基盤も提供している。README によれば fev は Hugging Face の datasets ライブラリを土台にした軽量なベンチマークパッケージで、autogluon/fev として別リポジトリに切り出されている。Chronos-2 の性能主張も fev-bench、GIFT-Eval、Chronos Benchmark II という 3 つのベンチマーク上で述べられている。

採用検討の観点で重要なのは、この評価基盤が公開されているという事実そのものより、自分のデータを同じ形式に載せて比較できるという点だ。学習済みモデルを試す場合、公開ベンチマークの順位はほとんど意思決定に寄与しない。自分の系列群で、Chronos-2 と chronos-bolt-base、そして手元にある既存手法を同じ指標で並べる。その作業を fev が想定した形式で行えるなら、モデル選定の議論が印象論から数字に変わる。

ただし fev はあくまで評価の枠組みであり、前処理や欠損補間を肩代わりするものではない。実運用の系列は欠損と外れ値を含むのが普通で、そこをどう扱うかは利用者の責任として残る。

代替としての AutoGluon-TimeSeries と統計モデル

同じ Amazon 系列には AutoGluon-TimeSeries があり、こちらは複数の統計モデルと機械学習モデルをアンサンブルし、対象データで学習を行う。Chronos との違いは学習の有無そのものだ。Chronos は重みを固定して推論だけを行うため、系列ごとの履歴が極端に短くても動く代わりに、あなたのデータ固有の周期や休日パターンを明示的に取り込む手段がない。AutoGluon-TimeSeries は学習に時間とデータを要するが、十分な履歴がある系列ではその分を回収しうる。

もう一方の極にあるのが ARIMA や指数平滑といった古典的手法だ。パラメータ数が少なく、予測区間の導出が数式で説明できる。規制や監査の文脈で「なぜこの予測値になったか」を説明する必要がある場合、事前学習済みの大規模モデルは不利になる。逆に、系列数が数百から数千に及び、それぞれの履歴が短い場合、系列ごとにモデルを同定する古典的手法は現実的でない。Chronos の価値はこの後者の領域に集中している。

ライセンスと更新頻度の読み方

リポジトリは Apache-2.0 で公開されている。推論コードを自社製品に組み込む際の条件はこのライセンスに従うが、モデル重み自体の利用条件は別途 Hugging Face 上の各モデルカードで確認する必要がある。コードのライセンスと重みのライセンスは一致するとは限らず、この点は README からは判断できない。法的判断はここで下せる話ではないので、配布形態が商用か否かを含めて自組織の確認経路に回してほしい。

更新の面では、v2.3.2 が 2026-09-08、v2.3.1 が 2026-07-02、v2.3.0 が 2026-06-18 と、直近は 2 か月から 3 か月間隔でリリースが続いている。Chronos-2 の公開が 2025-10-20 であることを踏まえると、新モデル投入後の調整が続いている段階と見るのが妥当だ。API の破壊的変更がどのバージョンで入ったかはこの資料からは特定できないため、依存を固定するならバージョンを明示的にピン留めし、リリースノートを追う必要がある。

運用コストの観点では、推論パッケージ自体の維持は軽い。重いのはモデル重みの配布と、SageMaker を使う場合のエンドポイント稼働費である。オンプレミスや自前のコンテナで動かすなら、chronos-bolt-tiny の 9M パラメータは CPU 推論でも扱いやすい規模だが、amazon/chronos-2 の 120M は GPU かそれなりのメモリを前提にしたほうが安全だ。

編集部の結論

自前の時系列モデルを学習させるほどのデータがなく、まず動くベースラインが欲しいチームには向いている。逆に、外部変数の効果を因果的に解釈したい場合や、予測区間の統計的性質を厳密に管理する必要がある用途には不向きだ。採用前に確認すべきは、自分の予測ホライズンとデータ粒度が Chronos-2 のコンテキスト長に収まるか、そして amazon/chronos-2 ではなく autogluon/chronos-2-small や chronos-bolt-* で精度と推論コストがどう変わるかを、自前のデータで fev 形式のベンチマークとして測ることである。

公式情報源

  1. amazon-science/chronos-forecasting on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
コミュニティノート

コミュニティノート