PatchTSMixer 新增至 Hugging Face Transformers – 發布與快速入門指南

TL;DR

PatchTSMixer 是 IBM Research 推出的輕量級 MLP‑Mixer 為基礎的時間序列模型,現在已在 Hugging Face Transformers 函式庫中提供,可實現快速且記憶體高效的預測、分類與回歸,且具備最先進的準確度。

PatchTSMixer 是什麼?

PatchTSMixer 將多變量時間序列輸入切分為固定大小的 patch,對其進行嵌入,並使用一系列 MLP‑Mixer 層處理得到的張量,這些層學習 patch 之間、patch 內部以及通道之間的相關性。殘差連接與門控注意力模組協助模型聚焦於顯著特徵。此架構同時支援遮蔽式預訓練與直接預測,且可配置各種注意力模組。

效能聲稱

根據原始 IBM Research 論文,PatchTSMixer 相較於現有的 MLP 與 Transformer 基線提升預測準確度 8 %–60 %,並超越近期的 Patch‑Transformer 模型 1 %–2 %,同時使用的記憶體與執行時間僅為原來的 2 ×–3 ×

快速開始:安裝

要使用 PatchTSMixer,您需要兩個 Python 套件:

pip install git+https://github.com/IBM/tsfm.git   # IBM Time Series Foundation Model repository
pip install transformers                         # Hugging Face Transformers

快速驗證:

from transformers import PatchTSMixerConfig
from tsfm_public.toolkit.dataset import ForecastDFDataset

如果匯入成功,環境即已就緒。

範例 1 – 電力資料集的直接預測

此 notebook 示範完整的訓練流程:

  1. 種子設定 – 使用 set_seed(42) 以確保可重現性。
  2. 資料載入 – 使用 pandas 讀取 CSV;根據索引範圍將欄位分割為訓練、驗證與測試。
  3. 前處理TimeSeriesPreprocessor 會對每個視窗進行縮放(預設為 "std"),並產生長度為 512 的滑動上下文視窗。
  4. 模型設定 – 範例超參數:
    config = PatchTSMixerConfig(
        context_length=512,
        prediction_length=96,
        patch_length=8,
        patch_stride=8,
        num_input_channels=...,
        d_model=16,
        num_layers=8,
        expansion_factor=2,
        dropout=0.2,
        head_dropout=0.2,
        mode="common_channel",
        scaling="std",
    )
    model = PatchTSMixerForPrediction(config)
    
  5. 訓練 – 使用 Hugging Face Trainer 搭配早停(耐心度 10)與 MSE 損失函式。範例訓練日誌顯示損失從 0.247 下降至約 0.12。
  6. 評估 – 測試 MSE 為 0.128,在 Electricity 基準上屬於最先進水平。
  7. 儲存 – 透過 trainer.save_model() 儲存模型檢查點。

範例 2 – 轉移學習至 ETTh2

相同的預訓練模型可重新用於不同的資料集:

  • Zero‑shot – 在 ETTh2 上直接評估得到 MSE 0.304,與 SOTA 相當。
  • Linear probing – 冻結主幹僅訓練線性頭,將 MSE 降至 0.271
  • Full fine‑tuning – 解凍所有參數後 MSE 僅略微提升至 0.273,顯示預訓練特徵已相當有效。 所有三個階段皆使用相同的 Trainer API,並調整 TrainingArguments(較低的學習率、早停耐心度 5)。

主要結論

  • PatchTSMixer 現已成為 Transformers 函式庫中的一等模型,簡化了與現有 HF 流程的整合。
  • 其 MLP‑Mixer 主幹在提供強大預測準確度的同時,計算開銷遠低於傳統 Transformers。
  • 該模型同時支援直接訓練與轉移學習,讓新時間序列領域能夠實現 zero‑shot 與微調後的效能。
  • 完整的 notebook 包含資料準備、模型設定、訓練、評估與檢查點儲存,為實務工作者提供即用的參考範例。

資源

Sources