将时序数值、文本事件、外部变量、图像化证据与领域知识组织为可训练样本, 用统一协议串联数据契约、CPT-SFT-RL、消融评测与 recipe 复现。
中国科学技术大学 · 认知智能全国重点实验室 · AGI 研究组
近年来,越来越多的研究尝试将大语言模型用于时间序列预测,并进一步引入新闻、事件、天气、 传感器图像、运维记录、领域知识等外部证据。然而,现有工作往往依赖 临时性的数据拼接方式、手工构造的 prompt 模板和分散的微调脚本, 导致多模态样本难以复现、实验结果难以比较、方法扩展成本高。
CastFactory(铸星坊) 借鉴 RecBole 等统一框架的设计理念,聚焦于 LLM-based Multimodal Time Series 模型训练这一核心问题, 将整个训练流程从"临时写脚本"升级为"数据契约统一、训练阶段清晰、评测协议标准、实验过程可复现"的 模型工厂式框架。
将 LLM 用于多模态时间序列建模时,当前研究面临五类系统性挑战:
时序窗口、文本事件、外部变量、图像化证据和领域知识常被临时拼接,缺少统一 schema、时间对齐规则和可追踪来源。
通用 LLM 并不天然理解连续数值序列、趋势变化、周期模式,也不清楚外部事件在预测窗口中的时效性和影响边界。
SFT 训练目标是 token-level cross entropy,而科研问题关心 forecast error、context utility、modality ablation 和解释一致性。
LLM 输出需要同时包含预测数组、置信度、解释或证据引用。长度错误、格式失效、证据幻觉都会影响评测可信度。
base model、模态组合、样本模板、LoRA 配置、奖励权重、解码策略任一变化都会影响结论,需要被沉淀为标准 recipe。
CastFactory(铸星坊) 的第一层抽象不是 prompt,而是可复现的数据契约。 每条训练样本由历史窗口、预测目标和一组带时间戳、来源、可用性边界的 evidence pack 组成, 从源头保证多模态输入可以被训练、消融和复现。
历史序列、目标变量、协变量、频率、lookback/horizon、归一化参数和 split 信息,统一进入可追踪 manifest。
新闻、运维记录、节假日、政策事件、异常报告等文本证据按时间戳对齐,并记录是否在预测时刻可见。
天气、价格、流量、空间位置、日历特征等外部变量以结构化字段进入样本,支持单独消融和组合消融。
曲线图、频谱图、诊断截图或传感器图像可作为图像模态接入,用于训练视觉语言模型或生成解释型预测。
sample = {history, target, time_features, evidence_pack, task_instruction, output_schema}。
其中 evidence_pack 记录 modality、timestamp、source、visibility 和 ablation tag,
支撑 context_gain、modality_ablation 等科研评测。
CastFactory(铸星坊) 的设计思想可以概括为五个关键词: Standardize · Adapt · Instruct · Optimize · Reproduce。
CastFactory(铸星坊) 的核心训练范式将 LLM-based Multimodal Time Series 的微调流程系统化为三个递进阶段, 每个阶段有清晰的输入、目标和产出:
输入:序列化时序语料、文本事件、外部变量、metadata、合成时序模式
训练目标为 next-token prediction。模型需要接触连续数值序列、趋势结构、周期变化、领域语义和事件上下文,形成对"时间序列语言"与外部证据的基础感知能力。
输入:instruction + historical window + evidence pack + output schema
让模型学会按照预测任务指令输出未来序列。支持 numeric-only、context-aware、multimodal-evidence、reasoning-enhanced 四类模板。SFT 阶段确立任务格式、输出格式和证据使用方式。
输入:同一多模态样本的多个候选预测,ground truth future values,evidence pack,可选工具轨迹
RL 阶段同时支持 ReasoningRL 与 AgenticRL:前者优化预测推理过程、证据引用和解释一致性;后者优化工具调用、检索、日历/事件查询等 agentic 行为,使模型在受控工具策略下完成预测决策。
面向“如何推理”的 RL 路径:优化预测前的结构化分析、证据归因、趋势解释和 uncertainty 描述。输出不是自由文本推理,而是可评测的 rationale schema,例如 trend_factors、evidence_refs、risk_notes。
面向“如何行动”的 RL 路径:训练模型在受控 tool_policy 下选择检索、日历特征、事件查询、外部变量读取等工具,并用 tool trace 与预测结果共同接受 reward 评估。
多模态 TSF 的奖励函数以预测准确性为主导,同时约束输出格式、证据使用、结构化推理与工具行动:
| 奖励项 | 含义 | 权重建议 |
|---|---|---|
R_accuracy | MAE / MSE / SMAPE 转换,衡量预测误差 | 主导项 α, β |
R_format | 输出是否能被成功解析为数值数组 | 硬约束或辅助 γ |
R_length | 预测长度是否与要求的 horizon 一致 | 辅助约束 δ |
R_trend | 预测序列的趋势方向与真实未来的一致性 | 辅助项 η |
R_evidence | 解释或引用是否与可见 evidence pack 一致,避免使用未来信息或无来源证据 | 辅助项 λ |
R_reasoning | 结构化 rationale 是否引用可见证据、覆盖关键趋势因素、与预测方向一致 | ReasoningRL 辅助项 ρ |
R_agentic | 工具选择、调用顺序、查询范围和工具结果使用是否符合 tool_policy 与任务约束 | AgenticRL 辅助项 τ |
CastFactory(铸星坊) 由八个核心模块组成,各模块职责边界清晰、可独立扩展:
时间序列、文本事件、外部变量、图像化证据和 metadata 的加载、时间戳解析、缺失值处理、归一化、滑窗切分、train/val/test split。
按预测时刻聚合可见证据,记录 modality、timestamp、source、visibility 和 ablation tag,避免未来信息泄漏并支持模态消融。
将 history、evidence pack 和 task instruction 转换为 LLM 可读取输入。支持 numeric-only、context-aware、multimodal_forecast_v1 和 JSON 输出解析。
构造持续预训练语料:无标注时序片段、带 metadata 的时序语料、文本事件片段、合成时序模式和跨模态对齐样本。
将滑窗样本转换为 instruction-response 格式。支持 numeric-only forecasting、context-aware forecasting、multimodal evidence forecasting 和 reasoning-enhanced forecasting。
三阶段统一训练引擎,含 CPTTrainer、SFTTrainer、ReasoningRLTrainer 和 AgenticRLTrainer。支持全参数微调、LoRA / QLoRA 参数高效微调和多模态模板配置。
覆盖 forecast metrics、generation validity、context_gain、modality_ablation、evidence consistency、reasoning_trace_validity、tool_use_success 和 tool_policy_violation。
保存每次训练的完整配置:base model、dataset、modalities、序列化参数、CPT/SFT/RL 超参、评测协议、消融报告和 model card。
CastFactory(铸星坊) 面向科研人员的目标不是只跑一个训练脚本,而是把研究问题、数据构造、 模型训练、消融实验和论文级产物组织成可复用流程。
明确任务、预测 horizon、候选模态和对照组,例如“天气与政策事件是否提升电力负荷长期预测”。
将原始数据转为 CastData Manifest,记录每个模态的来源、时间对齐、可见性边界和消融标签。
按 CPT → SFT → ReasoningRL / AgenticRL 运行训练,复用同一套 base model、模板、reward、工具策略和输出 schema。
比较 series-only、series+text、series+exogenous、full-modal 等设置,报告 context_gain 和 modality_ablation。
自动保存 training recipe、evaluation report、ablation matrix、model card 和可复现实验命令。
CastFactory(铸星坊) 提供 CLI 接口,覆盖从多模态数据准备到模型评测的完整链路:
castfactory prepare-data \ --dataset electricity \ --data_path ./data/electricity.csv \ --event_path ./data/electricity_events.jsonl \ --exogenous_path ./data/weather.csv \ --metadata_path ./data/region_meta.json \ --modalities series,text,event,exogenous \ --freq hourly \ --input_len 336 \ --pred_len 96 \ --normalization z_score \ --visibility_rule no_future_context \ --output_dir ./castdata/electricity
castfactory build-cpt-corpus \ --datasets electricity,traffic,weather \ --modalities series,text,event,exogenous \ --serialization multimodal_temporal_v1 \ --seq_len 4096 \ --include_evidence_pack true \ --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 multimodal_forecast_v1 \ --evidence_policy event_weather_text \ --output_schema forecast_with_rationale_json \ --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 \ --rl_mode reasoning,agentic \ --reward mae+format+length+trend+evidence+reasoning+agentic \ --reasoning_trace_schema forecast_rationale_v1 \ --tool_policy calendar,event_search,retrieval \ --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,context_gain,modality_ablation,evidence_consistency,reasoning_trace_validity,tool_use_success,tool_policy_violation \ --ablation series_only,series_text,series_exogenous,full_modal \ --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" \ --context "holiday=0; weather=rain; grid_event=maintenance" \ --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
modalities:
series:
target: load
covariates: temperature,humidity,calendar
text:
source: electricity_events.jsonl
visibility: no_future_context
exogenous:
source: weather.csv
alignment: hourly
event:
source: maintenance_policy_events.jsonl
ablation_tag: event_context
serialization:
type: multimodal_forecast_v1
precision: 4
include_timestamp: true
evidence_policy: event_weather_text
output_schema: forecast_with_rationale_json
cpt:
enabled: true
corpus: electricity,traffic,weather
include_evidence_pack: true
sft:
enabled: true
template: multimodal_forecast_v1
method: lora
rl:
enabled: true
algorithm: grpo
modes:
- ReasoningRL
- AgenticRL
reward: mae+format+length+trend+evidence+reasoning+agentic
reasoning_trace_schema: forecast_rationale_v1
tool_policy: calendar,event_search,retrieval
num_generations: 8
evaluation:
metrics: mse,mae,smape,direction_acc,parse_rate,context_gain,modality_ablation,evidence_consistency,reasoning_trace_validity,tool_use_success,tool_policy_violation
ablation:
- series_only
- series_text
- series_exogenous
- full_modal
CastFactory(铸星坊) 采用渐进式建设策略,优先跑通核心链路,再逐步扩展能力边界:
现有 LLM-based 多模态时间序列研究通常依赖临时性的数据拼接方式、指令构造方式和微调方案。 CastFactory(铸星坊) 提供一个统一的 CPT-SFT-ReasoningRL/AgenticRL 三阶段训练框架, 系统化标准多模态数据契约、LLM 时序证据适应、指令跟随预测、可验证推理与行动奖励优化、消融评测和实验复现流程。
Existing LLM-based multimodal time series studies often rely on ad-hoc data stitching, instruction construction, and fine-tuning recipes. CastFactory(铸星坊) provides a unified CPT-SFT-ReasoningRL/AgenticRL training framework that standardizes multimodal data contracts, temporal-evidence adaptation, instruction-following forecasting, verifiable reasoning and agentic reward optimization, ablation, and evaluation.
项目边界声明: CastFactory(铸星坊) 第一阶段专注于训练框架本身,不做自动科研智能体、模型结构搜索或复杂多智能体预测平台。 它首先是一个训练框架,一个面向 LLM-based Multimodal Time Series Model 的模型工厂, 帮助研究者用统一流程回答核心问题: 给定一个基础 LLM、一组时间序列和一批外部多模态证据,如何通过数据契约、CPT、SFT、RL 和消融评测, 稳定、可复现地构建一个 LLM-based Multimodal Time Series Model?