AB
AiBoss
project

Timestral - 面向零样本预测的时间序列基础模型家族

Timestral 是 mistralai 发布的时间序列基础模型家族,提供 5M 到 209M 四种参数规模,支持零样本预测、协变量与 21 分位概率输出。本文介绍 209M 检查点的能力、使用方式与许可边界。

Timestral 是 mistralai 发布的一个时间序列基础模型家族,定位是零样本(zero-shot)预测:用户不需要在自己的数据上重新训练,就可以直接把历史序列交给模型,得到未来若干步的预测结果。据项目说明,该家族包含 5M、28M、123M 和 209M 四种参数规模,本次介绍的是其中的 209M 检查点。它适合需要快速搭建预测基线、又不想为每条序列单独调参的工程团队与研究人员,也适合评估时间序列基础模型在自有业务数据上表现的数据科学岗位。

维护者与状态

该仓库由 mistralai 维护,托管在 Hugging Face 上。仓库创建时间为 2026-10-14,最后更新时间为 2026-10-15,属于刚发布不久的新项目。截至 2026-10-20 的数据读取时间,近 30 天下载量为 2601 次,点赞数为 196。事实表中没有给出正式 release 信息,因此这里不对版本号作任何推断;如需确认发布状态,应以仓库页面为准。

主要能力

以下能力均来自项目自述(模型卡),未经本站独立验证:

  • 任务覆盖:支持单变量与多变量预测,可接受仅历史协变量(past-only covariates)和已知未来协变量(known-future covariates),协变量可以是数值型或类别型,类别型协变量会做目标编码(target encoding)。
  • 概率输出:模型一次输出 21 个分位数(0.01、0.05、0.1、0.15 一直到 0.85、0.9、0.95、0.99),因此除了点预测,也能给出区间估计。
  • 上下文与预测长度:据项目说明,模型最多接受 32,768 个历史时间步(对应 1,024 个 patch),单次前向传播最多预测 1,024 步(32 个 patch)。更长的预测horizon 会分块进行,每个块的中位数预测会被追加到上下文中继续滚动。
  • 架构:项目自述为基于 patch 的 transformer,包含时间注意力(time attention)与变量注意力(variate attention),24 层,嵌入维度 768,每个 patch 覆盖 32 个时间步;每个 patch 由数值本身及其缺失值指示位共同嵌入。
  • 缺失值处理:缺失值以 NaN 标记,由模型内部处理,不需要用户先做插补。
  • 推理环境:据项目说明,推理基于 PyTorch,可在 CPU 或 GPU 上运行。

模型卡中还列出了该模型在 GIFT-Eval、TIME、fev-bench 三个基准上的零样本成绩,以及与同家族其他规模版本的对比。这些数字均为项目方自述,本站未做复现,此处不转述具体数值;有评估需求的读者应自行在目标数据上验证。

使用入口

模型权重与模型卡发布在 Hugging Face:mistralai/Timestral-209M。

据项目说明,安装方式有两种。其一是直接从 GitHub 安装 Python 包,要求 Python 3.10 及以上、torch 2.4 及以上:

pip install git+https://github.com/mistralai/timestral.git

其二是克隆仓库后用 uv 按 uv.lock 中锁定的版本安装:

git clone https://github.com/mistralai/timestral.git && cd timestral
uv sync --frozen
source .venv/bin/activate

调用侧的核心接口是 TimestralForecaster。模型卡给出的示例先用 from_pretrained 加载检查点并自动选择 CUDA 或 CPU,再对一段历史序列调用 forecast 指定预测长度,最后从返回对象上取中位数以及指定分位数:

import numpy as np
import torch
from timestral import TimestralForecaster

model = TimestralForecaster.from_pretrained(
    "mistralai/Timestral-209M",
    device="cuda" if torch.cuda.is_available() else "cpu"
)

context = np.random.default_rng(42).standard_normal(1000).cumsum()
forecast = model.forecast(context, prediction_length=96)
median = forecast.median
lower, upper = forecast.quantile(0.1), forecast.quantile(0.9)

上述示例使用合成数据,仅演示调用形状,不代表真实业务数据上的效果。

许可与限制

事实表将该仓库的许可证标记为 other,即自定义许可,具体条款以仓库 LICENSE 文件为准。模型卡中的说法是模型以「Modified MIT license」发布,并附加了一条限制:不得以侵犯、盗用或以其他方式违反第三方权利(包括知识产权)的方式使用该模型。由于这不是标准 MIT,使用前应自行阅读完整条款,本站不对其是否可商用等问题下结论。

使用边界方面,据项目说明可以确认的几点是:模型面向零样本预测,不提供针对特定数据集的微调流程说明;单次前向的预测上限为 1,024 步,更长horizon 依赖分块滚动,误差可能随块数累积;上下文上限为 32,768 步,超出部分需要用户自行截断或聚合。推理依赖 PyTorch 2.4 及以上与 Python 3.10 及以上,未在更低版本上给出兼容性说明。模型卡提到的技术报告标注为「coming soon」,撰写时尚未发布,因此架构细节与训练数据构成只能以模型卡中的简述为准。