google-research/timesfm

TimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting.

TimesFM – 時系列予測のための基礎モデル

何であるか – TimesFM(Time Series Foundation Model)は、膨大で多様な時系列データで訓練された、デコーダーのみのニューラルネットワークです。Google Researchはモデルの重みとPythonライブラリを公開し、ゼロショット予測(単変量または多変量)を実行したり、独自のデータでモデルを微調整したりできるようにしています。

なぜ重要か – テキスト向けの大規模言語モデルと同様に、TimesFMは多くの分野(金融、エネルギー、小売など)で即座に動作する汎用的な予測モデルを目的としています。手作業による特徴工学は不要です。リポジトリには、バージョン3.0まで対応する事前学習済みチェックポイントと、推論・評価・LoRAスタイルの微調整用コードが含まれています。


主な特徴(README時点)

  • バージョン3.0 – ネイティブな多変量予測、過去のみおよび過去と未来の動的共変量をサポート、3つの主要な時系列基礎モデルベンチマーク(fev-bench, TIME, GIFT-Eval)で最高スコアを記録。
  • モデルサイズ – 主なチェックポイントは3.3億パラメータ。軽量版(2.5)は2億パラメータで利用可能。
  • 長文脈 – 最大16,000トークン(2.5)およびフルモデルで15,360トークンまで対応し、長い履歴を考慮した予測が可能。
  • 分位数予測 – オプションの3,000万パラメータヘッドにより、最大1,000ステップの分位数予測(デフォルトで9分位)が可能。
  • バックエンド – PyTorch(標準)とMLX(Apple silicon専用)をサポート。数値的に一致した結果を提供。
  • 統合ポイント – Google Cloud製品(BigQuery ML、Vertex Model Garden)およびGoogle Sheetsでも利用可能(エンドユーザー向け)。
  • 微調整 – HuggingFace Transformers + PEFT(LoRA)を使用した例題スクリプトで、特定の時系列にモデルを適応可能。
  • エージェント対応AGENTS.md ファイルに、自律エージェントからTimesFMを呼び出す方法が記載されています。

一般的な利用例

分野 TimesFMの活用方法
ビジネス予測(売上、需要、在庫) 新製品ラインのゼロショット予測;過去の売上データで微調整して精度向上
エネルギー・公共事業 天気共変量を含む多変量の負荷および価格時系列を同時に予測
金融 宏観経済共変量を条件として複数資産価格時系列を予測
IoT/センサデータ 設備の健全性監視に向けた長期間予測
迅速なプロトタイピング コードを書かずにBigQuery MLやSheetsで即座に利用可能

クイックスタート(Python)

# ライブラリのインストール(バックエンドを選択)
pip install "timesfm[torch]"      # PyTorch(CPU/GPU)
# または
pip install "timesfm[mlx]"        # Apple silicon、PyTorch不要
import numpy as np
from timesfm3 import TimesFM3Evaluator, ModelConfig

cfg = ModelConfig(
    checkpoint_path="google/timesfm-3.0-pytorch",
    per_core_batch_size=32,
    device="cuda"               # または "cpu" / "mlx"
)
forecaster = TimesFM3Evaluator(cfg)

# 単変量の例
ts = np.sin(np.linspace(0, 2*np.pi, 100)).astype(np.float32)
out = forecaster.predict_batch([ts], horizon=12, return_quantiles=True)[0]
print(out.forecast.shape)   # (12,)
print(out.quantiles.shape)  # (12, 9)

多変量時系列の場合は、(num_variates, context_len) 配列とオプションの共変量配列をREADMEに従って渡してください。


微調整(LoRA) – ざっくり概要

# リポジトリをクローンして編集可能にインストール
git clone https://github.com/google-research/timesfm.git
cd timesfm
uv venv && source .venv/bin/activate
uv pip install -e .[torch]
# timesfm-forecasting/examples/finetuning/ からの例
from transformers import AutoModelForCausalLM, Trainer, TrainingArguments
from peft import LoraConfig, get_peft_model

model = AutoModelForCausalLM.from_pretrained("google/timesfm-3.0-pytorch")
peft_cfg = LoraConfig(r=8, lora_alpha=32, target_modules=["c_attn"])
model = get_peft_model(model, peft_cfg)
# …(context, target)ペアのDatasetを準備してTrainerを実行…

リポジトリには実行可能な finetuning スクリプトとユニットテストが含まれています。


ライセンス

  • ソースコード – Apache-2.0(自由に使用・変更・再配布可能)。
  • 事前学習済み重み – バージョン≤2.5はApache-2.0。バージョン3.0の重みは別途の非営利ライセンス(timesfm-non-commercial-license-v1.0)でリリースされ、Googleとの別途契約なしに商業的・本番環境での展開は禁止されています。

制限と注意点

  1. 商業利用制限 – 最新のチェックポイント(3.0)は、Googleからのライセンス取得なしに収益を生む製品では使用不可。
  2. ハードウェア要件 – フルサイズの3.3億パラメータモデルはGPUで最適に動作。MLXバックエンドはApple siliconに限定。
  3. ゼロショット性能 – ベンチマークで優れた性能を発揮するが、分野特有のデータは微調整によりさらに向上する可能性あり。
  4. 文脈の切り捨て – モデルの global_context(15,360トークン)を超える文脈は自動的に切り捨てられ、非常に長い履歴が失われる可能性あり。
  5. 公式製品サポートなし – リポジトリは「Google公式製品ではない」と明記されており、バグ修正や更新はオープンソースコミュニティに依存。

詳細情報の入手先


結論 – TimesFMは、研究レベルの本格的な時系列予測用基礎モデルであり、PyTorchまたはMLXによる即時推論と、独自データへのモデル適応の道筋を提供しています。ドキュメントが充実し、ベンチマークで検証されており、Google Cloudサービスと統合されているため、多くの分野で高品質な予測が必要なユーザーにとって信頼できる選択肢です。

これを取り上げた記事

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト