รหัสอย่างเป็นทางการสำหรับ ["TEMPO: หม้อแปลงไฟฟ้าที่ได้รับการฝึกอบรมล่วงหน้าแบบพร้อมท์สำหรับการพยากรณ์อนุกรมเวลา (ICLR 2024)"]
TEMPO เป็นหนึ่งใน โมเดลพื้นฐานอนุกรมเวลาแบบ โอเพ่นซอร์สรุ่นแรกๆ สำหรับการคาดการณ์เวอร์ชัน v1.0
ต.ค. 2024 : เราได้ปรับปรุงโครงสร้างโค้ดของเรา ทำให้ผู้ใช้สามารถดาวน์โหลดโมเดลที่ได้รับการฝึกล่วงหน้า และทำการอนุมานแบบ Zero-shot ด้วยโค้ดเพียงบรรทัดเดียว! ตรวจสอบการสาธิตของเราสำหรับรายละเอียดเพิ่มเติม จำนวนการดาวน์โหลดโมเดลของเราบน HuggingFace นั้นติดตามได้แล้ว!
มิถุนายน 2024 : เราได้เพิ่มการสาธิตสำหรับการจำลองการทดลองแบบ Zero-Shot ใน Colab นอกจากนี้เรายังเพิ่มการสาธิตการสร้างชุดข้อมูลลูกค้าและทำการอนุมานโดยตรงผ่านโมเดลพื้นฐานที่ได้รับการฝึกอบรมล่วงหน้าของเรา: Colab
พฤษภาคม 2024 : TEMPO ได้เปิดตัวการสาธิตออนไลน์ที่ใช้ GUI ซึ่งช่วยให้ผู้ใช้สามารถโต้ตอบกับโมเดลพื้นฐานของเราได้โดยตรง!
พฤษภาคม 2024 : TEMPO เผยแพร่โมเดลรองพื้นสำเร็จรูป 80M ใน HuggingFace!
พฤษภาคม 2567 : ? เราได้เพิ่มโค้ดสำหรับแบบจำลอง TEMPO การฝึกอบรมล่วงหน้าและการอนุมาน คุณสามารถค้นหาการสาธิตสคริปต์ก่อนการฝึกอบรมได้ในโฟลเดอร์นี้ เรายังเพิ่มสคริปต์สำหรับการสาธิตการอนุมานด้วย
มี.ค. 2567 : ? เปิดตัวชุดข้อมูล TETS จาก S&P 500 ที่ใช้ในการทดลองหลายรูปแบบใน TEMPO
มี.ค. 2567 : ? TEMPO เผยแพร่รหัสโครงการและด่านฝึกล่วงหน้าออนไลน์!
ม.ค. 2024 : ICLR ยอมรับกระดาษ TEMPO แล้ว!
ต.ค. 2023 : กระดาษ TEMPO เผยแพร่ใน Arxiv!
conda create -n tempo python=3.8
conda activate tempo
pip install -r requirements.txt
ตัวอย่างที่ทำให้เพรียวลมแสดงวิธีการพยากรณ์โดยใช้ TEMPO:
# Third-party library imports
import numpy as np
import torch
from numpy . random import choice
# Local imports
from models . TEMPO import TEMPO
model = TEMPO . load_pretrained_model (
device = torch . device ( 'cuda:0' if torch . cuda . is_available () else 'cpu' ),
repo_id = "Melady/TEMPO" ,
filename = "TEMPO-80M_v1.pth" ,
cache_dir = "./checkpoints/TEMPO_checkpoints"
)
input_data = np . random . rand ( 336 ) # Random input data
with torch . no_grad ():
predicted_values = model . predict ( input_data , pred_length = 96 )
print ( "Predicted values:" )
print ( predicted_values )
โปรดลองจำลองการทดลองแบบ Zero-shot บน ETTh2 [ที่นี่ใน Colab]
เราใช้หน้า Colab ต่อไปนี้เพื่อแสดงการสาธิตการสร้างชุดข้อมูลลูกค้าและทำการอนุมานโดยตรงผ่านโมเดลพื้นฐานที่ผ่านการฝึกอบรมมาแล้ว: [Colab]
โปรดลองสาธิตโมเดลรองพื้นของเรา [ที่นี่]
นอกจากนี้เรายังอัปเดตโมเดลของเราบน HuggingFace: [Melady/TEMPO]
ดาวน์โหลดข้อมูลจาก [Google Drive] หรือ [Baidu Drive] และวางข้อมูลที่ดาวน์โหลดไว้ในโฟลเดอร์ ./dataset
dataset คุณยังสามารถดาวน์โหลดผลลัพธ์ STL ได้จาก [Google Drive] และวางข้อมูลที่ดาวน์โหลดไว้ในโฟลเดอร์ ./stl
stl
bash [ecl, etth1, etth2, ettm1, ettm2, traffic, weather].sh
หลังการฝึก เราสามารถทดสอบโมเดล TEMPO ได้ภายใต้การตั้งค่าซีโร่ช็อต:
bash [ecl, etth1, etth2, ettm1, ettm2, traffic, weather]_test.sh
คุณสามารถดาวน์โหลดโมเดลก่อนการฝึกอบรมได้จาก [Google Drive] จากนั้นเรียกใช้สคริปต์ทดสอบเพื่อความสนุกสนาน
นี่คือคำแนะนำที่ใช้เพื่อสร้างข้อมูลต้นฉบับที่สอดคล้องกับอนุกรมเวลาผ่าน [OPENAI ChatGPT-3.5 API]
ข้อมูลอนุกรมเวลามาจาก [S&P 500] นี่คือกรณี EBITDA สำหรับบริษัทหนึ่งจากชุดข้อมูล:
ตัวอย่างข้อมูลเชิงบริบทที่สร้างขึ้นสำหรับบริษัทที่ทำเครื่องหมายไว้ด้านบน:
คุณสามารถดาวน์โหลดข้อมูลที่ประมวลผลพร้อมข้อความที่ฝังจาก GPT2 ได้จาก: [TETS]
อย่าลังเลที่จะเชื่อมต่อ [email protected] / [email protected] หากคุณสนใจที่จะใช้ TEMPO กับแอปพลิเคชันในโลกแห่งความเป็นจริงของคุณ
@inproceedings{
cao2024tempo,
title={{TEMPO}: Prompt-based Generative Pre-trained Transformer for Time Series Forecasting},
author={Defu Cao and Furong Jia and Sercan O Arik and Tomas Pfister and Yixiang Zheng and Wen Ye and Yan Liu},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024},
url={https://openreview.net/forum?id=YH5w12OUuU}
}
@article{
Jia_Wang_Zheng_Cao_Liu_2024,
title={GPT4MTS: Prompt-based Large Language Model for Multimodal Time-series Forecasting},
volume={38},
url={https://ojs.aaai.org/index.php/AAAI/article/view/30383},
DOI={10.1609/aaai.v38i21.30383},
number={21},
journal={Proceedings of the AAAI Conference on Artificial Intelligence},
author={Jia, Furong and Wang, Kevin and Zheng, Yixiang and Cao, Defu and Liu, Yan},
year={2024}, month={Mar.}, pages={23343-23351}
}