赛事: 昇腾 Model Agent 模型适配大赛(第二季) 引擎: torch_npu + transformers 硬件: Ascend 310P / 910B 标签:
npuascendpytorchtransformerstime-series-forecasting
Sundial(Timer 3.0)是生成式时序基础模型(ICML 2025 Oral),预训练于 1 万亿时间点。 128M 版本采用 Decoder-only Causal Transformer + TimeFlow 流匹配生成框架, 支持点预测与概率预测(多样本采样,可求均值/分位数/置信区间)。
| 属性 | 值 |
|---|---|
| 原始模型 | https://ai.gitcode.com/hf_mirrors/thuml/sundial-base-128m |
| 参数量 | 128 M |
| 任务类型 | 时序预测(点预测 / 概率预测) |
| 输入格式 | 一维时间序列(lookback 长度,默认 2880) |
| 输出格式 | 未来预测(多样本,mean/p05/p95) |
pip install -r requirements.txt -i https://repo.huaweicloud.com/repository/pypi/simple/⚠️ 本仓库不包含模型权重(交付件仅
inference.py/readme.md/requirements.txt/assets/), 推理前必须先从原始模型仓单独下载权重。
# 1. 下载模型权重(仓库不含权重,必须单独下载)
git clone https://gitcode.com/hf_mirrors/thuml/sundial-base-128m.git ./sundial-base-128m
# 2. 运行 NPU 推理
python3 inference.py --model_path ./sundial-base-128m \
--input series.npy --lookback 2880 --forecast 96 \
--num_samples 5 --device npu:0 --output inference_result.jsonpython3 inference.py --model_path ./sundial-base-128m \
--input test_series.npy --lookback 2880 --forecast 96 \
--num_samples 5 --device npu:0 --output inference_result.json预期输出:
[Model Agent] ✅ NPU 设备就绪: Ascend310P3
[Model Agent] ✅ 模型加载完成 → npu:0
[Model Agent] ✅ 输入序列: 形状 (1, 2880), 回看 2880
[Model Agent] ✅ 预测完成: 形状 (1, 5, 96), 推理耗时 84.771s
[Model Agent] ✅ 结果已保存 → inference_result.json推理结果摘要:
{
"model": "thuml/sundial-base-128m",
"engine": "torch_npu",
"device": "npu:0",
"lookback_length": 2880,
"forecast_length": 96,
"num_samples": 5,
"inference_time_s": 84.771
}.
├── inference.py # NPU 推理脚本
├── readme.md # 本文件
├── requirements.txt # 依赖清单
└── assets/ # 截图素材本模型由 昇腾 Model Agent 自动完成 NPU 适配:
inference.py 内置兼容补丁
(DynamicCache seen_tokens/get_max_length/get_usable_length、_extract_past_from_model_output)F.scaled_dot_product_attention,全局替换为手动 matmul