🎉 Accepted to ICLR 2026
📢 The SciTS benchmark dataset and baseline evaluation scripts are available here.
This is the official SciTS (TimeOmni) repository.
SciTS is a large-scale benchmark for scientific time series understanding and generation across 12 domains and 43 tasks. TimeOmni is a unified framework that equips LLMs with the ability to understand and generate time series while staying compatible with general-purpose LLM training.
- Unified time series modeling across forecasting, classification, anomaly detection, QA, and more.
- LLM-compatible training pipeline with reprogramming layers.
- Benchmark-ready evaluation with standardized JSONL formats.
- Multimodal time series support (audio, CSV, NumPy, EEG/MEG .fif).
Figure 1. SciTS benchmark overview.
Figure 2. TimeOmni framework.
TimeOmni/
├── run_main_refactored_unified.py # Main training entry
├── infer_benchmark.py # Distributed inference for JSONL files
├── eval_benchmark.py # Metric evaluation & aggregation
├── models/ # TimeOmni model definition
├── layers/ # Embedding & normalization modules
├── data_provider/ # Dataset + dataloader factory
├── scripts/ # Training & inference scripts
├── utils/ # Helper utilities (early stop, lr schedule, etc.)
├── dataset/ # Place datasets here (JSONL + raw signals)
├── pretrained/ # Place pretrained LLM weights here
├── figures/ # Paper figures
└── ds_config_zero2.json # DeepSpeed ZeRO-2 config
Use python 3.11 from MiniConda. Install dependencies:
pip install -r requirements.txt- Place JSONL datasets under
dataset/. - Each JSONL line should contain fields required by
Dataset_Unified(seedata_provider/dataset.py). - For raw signals, use supported formats:
.wav,.mp3,.flac,.m4a,.csv,.npy,.fif.
Put the pretrained weights under pretrained/. Default configuration expects:
pretrained/Qwen3-8B/
Use the provided multi-node training script or call the main training entry directly:
bash scripts/TimeOmni_unified.shbash scripts/TimeOmni_infer_eval.sh- Training:
run_main_refactored_unified.py(Accelerate + DeepSpeed) - Model:
models/TimeOmni.py - Dataset:
data_provider/dataset.pyanddata_provider/data_factory_unified.py - Benchmark Inference:
infer_benchmark.py - Benchmark Evaluation:
eval_benchmark.py
- DeepSpeed:
ds_config_zero2.json - Training hyperparameters are specified in
scripts/TimeOmni_unified.sh. - Inference & evaluation are configured in
scripts/TimeOmni_infer_eval*.sh.
Training and evaluation outputs are saved under exp/, including:
config.json(experiment configuration)training_log.txtinfer_results/(JSONL outputs)eval_results/(CSV metrics)
This codebase is adapted from KimMeen/Time-LLM. Thanks to the authors for their excellent work.
If you find this work useful, please cite:
@inproceedings{wu2025scits,
title={{SciTS: Scientific Time Series Understanding and Generation with LLMs}},
author={Wu, Wen and Zhang, Ziyang and Liu, Liwei and Xu, Xuenan and Liu, Junlin and Fan, Ke and Lv, Qitan and Zhuang, Jimin and Zhang, Chen and Yuan, Zheqi and Hou, Siyuan and Lin, Tianyi and Chen, Kai and Zhou,Bowen and Zhang, Chao},
booktitle={Proc. ICLR},
year={2026},
address={Rio de Janeiro}
}This project is licensed under the Apache 2.0 License. See LICENSE for details.

