许可证:apache-2.0
评估指标:
- 均方误差(mse)
- 平均绝对误差(mae)
- 平均绝对比例误差(mase)
- 加权分位数损失(wql)
- 连续分级概率评分(crps)
任务类型:时间序列预测
数据集:
- thuml/UTSD
- Salesforce/lotsa_data
- autogluon/chronos_datasets
标签:
- 时间序列
- 时序分析
- 预测
- 基础模型
- 预训练模型
- 生成模型
- 时序基础模型
日晷模型
🚀 动态(2025.05) 在GIFT-Eval基准测试中斩获MASE指标第一名。
🚀 动态(2025.05) 入选ICML 2025焦点论文(Top 2.6%)。
🚀 动态(2025.02) 在时间序列库数据集上实现零样本MSE/MAE最佳表现。

日晷是一系列生成式时间序列基础模型,能够对确定性预测和概率预测进行零样本推理。基础版本通过1万亿时间点数据预训练,参数量达1.28亿。详见研究论文。

整体架构:输入时序被分割为片段标记,通过嵌入层转换原始连续值。片段嵌入输入仅含解码器的Transformer,该加速稳定版本可学习标记表征。模型通过TimeFlow损失函数优化——这种参数化损失函数基于学习表征建立每标记的条件概率分布,在流匹配框架下生成多组合理预测。
日晷模型可视为ARMA(自回归滑动平均)模型的扩展:Transformer学习自回归标记表征,TimeFlow以此为基础将随机噪声转化为非确定性预测。
快速开始
pip install transformers==4.40.1 # 推荐使用该版本与Python 3.10确保兼容性
import torch
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained('thuml/sundial-base-128m', trust_remote_code=True)
batch_size, lookback_length = 1, 2880
seqs = torch.randn(batch_size, lookback_length)
forecast_length = 96
num_samples = 20
output = model.generate(seqs, max_new_tokens=forecast_length, num_samples=num_samples)
print(output.shape)
更多分位数与置信区间预测示例详见代码笔记本。
评估表现
我们在以下基准测试中取得领先:
我们持续优化模型,欢迎提出建议与典型案例。
推理耗时
- 硬件:Apple M1 Pro CPU(16GB内存)
回溯长度 |
预测长度 |
生成样本数 |
推理耗时 |
加速方案 |
672 |
16 |
1 |
249毫秒 |
- |
2880 |
16 |
1 |
510毫秒 |
FlashAttention |
2880 |
720 |
1 |
510毫秒 |
多片段预测 |
2880 |
1440 |
1 |
789毫秒 |
KV缓存 |
2880 |
720 |
20 |
949毫秒 |
共享条件 |
技术规格
- 架构:因果Transformer(仅解码器)
- 预训练规模:10320亿时间点
- 上下文长度:最高2880
- 重归一化:默认开启
- 片段长度:16
- 多片段预测长度:720
- 参数量:1.28亿
- 层数:12
- 精度:FP32
- 加速技术:KV缓存+FlashAttention+共享条件
致谢
本研究受国家自然科学基金(62022050、U2342217)、北京信息科学与技术国家研究中心创新基金(BNR2024RC01010)及大数据软件国家工程研究中心支持。模型构建基于互联网公开时序数据集,感谢所有数据贡献团队与个人。
引用
@article{liu2025sundial,
title={日晷:高性能时间序列基础模型家族},
author={刘勇 and 秦果 and 史志远 and 陈志 and 杨才音 and 黄向东 and 王建民 and 龙明盛},
journal={arXiv预印本 arXiv:2502.00816},
year={2025}
}
联系
如有疑问或使用需求,请联系:
- 刘勇(liuyong21@mails.tsinghua.edu.cn)
- 秦果(qinguo24@mails.tsinghua.edu.cn)
许可证
本模型采用Apache-2.0许可证授权。