时间序列 Foundation 模型:Chronos 课堂作业

作业定位

这份作业直接接在下面两组材料之后完成:

目标不是让大家训练一个新模型,而是让大家亲手观察:

  1. 时间序列 foundation model 怎样进入真实行业场景
  2. zero-shot forecasting 在你自己的专业数据上到底表现如何
  3. 微调之后它会改善什么,又不会自动解决什么

作业目标

请基于现有的 Chronos 示例,完成一份 “本专业时间序列 zero-shot + fine-tune 对比实验”

你需要:

  1. 先跑通 ETTh1 的最小 demo
  2. 再换成一条和自己专业 / 课题相关的时间序列
  3. 先做 zero-shot 对比
  4. 再完成一次最小 fine-tune 对比
  5. 分析模型真正学到了什么、又没有学到什么

数据要求

请至少准备 2 组时间序列:

第 1 组:课程提供的基线数据

这一步的作用是:

第 2 组:你自己的专业相关时间序列

这一组是本次作业的重点。
请尽量选和你自己的专业、课题或实验最接近的序列。

例如:

要求并不高:

推荐完成路径

这份作业建议分成两个部分完成。

Part A:zero-shot 对比

第 0 步:先跑通示例

先运行:

cd 23/2-prog
./0-chronos-etth-demo.sh

确认你已经看懂:

第 1 步:复制一份自己的实验脚本

建议不要直接改原始示例。
你可以复制成一个新文件,例如:

my-chronos-demo.py

然后把自己的数据接进去。

第 2 步:先在自己的数据上做最小预测

至少要明确下面几个量:

第 3 步:做一个最小 zero-shot 对比

至少比较下面两组结果:

  1. ETTh1 + Chronos
  2. 你的专业序列 + Chronos

如果时间允许,可以再加一个简单 baseline,例如:

第 4 步:保留失败案例

请至少保留 2 个你认为不理想的结果。

例如:

Part B:最小 fine-tune 对比

第 5 步:先跑通课程提供的 fine-tune demo

先运行:

cd 23/4-prog
./0-finetune-chronos-etth.sh

这一步的作用是:

第 6 步:解释这套微调在做什么

请至少说清楚下面几件事:

第 7 步:完成一个 fine-tune 结果分析

这里不要求你一定自己把专业数据也做成可训练脚本。
最低要求是:

如果你有能力,也可以进一步把自己的专业序列也接入这个 fine-tune 流程。

第 8 步:把 zero-shot 和 fine-tune 放在一起比较

请明确回答:

  1. zero-shot 的价值是什么?
  2. fine-tune 带来了什么额外收益?
  3. fine-tune 之后,哪些边界仍然还在?

建议提交内容

请提交一个压缩包,包含:

  1. 你的脚本或 notebook
  2. zero-shot 结果图
  3. fine-tune 结果图
  4. 一页到两页短报告

短报告建议结构

1. 数据说明

2. 实验设置

3. 结果分析

请明确回答:

4. failure case

请至少给出 2 个失败案例,并说明:

评分重点

这份作业不按“误差最低”评分,更看重下面几件事:

  1. 是否真的把模型迁移到自己的专业序列上
  2. 是否完成了和 ETTh1 的对比
  3. 是否能读懂 zero-shot 和 fine-tune 两类结果图
  4. 是否看到了 zero-shot forecasting 的真实边界
  5. 是否理解了 fine-tune 改善了什么、又没改善什么

你真正要带走什么

如果做完后只记住一句话,那应该是:

时间序列 foundation model 的价值,不只是“能预测”,而是先给出一个可迁移 baseline,再看有没有必要继续微调。

所以这份作业真正训练的是: