PatchTSMixer 已加入 Hugging Face Transformers – 发布与快速入门指南
TL;DR
PatchTSMixer 是 IBM Research 推出的基于轻量级 MLP‑Mixer 的时间序列模型,现已在 Hugging Face Transformers 库中提供,能够实现快速、内存高效的预测、分类和回归,并达到最先进的准确度。
What is PatchTSMixer?
PatchTSMixer 将多变量时间序列输入划分为固定大小的补丁,对其进行嵌入,并使用一系列 MLP‑Mixer 层处理得到的张量,这些层能够学习补丁之间、补丁内部以及通道之间的相关性。残差连接和门控注意力模块帮助模型聚焦于显著特征。该架构同时支持掩码预训练和直接预测,并可配置多种注意力块。
Performance Claims
根据原始 IBM Research 论文,PatchTSMixer 将预测准确率相较于现有的 MLP 和 Transformer 基线提升 8 %–60 %,并在最近的 Patch‑Transformer 模型上超出 1 %–2 %,同时使用的内存和运行时间减少 2 ×–3 ×。
Getting Started: Installation
要使用 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
如果导入成功,环境已准备就绪。
Example 1 – Direct Forecasting on the Electricity Dataset
该 notebook 演示了完整的训练流水线:
- 种子设置 – 使用
set_seed(42)实现可复现性。 - 数据加载 – 使用 pandas 读取 CSV;根据索引范围将列划分为训练/验证/测试集。
- 预处理 –
TimeSeriesPreprocessor对每个窗口进行缩放(默认 "std"),并生成长度为 512 的滑动上下文窗口。 - 模型配置 – 示例超参数:
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) - 训练 – 使用 Hugging Face
Trainer,配合提前停止(耐心 10)和 MSE 损失。示例训练日志显示损失从 0.247 降至约 0.12。 - 评估 – 测试 MSE 为 0.128,在 Electricity 基准上被报告为最先进水平。
- 保存 – 通过
trainer.save_model()存储模型检查点。
Example 2 – Transfer Learning to ETTh2
相同的预训练模型可以复用于不同的数据集:
- 零样本 – 在 ETTh2 上直接评估得到 MSE 0.304,可与 SOTA 相媲美。
- 线性探测 – 冻结主干,仅训练线性头部,将 MSE 降至 0.271。
- 完整微调 – 解冻所有参数后 MSE 仅略微提升至 0.273,表明预训练特征已非常有效。
所有三个阶段均使用相同的
TrainerAPI,并通过调整TrainingArguments(更低学习率、提前停止耐心 5)实现。
Key Takeaways
- PatchTSMixer 现已成为 Transformers 库中的一等模型,简化了在现有 HF 流程中的集成。
- 其 MLP‑Mixer 主干在提供强大预测准确度的同时,计算开销远低于传统 Transformer。
- 该模型同时支持直接训练和迁移学习,使得在新时间序列领域能够实现零样本和微调后的性能。
- 完整的端到端 notebook 包含数据准备、模型配置、训练、评估和检查点保存,为实践者提供可直接运行的参考。
Resources
- 原始论文:TSMixer: Lightweight MLP‑Mixer Model for Multivariate Time Series Forecasting(IBM Research)– https://arxiv.org/pdf/2306.09364.pdf
- Hugging Face 模型文档:https://huggingface.co/docs/transformers/main/en/model_doc/patchtsmixer
- 完整 notebook:https://colab.research.google.com/github/huggingface/notebooks/blob/main/examples/patch_tsmixer.ipynb
SUMMARY: PatchTSMixer 是 IBM Research 推出的轻量级 MLP‑Mixer 时间序列模型,现已在 Hugging Face Transformers 中发布,提供最先进的预测能力,同时显著降低内存和运行时间成本。
TITLE: PatchTSMixer 已加入 Hugging Face Transformers – 发布与快速入门指南
Sources
- OriginalPatchTSMixer in HuggingFace