(ICLR'24) Time-LLM: 通过重新编程大型语言模型进行时间序列预测
[论文链接] [YouTube 讲解 1] [YouTube 讲解 2] [Medium 博客]
[机器之心中文解读] [量子位中文解读] [时序人中文解读] [AI算法厨房中文解读] [知乎中文解读]
🙋 如果您发现任何错误或有任何建议,请告诉我们!
🌟 如果您觉得这个资源有帮助,请考虑给这个仓库点个星并引用我们的研究:
@inproceedings{jin2023time,
title={{Time-LLM}: Time series forecasting by reprogramming large language models},
author={Jin, Ming and Wang, Shiyu and Ma, Lintao and Chu, Zhixuan and Zhang, James Y and Shi, Xiaoming and Chen, Pin-Yu and Liang, Yuxuan and Li, Yuan-Fang and Pan, Shirui and Wen, Qingsong},
booktitle={International Conference on Learning Representations (ICLR)},
year={2024}
}
更新
🚩 新闻 (2024年5月): Time-LLM 已被纳入 NeuralForecast。特别感谢贡献者 @JQGoh 和 @marcopeix!
🚩 新闻 (2024年3月): Time-LLM 已升级为一个通用框架,可重新利用各种语言模型进行时间序列预测。它现在默认支持 Llama-7B,并包括与两个额外的较小 PLM(GPT-2 和 BERT)的兼容性。只需调整 --llm_model
和 --llm_dim
即可切换backbone。
简介
Time-LLM 是一个重新编程框架,用于将 LLM 重新用于通用时间序列预测,同时保持backbone语言模型不变。 值得注意的是,我们表明时间序列分析(如预测)可以被视为另一个"语言任务",可以通过现成的 LLM 有效解决。
- Time-LLM 包含两个关键组件:(1) 将输入时间序列重新编程为更适合 LLM 的文本原型表示,(2) 用声明性提示(如领域专家知识和任务指令)增强输入上下文,以指导 LLM 推理。
要求
使用 MiniConda 中的 python 3.11
- torch==2.2.2
- accelerate==0.28.0
- einops==0.7.0
- matplotlib==3.7.0
- numpy==1.23.5
- pandas==1.5.3
- scikit_learn==1.2.2
- scipy==1.12.0
- tqdm==4.65.0
- peft==0.4.0
- transformers==4.31.0
- deepspeed==0.14.0
- sentencepiece==0.2.0
安装所有依赖项:
pip install -r requirements.txt
数据集
您可以从 [Google Drive] 访问经过良好预处理的数据集,然后将下载的内容放在 ./dataset
下
快速演示
- 下载数据集并将它们放在
./dataset
下 - 调整模型。我们在
./scripts
文件夹下提供了五个实验脚本作为演示目的。例如,您可以通过以下方式评估 ETT 数据集:
bash ./scripts/TimeLLM_ETTh1.sh
bash ./scripts/TimeLLM_ETTh2.sh
bash ./scripts/TimeLLM_ETTm1.sh
bash ./scripts/TimeLLM_ETTm2.sh
详细用法
请参阅 run_main.py
、run_m4.py
和 run_pretrain.py
以获取每个超参数的详细描述。
进一步阅读
1, 时间序列分析的基础模型:教程与综述,发表于 KDD 2024。
作者: Yuxuan Liang, Haomin Wen, Yuqi Nie, Yushan Jiang, Ming Jin, Dongjin Song, Shirui Pan, Qingsong Wen*
@inproceedings{liang2024foundation,
title={Foundation models for time series analysis: A tutorial and survey},
author={Liang, Yuxuan and Wen, Haomin and Nie, Yuqi and Jiang, Yushan and Jin, Ming and Song, Dongjin and Pan, Shirui and Wen, Qingsong},
booktitle={ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD 2024)},
year={2024}
}
2, 立场论文:大型语言模型能告诉我们关于时间序列分析的什么,发表于 ICML 2024。
作者: Ming Jin, Yifan Zhang, Wei Chen, Kexin Zhang, Yuxuan Liang*, Bin Yang, Jindong Wang, Shirui Pan, Qingsong Wen*
@inproceedings{jin2024position,
title={Position Paper: What Can Large Language Models Tell Us about Time Series Analysis},
author={Ming Jin and Yifan Zhang and Wei Chen and Kexin Zhang and Yuxuan Liang and Bin Yang and Jindong Wang and Shirui Pan and Qingsong Wen},
booktitle={International Conference on Machine Learning (ICML 2024)},
year={2024}
}
3, 时间序列和时空数据的大型模型:综述与展望,发表于 arXiv 2023。 [GitHub 仓库]
作者: Ming Jin, Qingsong Wen*, Yuxuan Liang, Chaoli Zhang, Siqiao Xue, Xue Wang, James Zhang, Yi Wang, Haifeng Chen, Xiaoli Li (IEEE Fellow), Shirui Pan*, Vincent S. Tseng (IEEE Fellow), Yu Zheng (IEEE Fellow), Lei Chen (IEEE Fellow), Hui Xiong (IEEE Fellow)
@article{jin2023lm4ts,
title={Large Models for Time Series and Spatio-Temporal Data: A Survey and Outlook},
author={Ming Jin and Qingsong Wen and Yuxuan Liang and Chaoli Zhang and Siqiao Xue and Xue Wang and James Zhang and Yi Wang and Haifeng Chen and Xiaoli Li and Shirui Pan and Vincent S. Tseng and Yu Zheng and Lei Chen and Hui Xiong},
journal={arXiv preprint arXiv:2310.10196},
year={2023}
}
4, 时间序列中的 Transformer:综述,发表于 IJCAI 2023。 [GitHub 仓库]
作者: Qingsong Wen, Tian Zhou, Chaoli Zhang, Weiqi Chen, Ziqing Ma, Junchi Yan, Liang Sun
@inproceedings{wen2023transformers,
title={Transformers in time series: A survey},
author={Wen, Qingsong and Zhou, Tian and Zhang, Chaoli and Chen, Weiqi and Ma, Ziqing and Yan, Junchi and Sun, Liang},
booktitle={International Joint Conference on Artificial Intelligence(IJCAI)},
year={2023}
}
5, TimeMixer:用于时间序列预测的可分解多尺度混合,发表于 ICLR 2024。 [GitHub 仓库]
作者: Shiyu Wang, Haixu Wu, Xiaoming Shi, Tengge Hu, Huakun Luo, Lintao Ma, James Y. Zhang, Jun Zhou
@inproceedings{wang2023timemixer,
title={TimeMixer: Decomposable Multiscale Mixing for Time Series Forecasting},
author={Wang, Shiyu and Wu, Haixu and Shi, Xiaoming and Hu, Tengge and Luo, Huakun and Ma, Lintao and Zhang, James Y and ZHOU, JUN},
booktitle={International Conference on Learning Representations (ICLR)},
year={2024}
}
致谢
我们的实现采用了 Time-Series-Library 和 OFA (GPT4TS) 作为代码基础,并对其进行了广泛修改以适应我们的目的。我们感谢作者们分享他们的实现和相关资源。