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との別途契約なしに商業的・本番環境での展開は禁止されています。
制限と注意点
- 商業利用制限 – 最新のチェックポイント(3.0)は、Googleからのライセンス取得なしに収益を生む製品では使用不可。
- ハードウェア要件 – フルサイズの3.3億パラメータモデルはGPUで最適に動作。MLXバックエンドはApple siliconに限定。
- ゼロショット性能 – ベンチマークで優れた性能を発揮するが、分野特有のデータは微調整によりさらに向上する可能性あり。
- 文脈の切り捨て – モデルの
global_context(15,360トークン)を超える文脈は自動的に切り捨てられ、非常に長い履歴が失われる可能性あり。 - 公式製品サポートなし – リポジトリは「Google公式製品ではない」と明記されており、バグ修正や更新はオープンソースコミュニティに依存。
詳細情報の入手先
- 論文: A decoder-only foundation model for time-series forecasting (ICML 2024) – https://arxiv.org/abs/2310.10688
- モデルハブ: Hugging Faceコレクション – https://huggingface.co/collections/google/timesfm-release-66e4be5fdb56e960c1e482a6
- ブログ: README内のリンクからGoogle Researchブログ記事(高レベルな動機付け)
- ドキュメントと例:
timesfm-forecasting/ディレクトリにチュートリアル、エージェントスキルドキュメント、ユニットテストが含まれる。
結論 – TimesFMは、研究レベルの本格的な時系列予測用基礎モデルであり、PyTorchまたはMLXによる即時推論と、独自データへのモデル適応の道筋を提供しています。ドキュメントが充実し、ベンチマークで検証されており、Google Cloudサービスと統合されているため、多くの分野で高品質な予測が必要なユーザーにとって信頼できる選択肢です。
これを取り上げた記事
関連
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト