BLOG
TimesFM 3.0:Googleが時系列予測を「LLM化」して以降
技術分解:AI技術フレームワークの解説——説明、分析、技術評価、価値判断、実践、自前構築。 著者:永亮
一、これは何か:時系列を「言語」としてモデル化する基盤モデル
従来の時系列予測は匠の技のようなものだった:ビジネスごとに1本の曲線があり、モデルを1つ用意し、パラメータ調整、季節性の検証、外れ値の処理を行い、サイクルは週単位で計測される。TimesFMのアプローチは、この問題全体を書き換えることだ——言語モデルが大量のテキストから「次の単語は何か」を学べるのなら、時系列を小さな断片(patch)に切り分け、「単語」としてdecoder-only transformerを訓練すれば、「次の曲線の形はどうなるか」を学べるのではないか?
答えはイエスだ。TimesFMはリリース当初から「ゼロショット」を位置づけていた:ユーザーのビジネスに微調整することなく、そのまま予測に使い、その結果が、そのデータセット専用に調整された多くの従来のモデルと同等かそれ以上になる。公式発表によると、3.0は3つの主要なベンチマークで1位を獲得した:100の実際のタスクをカバーするfev-bench、50のドメインデータセットを持つTIME benchmark、そしてGIFT-Evalの全基盤モデル中で1位となった。
二、中核メカニズムと技術アーキテクチャ
2.1 1.0から3.0へ:LLMにますます似ていく進化の道筋
TimesFM 1.0の論文は、LLMの3点セットを時系列に持ち込んだ:パッチ化(連続した曲線を固定長の小セグメントに切り分け、正規化後に線形投影で埋め込みに変換、テキストのトークン化に相当)、decoder-only 自己回帰(過去のみを見て、セグメントごとに未来を生成)、大規模広範囲事前学習(実データと合成データを混合し、モデルに十分な多様なトレンド、季節性、急変パターンを見せる)。
2.5バージョン(2025年9月)は2つのことを行った:パラメータ数を5億から2億に削減、コンテキスト長を2048から16kに拡張——より小さなモデルでより長い記憶を引き換えにした。同時に出力を単点予測からオプションの3000万分位点ヘッドにアップグレードし、最大1000ステップの分位点予測を出力できるようにした。「予測区間」という能力は、在庫や容量計画を行う人にとって必須だ:意思決定者が求めているのは「来週の売上1200件」ではなく、「P90で1500件を超えない在庫量」である。
3.0は、基盤モデルが実際の企業シナリオで抱える最大の2つの弱点、多変量結合モデリングと共変量融合を埋めた。
2.2 本体:Stacked Mixing Transformer、1層で2回のアテンションを行う
Hugging Faceのモデルカードとソースコードから、3.0の完全な構造を再構築できる:20層のtransformer、モデル次元1280、16のアテンションヘッド、コンテキストパッチ長32、予測パッチ長64。
鍵は、各層が通常の自己アテンションではなく、ソースコード内でMixingTransformerと呼ばれる構造であり、1層の中で順に3つのことを行う点だ。
第一段階、シーケンスアテンション(sequence attention)。 各変数のパッチシーケンスに対して因果アテンションを行う——厳密に過去のみを見て、未来は見ない。ここは現代のLLMの標準構成のほぼ全てだ:RoPE回転位置エンコーディング、QK-norm(query/keyにRMS正規化を適用し、アテンションのlogitsを安定させる)、per-dim scale、さらにKV cacheによる増分デコードのサポート。
第二段階、変数アテンション(variate attention)。 テンソルを転置し、各時点で変数次元に対してアテンションを行う——この層が答えるのは「同一時刻において、変数Aの変化と変数Bにはどのような関係があるか」という問いだ。これが多変量予測の中核だ:店舗売上と気温、設備の電圧と振動、その関連は変数間の相関性に隠れている。これは非因果的(すべての変数を同時に観測)であり、ソースコードでは独立したRoPEスイッチと因果マスク設定によってシーケンスアテンションと区別されている。
第三段階、FFN。 フィードフォワードネットワークが仕上げを行い、pre-norm/post-normに残差接続を加える。
この「時間次元アテンション + 変数次元アテンション + FFN」を各層でそれぞれ1回ずつ行う設計は、iTransformer(変数をトークンとして扱う考え方)の系譜を受け継いでいるが、TimesFMはそれを因果シーケンスアテンションと同じ層内に重ね、1回のフォワードパスで時系列依存と変数間依存のモデリングを同時に完了させる。20層 × 2回のアテンションでありながら、パラメータ規模は3億前後に抑えられている——この構成だけ見ても、「MacBookで動く」ことを目指しているのがわかる。
2.3 RevINとCPM:見落とされがちだが、成否を決める2つのエンジニアリング詳細
時系列モデルの古い難問は入力分布のドリフトだ:同じ売上曲線でも、オーダーが数百から数百万まであり、平均や分散は期間によってドリフトする。TimesFMの解決策はRevIN(可逆インスタンス正規化)だ:モデルに入る前に各シーケンス自身のスライディング平均と標準偏差で正規化し、結果を出した後に元のスケールへ逆変換する。ソースコードでは、この統計量はパッチごとに累積されるrunning statsであり、指定位置で凍結することが可能だ——長いhorizonを推論する際、正規化の基準がこっそり未来情報を混入させないようにするためだ。
さらに興味深いのは、3.0で導入されたCPMマスクメカニズムだ。ソースコードでの実装はこうだ:学習または推論時に、目的変数を特定のパッチ位置で余分にマスクし、モデル自身の推定値を使ってこれらの位置のRevIN統計量を反復的に洗練させる——cpm_iterative_revin_refineの実装は、パッチに沿って1つずつ進み、各マスク位置で「前の洗練された統計量 + 現在のモデル推定値」を使って平均と分散を更新し、CPMではない位置は元の統計量を固定したままにする。このメカニズムの動機は非常に実用的だ:長系列予測では、後ろの予測点ほど「観測済み区間」から遠くなり、正規化のドリフトが深刻になる。モデルに正規化基準を自己修正させることは、長いhorizon予測に予測深さに応じて適応するキャリブレータを追加することに等しい。READMEにはCPMの略称の正式名称は展開されていないが、その振る舞いは「一部を隠し、モデルに統計量を繋がせる」ことだ。
2.4 共変量はどのようにモデルに入るか
3.0が宣伝する「柔軟な共変量サポート」は、ソースコードの実装はかなり直接的だ:roll + 結合 + マスクを入力特徴として使用する。過去の共変量(past-only、例えば過去の天気)は、入力パッチの後に直接結合される。未来の共変量(past-and-future、例えばプロモーションカレンダー)は、シーケンスのシフトrollingを行うことで、対応する未来ウィンドウの値を取得する。より細かいエンジニアリング詳細はこうだ:マスク自体(どの点がマスクされているか、どのパッチが目的変数か)も浮動小数点の特徴として数値と結合され、一緒にpre-transformerのResidualBlockに入り、初期埋め込みを行う——モデルは「値がいくらか」だけでなく、「どの値が真実で、どれがプレースホルダーか」を知る。
2.5 出力ヘッド:9つの分位点と1つのハードクリップ
出力側では、各予測パッチの各点に対して9つの分位点(0.1から0.9まで、中央値はインデックス4)を出力し、RevINを逆変換して元のスケールに戻した後、value clipでハードクリップを行う。分位点回帰は点推定に代わり、同じ推論で意思決定に使用できる信頼区間を直接生成する。ハードクリップは、極端なlogitが逆正規化後に数値爆発を起こさないようにするためのエンジニアリングのガードレールだ。
2.6 訓練データのレシピ
モデルカードによると、3.0の事前学習データは4つの混合ルートだ:GIFT-Evalの事前学習セット(fev-benchと重複する部分は除外し、評価汚染を防ぐ)、Wikipediaのページビュー(2023年11月まで切り捨て)、Google Trendsのトップクエリ(2022年末まで切り捨て)、そして合成データと拡張データ。注目すべき詳細は、最初の2つの実データには明確なcutoff日付が付いていることだ——評価の衛生管理はかなり规范されている。
三、技術評価:ハイライトは本物だが、注ぐべき冷や水が3つある
まずハイライトから。パラメータ数が2〜3億規模ということは、推論コストが極めて低いことを意味する。公式ベンチマーク(330Mモデル、M4 Max、コンテキスト512、予測64ステップ)には公開された所要時間データがあり、MLXバックエンドによりApple Siliconでのローカル推論が現実的な選択肢となる。各層のダブルアテンションを持つmixing構造は、多変量シナリオにおいて正しい設計方向だ。付属するSKILL.mdとエージェント統合の説明は、Googleが開発者エコシステムを真剣に運営していることを示している。
次に3つの冷や水を見てみよう。
第一に、3.0の重みは非商用ライセンスに変更された。 これは今回のアップデートで最も見落とされがちな条項だ:リポジトリのコードと2.5以前の重みはApache-2.0だが、3.0の事前学習重みはtimesfm-non-commercial-license-v1.0のみが適用される——非商用、非本番環境。個人の研究なら自由に使えるが、企業がこれを本番稼働させる法的リスクがある。商用には2.5の重み(Apache-2.0)を使うか、BigQuery MLのようなGoogleクラウドの管理チャネルを通る必要がある。公式がREADMEでこれをかなり目立つように書いているのは、意図的な商業的取り決めだからだ:オープンソースで注目を集め、クラウドで収益化する。
第二に、「3つのベンチマーク1位」は評価の口径を読む必要がある。 fev-bench 1位、TIME 1位は問題ないが、GIFT-Evalの限定詞は「すべての基盤モデルの中で1位」であることに注意——全体での1位ではない。時系列予測の分野には、多くの専用モデル(単一のデータセットのために最適化されたもの)があり、特定のビジネスでは依然として強い。基盤モデルの強みは汎用性とチューニング不要であり、絶対精度の天井ではない。ゼロショットの代償は、あなたのビジネスに合わせた最後の最適化の余地を放棄することだ。また、訓練データのcutoffは2022-2023年であり、最近のマクロパターンに依存するビジネス曲線では、これ自体が一種の暗黙のバイアスを構成する。
第三に、時系列の敵はドリフトだ。 ゼロショットモデルが学ぶのは「一般的なパターン」だ。あなたのビジネスに構造的な変化が起きたとき——製品ラインの変更、新たな競合の出現、マクロ政策の転換——歴史的なパターンの移行仮説は失敗する。CPMの自己キャリブレーションメカニズムが緩和するのは正規化レベルのドリフトであり、パターンレベルのドリフトは救えない。このような時、どの予測モデルでも人間の介入が必要になり、TimesFMも例外ではない。
四、価値判断:企業価値 > 個人価値
予測は典型的な企業のニーズだ:売上予測、トラフィック予測、容量計画、在庫補充。これらのシナリオには3つの共通点がある——データはプライベートであり、頻度は規則的であり、誤差コストは定量化可能だ。TimesFMはまさにこの交差点に位置する:チューニング不要で試用のハードルを下げ、BigQuery ML統合によりデータをクラウド外に出さずに実行でき、分位点出力は在庫戦略に直接接続できる。
個人開発者にとっての価値はもう少し間接的だ:「明日の株価を予測する」といったノイズが支配する野良問題(この種の問題はどのモデルも信じてはいけない)には適していない。その甘い領域は「規則性、共変量、履歴を持つ」ビジネス曲線だ。一言で言えば、これは企業データチームの人件費を節約するツールであり、個人にとって神器を作るツールではない。そしてその非商用ライセンスの層は、Googleもそう位置づけていることを示している。
五、どう実践するか:3つのパス
個人/研究:pipでパッケージを入れるだけで動く、2つのルートから選択可能:
pip install timesfm[torch] # PyTorch ルート
pip install timesfm[mlx] # Apple Silicon ローカル推論
数行のコードで予測が出る:forecaster.predict(context, horizon=128, return_quantiles=True)。公式の例は多変量の共変量の書き方や、Hugging Face Transformers + PEFTを使ったLoRA微調整の完全な例もカバーしている——あなたのプライベートなビジネス曲線で微調整すれば、精度は通常もう一段上げられる。
企業:優先的にBigQuery MLのTimesFMモデルを見て、SQLから直接呼び出し、データを倉庫外に出さずに実行する。または、Vertex AI Model Gardenの管理エンドポイントを利用し、弾力的なスケーリングが必要な本番負荷に適する。
商用でセルフホストしたい場合:2.5のApache-2.0重みを使用するか、以下の代替案を参照すること。
六、類似のソリューションを自前構築する方法:小規模モデル + mixingアーキテクチャの再現ルート
ソースコードを読めば、TimesFM 3.0のパラダイムは明確なモジュールリストに分解でき、自前のドメイン版を構築する際はこれに沿って組むことができる:
- データ側はモデル側より重要。業界の高品質な多変量曲線を収集し、制御可能な合成データ増強(トレンド、周期、急変の注入)を組み合わせる。規模はモデルサイズよりも重要だ。3.0のレシピは実データ(汚染防止のためcutoff付き)+合成増強であり、この考え方をそのまま模倣する。
- 正規化層:パッチごとに累積するRevINを実装し、統計量の凍結をサポートする——これは長いhorizon推論において未来情報の漏洩を防ぐ鍵であり、多くの自作モデルが失敗する場所だ。
- バックボーン:小さなdecoder-only transformer(2〜3億パラメータで開始するのに十分)、各層3つのブロック——因果シーケンスアテンション(RoPE + QK-norm)→ 非因果変数アテンション → FFN、すべてpre/post-normに残差接続。
- マスク戦略:訓練時にランダムにパッチをマスクし、「マスク自体」を入力特徴として使用する——これがゼロショット能力の源泉の一つだ。
- 出力層:分位点回帰(0.1-0.9の9段階)+ 逆正規化 + ハードクリップ。点推定だけ報告しないこと。
- 評価側は必ず自前で構築すること。一般的なベンチマークでの1位は、あなたのビジネスでの1位を意味しない。
もし車輪の再発明をしたくなければ、オープンソースコミュニティにはライセンスのよりフレンドリーな代替品がある:AmazonのChronosとSalesforceのMoirai/Moirai-MoEは同じ「時系列トークン化」ルートを進んでおり、商用に対してよりフレンドリーなライセンスを持っており、エコシステムも成熟している。選定時に一緒にプレッシャーテストする価値がある。
結論
TimesFM 3.0は「予測のLLM化」というルートにおける現在、最も完全な公式サンプルだ:パッチ化、因果アテンション、RoPE、マスク事前学習といったLLMの成熟部品が体系的に時系列領域に持ち込まれ、変数アテンション、RevIN自己キャリブレーション、分位点出力という時系列専用部品が積み重ねられ、エンジニアリングの完成度は非常に高い。しかし、2つの詳細がその実際の使い方を決定づける——3.0の重みの非商用ライセンスはあなたをGoogleクラウドまたは2.5の重みに追いやり、「基盤モデル1位」という限定詞は、一般的なランキングをビジネスの約束と見なさないよう警告している。企業データチームにとって、これはすぐに評価リストに入れる価値がある。技術チームにとって、これは「LLMアーキテクチャの方法論を非テキストシーケンスに移行する方法」を研究するための最高の生きた教材だ。
参考情報
- TimesFM GitHubリポジトリ(README、v3.0.0リリースノート):https://github.com/google-research/timesfm
- Hugging Faceモデルカード:google/timesfm-3.0-pytorch(アーキテクチャパラメータと訓練データレシピ)
- ソースコード:src/timesfm3/torch/ 以下の model.py、transformer.py、cpm_revin_refine.py(MixingTransformer層構造、RevIN/CPM実装、共変量融合)
- 論文:A decoder-only foundation model for time-series forecasting、ICML 2024、arXiv:2310.10688
- BigQuery ML TimesFMドキュメント / Google Workspace更新ログ(Sheets統合)