将通用大语言模型转化为可复现、可扩展的时间序列预测模型, 以统一协议串联数据构建、时序适应、指令预测与可验证奖励优化的完整训练闭环。
中国科学技术大学 · 认知智能全国重点实验室 · AGI 研究组
近年来,越来越多的研究尝试将大语言模型用于时间序列预测。然而,现有工作往往依赖 临时性的数据序列化方式、手工构造的 prompt 模板和分散的微调脚本, 导致模型训练难以复现、实验结果难以比较、方法扩展成本高。
CastFactory(铸星坊) 借鉴 RecBole 等统一框架的设计理念,聚焦于 LLM-based TSF 模型微调训练这一核心问题, 将整个训练流程从"临时写脚本"升级为"数据格式统一、训练阶段清晰、评测协议标准、实验过程可复现"的 模型工厂式框架。
将 LLM 用于时间序列预测时,当前研究面临五类系统性挑战:
不同研究采用不同数值序列化方式——逗号分隔、自然语言、patch、时间戳拼接各不相同,细节设计差异直接影响 LLM 训练效果。
通用 LLM 在自然语言语料上预训练,并不天然熟悉连续数值序列、趋势变化和周期模式,直接 SFT 难以形成稳定的时序表达能力。
SFT 训练目标是 token-level cross entropy,而预测真正关心的是 MAE、MSE、趋势方向准确率——学会生成格式不等于预测优化。
LLM 输出文本需经 parser 转换为数值数组。输出长度错误、格式失效、数值无法解析都会影响评测,但多数框架缺乏生成有效性指标。
base model、数据集、序列化方式、LoRA 配置、解码策略……任一设置变化都影响结果,但目前缺乏将这些设置沉淀为标准 recipe 的机制。
CastFactory(铸星坊) 的设计思想可以概括为五个关键词: Standardize · Adapt · Instruct · Optimize · Reproduce。
CastFactory(铸星坊) 的核心训练范式将 LLM-based TSF 的微调流程系统化为三个递进阶段, 每个阶段有清晰的输入、目标和产出:
输入:大量序列化时序语料、metadata、合成时序模式
训练目标为 next-token prediction。模型需要接触连续数值序列、趋势结构、周期变化和领域语义,形成对"时间序列语言"的基础感知能力。该阶段不强调具体预测任务。
输入:instruction + historical window + context
让模型学会按照预测任务指令输出未来序列。支持 numeric-only、context-aware、reasoning-enhanced 三类模板。SFT 阶段确立任务格式、输出格式和预测行为。
输入:同一窗口的多个候选预测,ground truth future values
将预测误差转化为可验证 reward:R_accuracy + R_format + R_length + R_trend。GRPO 是自然选择——同一输入采样多个候选,根据 reward 做组内相对比较。
TSF 的奖励函数由四项组成,以预测准确性为主导:
| 奖励项 | 含义 | 权重建议 |
|---|---|---|
R_accuracy | MAE / MSE / SMAPE 转换,衡量预测误差 | 主导项 α, β |
R_format | 输出是否能被成功解析为数值数组 | 硬约束或辅助 γ |
R_length | 预测长度是否与要求的 horizon 一致 | 辅助约束 δ |
R_trend | 预测序列的趋势方向与真实未来的一致性 | 辅助项 η |
CastFactory(铸星坊) 由八个核心模块组成,各模块职责边界清晰、可独立扩展:
时间序列数据加载、时间戳解析、缺失值处理、归一化、滑窗切分、train/val/test split、metadata 管理。统一抽象为 lookback window + prediction window + time features + covariates。
将时序样本转换为 LLM 可读取的文本输入。支持 numeric-only、带时间特征、patch 分组等格式。包含 output parser,将 LLM 生成文本解析回数值数组,推荐统一 JSON 输出。
构造持续预训练语料:大规模无标注时序片段、带 metadata 的时序语料、合成时序模式(趋势、周期、突变、异常)。训练目标为 next-token prediction。
将滑窗样本转换为 instruction-response 格式。支持 numeric-only forecasting、context-aware forecasting、reasoning-enhanced forecasting 三类模板。
将预测误差、格式有效性、长度合法性和趋势方向转化为可验证奖励信号。支持 GRPO / PPO 类方法,同一输入窗口采样多个候选预测后做组内相对比较。
三阶段统一训练引擎,含独立的 CPTTrainer、SFTTrainer、RLTrainer。支持全参数微调和 LoRA / QLoRA 参数高效微调。三阶段共享底层配置系统,避免配置割裂。
两类指标:forecast metrics(MSE / MAE / RMSE / SMAPE / Direction Acc)+ generation validity metrics(parse success rate / format error rate / valid length rate)。
保存每次训练的完整配置:base model、dataset、序列化参数、CPT/SFT/RL 超参、评测协议。每个模型对应一个可复现的 training recipe 和 model card。
CastFactory(铸星坊) 提供 CLI 接口,覆盖从数据准备到模型评测的完整链路:
castfactory prepare-data \ --dataset electricity \ --data_path ./data/electricity.csv \ --freq hourly \ --input_len 336 \ --pred_len 96 \ --normalization z_score \ --output_dir ./castdata/electricity
castfactory build-cpt-corpus \ --datasets electricity,traffic,weather \ --serialization numeric_v1 \ --seq_len 4096 \ --output_dir ./corpus/cpt_temporal castfactory cpt \ --base_model Qwen-7B \ --corpus ./corpus/cpt_temporal \ --method lora \ --output_dir ./checkpoints/cast-qwen-cpt
castfactory build-sft-data \ --castdata ./castdata/electricity \ --template forecast_numeric_v1 \ --output_dir ./corpus/sft_electricity_336_96 castfactory sft \ --base_model ./checkpoints/cast-qwen-cpt \ --sft_data ./corpus/sft_electricity_336_96 \ --method lora \ --output_dir ./checkpoints/cast-qwen-sft
castfactory rl \ --base_model ./checkpoints/cast-qwen-sft \ --castdata ./castdata/electricity \ --algorithm grpo \ --reward mae+format+length+trend \ --num_generations 8 \ --output_dir ./checkpoints/cast-qwen-rl
castfactory evaluate \ --model ./checkpoints/cast-qwen-rl \ --castdata ./castdata/electricity \ --metrics mse,mae,smape,direction_acc,parse_rate \ --output_report ./reports/electricity_336_96.json castfactory predict \ --model ./checkpoints/cast-qwen-rl \ --input_series "0.12,0.15,0.18,0.21,0.19,0.16" \ --pred_len 24
每次训练自动保存 recipe,确保实验可复现:
model_name: Cast-Qwen-Electricity-96 base_model: Qwen-7B stage: cpt_sft_rl dataset: name: Electricity input_len: 336 pred_len: 96 frequency: hourly normalization: z_score serialization: type: numeric_json precision: 4 include_timestamp: false cpt: enabled: true corpus: electricity,traffic,weather sft: enabled: true template: forecast_numeric_v1 method: lora rl: enabled: true algorithm: grpo reward: mae+format+length+trend num_generations: 8 evaluation: metrics: mse,mae,smape,direction_acc,parse_rate
CastFactory(铸星坊) 采用渐进式建设策略,优先跑通核心链路,再逐步扩展能力边界:
现有 LLM-based 时间序列预测研究通常依赖临时性的数据序列化方式、指令构造方式和微调方案。 CastFactory(铸星坊) 提供一个统一的 CPT-SFT-RL 三阶段微调训练框架, 系统化标准时间序列数据构建、LLM 时序适应、指令跟随预测、可验证奖励优化和预测评测流程。
Existing LLM-based time series forecasting studies often rely on ad-hoc data serialization, instruction construction, and fine-tuning recipes. CastFactory(铸星坊) provides a unified CPT-SFT-RL fine-tuning framework that standardizes temporal data construction, LLM adaptation, instruction-following forecasting, verifiable reward optimization, and forecasting evaluation.
项目边界声明: CastFactory(铸星坊) 第一阶段专注于训练框架本身,不做自动科研智能体、模型结构搜索或复杂多智能体预测平台。 它首先是一个训练框架,一个面向 LLM-based TSF Model 的模型工厂, 帮助研究者用统一流程回答核心问题: 给定一个基础 LLM 和一个时间序列预测任务,如何通过 CPT、SFT 和 RL 三阶段训练, 稳定、可复现地构建一个 LLM-based TSF Model?