モデル概要
モデル特徴
モデル能力
使用事例
🚀 Tiny Time Mixer (TTM) 研究用モデルカード
TinyTimeMixers (TTMs) は、IBM Researchによってオープンソース化された、多変量時系列予測用のコンパクトな事前学習モデルです。モデルサイズは100万パラメータから始まり、TTM(NeurIPS 24に採択)は時系列予測用の世界初の「微小」事前学習モデルの概念を導入しました。
このモデルカードには、研究用途のみのモデルウェイトが含まれており、論文に掲載された結果の完全な再現性が保証されています。ただし、商用および企業用途のTTMモデルウェイトを探している場合は、こちらのgraniteリリースを参照してください。
TTMは、ゼロショットおよびフューショット予測において、数十億のパラメータを必要とするいくつかの人気のあるベンチマークを上回っています。TTMは軽量な予測モデルで、様々な拡張手法を用いて公開されている時系列データで事前学習されています。TTMは最先端のゼロショット予測を提供し、学習データのわずか5%で多変量予測用に簡単にファインチューニングでき、競争力を発揮します。詳細については、論文を参照してください。
現在のオープンソースバージョンは、分単位から時間単位の解像度(例:10分、15分、1時間)のポイント予測ユースケースをサポートしています。
TTMを使用したゼロショット、ファインチューニング、推論タスクは、1台のGPUマシンまたはラップトップでも簡単に実行できます!!
🚀 クイックスタート
このモデルは時系列予測に特化しており、ゼロショットおよびフューショット予測において高い性能を発揮します。以下のセクションでは、モデルの詳細、使用方法、ベンチマーク結果などを説明します。
✨ 主な機能
- 微小な事前学習モデル:モデルサイズが100万パラメータから始まり、非常にコンパクトで高速です。
- 高精度な予測:ゼロショットおよびフューショット予測において、数十億のパラメータを必要とするベンチマークを上回ります。
- 軽量で高速:公開されている時系列データで事前学習されており、少量のデータでもファインチューニングが可能です。
- 多様な予測設定:各事前学習モデルは特定の予測設定に特化しており、より正確な結果をもたらします。
- 多変量予測:チャネル独立およびチャネル混合アプローチをサポートし、外部データおよびカテゴリデータの注入も可能です。
📚 ドキュメント
モデルの説明
TTMは「焦点を絞った事前学習モデル」のカテゴリに属しており、各事前学習TTMは特定の予測設定(コンテキスト長と予測長によって決まる)に特化しています。すべての予測設定をサポートする1つの巨大なモデルを構築する代わりに、それぞれ特定の予測設定に焦点を当てた小さな事前学習モデルを構築するアプローチを採用しています。これにより、より正確な結果が得られ、モデルが非常に小さく高速になり、多くのリソースを必要とせずに簡単にデプロイできます。
したがって、このモデルカードでは、実際の多くの一般的な予測設定に対応できるいくつかの事前学習TTMをリリースする予定です。さらに、ソースコードと事前学習スクリプトも公開しており、ユーザーは独自のデータでモデルを事前学習することができます。TTMの事前学習は非常に簡単で高速で、従来のアプローチでは数日または数週間かかっていたのに対し、1日以内で可能です。
各事前学習モデルは、このモデルカードの異なるブランチ名でリリースされます。必要なモデルにアクセスするには、ブランチ名を指定したノートブックを使用してください。
モデルのリリース(モデルが保存されているブランチ名とともに)
- 512 - 96 - ft - r2:過去512の時点(コンテキスト長)を与えると、このモデルは未来の次の96の時点(予測長)まで予測できます。(ブランチ名: main)
- 1024 - 96 - ft - r2:過去1024の時点(コンテキスト長)を与えると、このモデルは未来の次の96の時点(予測長)まで予測できます。(ブランチ名: 1024 - 96 - ft - r2)[[ベンチマーク]]
- 1536 - 96 - ft - r2:過去1536の時点(コンテキスト長)を与えると、このモデルは未来の次の96の時点(予測長)まで予測できます。(ブランチ名: 1536 - 96 - ft - r2)
- 同様に、最大720の時点までの予測長に対応するモデルもリリースされています。これらのブランチ名は次のとおりです:
512 - 192 - ft - r2
,1024 - 192 - ft - r2
,1536 - 192 - ft - r2
,512 - 336 - r2
,512 - 336 - ft - r2
,1024 - 336 - ft - r2
,1536 - 336 - ft - r2
,512 - 720 - ft - r2
,1024 - 720 - ft - r2
,1536 - 720 - ft - r2
- 入力コンテキスト長と予測長の要件に基づいて必要なモデルを自動的に選択するには、[[get_model]](https://github.com/ibm - granite/granite - tsfm/blob/main/tsfm_public/toolkit/get_model.py)ユーティリティを使用してください。
- 現在、3つのコンテキスト長(512、1024、1536)と4つの予測長(96、192、336、720)がサポートされています。ユーザーは許可された3つのコンテキスト長のいずれかを入力として提供する必要がありますが、get_model()で最大720までの任意の予測長を指定して必要なモデルを取得できます。
ベンチマーク
TTMは、ゼロショット/フューショット予測において、TimesFM、Moirai、Chronos、Lag - Llama、Moment、GPT4TS、TimeLLM、LLMTimeなどの人気のあるベンチマークを上回り、計算要件を大幅に削減します。さらに、TTMは軽量で、CPUのみのマシンでも実行できるため、使いやすさが向上し、リソースが制限された環境での普及が促進されます。詳細については、論文を参照してください。
- 論文中で言及されているTTM - Bは、コンテキスト長512のモデルに対応しています。
- 論文中で言及されているTTM - Eは、コンテキスト長1024のモデルに対応しています。
- 論文中で言及されているTTM - Aは、コンテキスト長1536のモデルに対応しています。
なお、Granite TTMモデルは、法務チームによって承認された明確な商用ライセンスを持つデータセットでのみ事前学習されています。そのため、このリリースで使用されている事前学習データセットは、研究論文で使用されているものとわずかに異なり、公開された結果と比較してモデルの性能にわずかな違いが生じる可能性があります。詳細については、論文を参照してください。
ベンチマークスクリプト: [こちら](https://github.com/ibm - granite/granite - tsfm/blob/main/notebooks/hfdemo/tinytimemixer/full_benchmarking/research - use - r2.sh)
推奨使用方法
- モデルにデータを入力する前に、各チャネルのデータを外部で独立して標準化する必要があります(データスケーリング用のデータ処理ユーティリティであるTSPを参照)。
- 現在のオープンソースバージョンは、分単位および時間単位の解像度(例:10分、15分、1時間)のみをサポートしています。他の低解像度(例:週単位または月単位)は、モデルが最小コンテキスト長512または1024を必要とするため、現時点ではこのバージョンではサポートされていません。
- 短いデータセットのコンテキスト長を仮想的に増やすためにアップサンプリングまたは先頭にゼロを追加することは推奨されず、モデルの性能に影響を与えます。
モデルの詳細
TTMアーキテクチャとベンチマークの詳細については、論文を参照してください。
TTM - 1は現在、2つのモードをサポートしています。
- ゼロショット予測:事前学習モデルをターゲットデータに直接適用して、初期予測を取得します(学習なし)。
- ファインチューニング予測:事前学習モデルをターゲットデータの一部でファインチューニングして、予測をさらに改善します。
TTMモデルは非常に小さく高速であるため、数分で利用可能なターゲットデータでモデルをファインチューニングして、より正確な予測を得ることが実際には非常に簡単です。
現在のリリースは、チャネル独立およびチャネル混合アプローチの両方を通じて多変量予測をサポートしています。デコーダチャネル混合は、ファインチューニング中に有効にすることができ、時系列変数間の強いチャネル相関パターンを捉えることができます。これは、既存のモデルに欠けている重要な機能です。
さらに、TTMは外部データ注入およびカテゴリデータ注入もサポートしています。
モデルのソース
- リポジトリ: https://github.com/ibm - granite/granite - tsfm/tree/main/tsfm_public/models/tinytimemixer
- 論文: https://arxiv.org/pdf/2401.03955.pdf
TTMに関するブログや記事
- [ウィキ](https://github.com/ibm - granite/granite - tsfm/wiki)を参照してください。
💻 使用例
# HFモデルハブからモデルを読み込み、revisionフィールドにブランチ名を指定する
model = TinyTimeMixerForPrediction.from_pretrained(
"https://huggingface.co/ibm/TTM", revision="main"
)
# ゼロショット予測を行う
zeroshot_trainer = Trainer(
model=model,
args=zeroshot_forecast_args,
)
zeroshot_output = zeroshot_trainer.evaluate(dset_test)
# バックボーンを凍結し、フューショットまたはファインチューニングを有効にする
# バックボーンを凍結する
for param in model.backbone.parameters():
param.requires_grad = False
finetune_forecast_trainer = Trainer(
model=model,
args=finetune_forecast_args,
train_dataset=dset_train,
eval_dataset=dset_val,
callbacks=[early_stopping_callback, tracking_callback],
optimizers=(optimizer, scheduler),
)
finetune_forecast_trainer.train()
fewshot_output = finetune_forecast_trainer.evaluate(dset_test)
引用
このモデルまたは関連するアーキテクチャ/アプローチをあなたの研究で使用する場合は、以下の論文を引用してください。
BibTeX:
@inproceedings{ekambaram2024tinytimemixersttms,
title={Tiny Time Mixers (TTMs): Fast Pre-trained Models for Enhanced Zero/Few-Shot Forecasting of Multivariate Time Series},
author={Vijay Ekambaram and Arindam Jati and Pankaj Dayama and Sumanta Mukherjee and Nam H. Nguyen and Wesley M. Gifford and Chandra Reddy and Jayant Kalagnanam},
booktitle={Advances in Neural Information Processing Systems (NeurIPS 2024)},
year={2024},
}
モデルカードの作成者
Vijay Ekambaram, Arindam Jati, Pankaj Dayama, Wesley M. Gifford, Sumanta Mukherjee, Chandra Reddy and Jayant Kalagnanam
IBM公開リポジトリの開示
このリポジトリ内のすべてのコンテンツ(コードを含む)は、関連するオープンソースソフトウェアライセンスの下でIBMによって提供されています。IBMは、機能強化、更新、またはサポートを提供する義務を負っていません。IBMの開発者は、このコードをオープンソースプロジェクトとして(IBMの製品ではなく)作成しており、IBMは品質やセキュリティのレベルについて主張せず、今後このコードを維持する予定はありません。
📄 ライセンス
このモデルはCC BY - NC - SA 4.0ライセンスの下で提供されています。




