🎉 Accepted to ICLR 2026
📢 The datasets and baseline evaluation scripts will be open-sourced soon.
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 others},
booktitle={Proc. ICLR},
year={2026},
address={Rio de Janeiro}
}This project is licensed under the Apache 2.0 License. See LICENSE for details.

