CastFactory(铸星坊)面向科研人员的 LLM-based Multimodal Time Series 模型训练工厂

将时序数值、文本事件、外部变量、图像化证据与领域知识组织为可训练样本, 用统一协议串联数据契约、CPT-SFT-RL、消融评测与 recipe 复现。

中国科学技术大学 · 认知智能全国重点实验室 · AGI 研究组

一句话定位: CastFactory(铸星坊) 是一个面向科研人员的 LLM-based Multimodal Time Series 模型训练工厂—— 标准化从多模态数据接入、证据对齐、时序适应、指令预测到可验证奖励优化的完整训练流程, 每次实验对应一套可复现、可消融、可发布的 training recipe。

项目简介

近年来,越来越多的研究尝试将大语言模型用于时间序列预测,并进一步引入新闻、事件、天气、 传感器图像、运维记录、领域知识等外部证据。然而,现有工作往往依赖 临时性的数据拼接方式、手工构造的 prompt 模板和分散的微调脚本, 导致多模态样本难以复现、实验结果难以比较、方法扩展成本高。

CastFactory(铸星坊) 借鉴 RecBole 等统一框架的设计理念,聚焦于 LLM-based Multimodal Time Series 模型训练这一核心问题, 将整个训练流程从"临时写脚本"升级为"数据契约统一、训练阶段清晰、评测协议标准、实验过程可复现"的 模型工厂式框架。

3
训练阶段
CPT · SFT · RL
8
核心模块
从多模态数据到 Recipe
5
设计原则
SAIOR 框架
∞
可扩展模态
Series · Text · Events · Exogenous

核心痛点

将 LLM 用于多模态时间序列建模时,当前研究面临五类系统性挑战:

▦

多模态样本缺乏数据契约

时序窗口、文本事件、外部变量、图像化证据和领域知识常被临时拼接,缺少统一 schema、时间对齐规则和可追踪来源。

⌁

LLM 时序与证据对齐能力不足

通用 LLM 并不天然理解连续数值序列、趋势变化、周期模式,也不清楚外部事件在预测窗口中的时效性和影响边界。

◇

SFT 目标与研究问题错位

SFT 训练目标是 token-level cross entropy,而科研问题关心 forecast error、context utility、modality ablation 和解释一致性。

□

生成式输出难以稳定评测

LLM 输出需要同时包含预测数组、置信度、解释或证据引用。长度错误、格式失效、证据幻觉都会影响评测可信度。

↻

实验 recipe 缺乏可复现管理

base model、模态组合、样本模板、LoRA 配置、奖励权重、解码策略任一变化都会影响结论,需要被沉淀为标准 recipe。

Multimodal Time Series Data Contract

CastFactory(铸星坊) 的第一层抽象不是 prompt,而是可复现的数据契约。 每条训练样本由历史窗口、预测目标和一组带时间戳、来源、可用性边界的 evidence pack 组成, 从源头保证多模态输入可以被训练、消融和复现。

Series Window

历史序列、目标变量、协变量、频率、lookback/horizon、归一化参数和 split 信息,统一进入可追踪 manifest。

Text & Event Evidence

新闻、运维记录、节假日、政策事件、异常报告等文本证据按时间戳对齐,并记录是否在预测时刻可见。

Exogenous Signals

天气、价格、流量、空间位置、日历特征等外部变量以结构化字段进入样本,支持单独消融和组合消融。

Visualized Evidence

曲线图、频谱图、诊断截图或传感器图像可作为图像模态接入,用于训练视觉语言模型或生成解释型预测。

样本抽象: 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。

CPT-SFT-RL 三阶段训练

CastFactory(铸星坊) 的核心训练范式将 LLM-based Multimodal Time Series 的微调流程系统化为三个递进阶段, 每个阶段有清晰的输入、目标和产出:

Stage 1 · CPT

持续预训练
时序适应阶段

输入:序列化时序语料、文本事件、外部变量、metadata、合成时序模式

训练目标为 next-token prediction。模型需要接触连续数值序列、趋势结构、周期变化、领域语义和事件上下文,形成对"时间序列语言"与外部证据的基础感知能力。

输出:Temporal-evidence adapted LLM
Stage 2 · SFT

监督微调
指令预测阶段

输入:instruction + historical window + evidence pack + output schema

让模型学会按照预测任务指令输出未来序列。支持 numeric-only、context-aware、multimodal-evidence、reasoning-enhanced 四类模板。SFT 阶段确立任务格式、输出格式和证据使用方式。

输出:Instruction-following multimodal TS LLM
Stage 3 · RL

强化学习
ReasoningRL / AgenticRL 阶段

输入:同一多模态样本的多个候选预测,ground truth future values,evidence pack,可选工具轨迹

RL 阶段同时支持 ReasoningRL 与 AgenticRL:前者优化预测推理过程、证据引用和解释一致性;后者优化工具调用、检索、日历/事件查询等 agentic 行为,使模型在受控工具策略下完成预测决策。

输出:Reward-optimized reasoning & agentic TS LLM

RL 能力边界:ReasoningRL 与 AgenticRL

ReasoningRL

面向“如何推理”的 RL 路径:优化预测前的结构化分析、证据归因、趋势解释和 uncertainty 描述。输出不是自由文本推理,而是可评测的 rationale schema,例如 trend_factors、evidence_refs、risk_notes。

AgenticRL

面向“如何行动”的 RL 路径:训练模型在受控 tool_policy 下选择检索、日历特征、事件查询、外部变量读取等工具,并用 tool trace 与预测结果共同接受 reward 评估。

端到端训练流程

Raw Multimodal Data
时序 · 文本 · 事件 · 外部变量
→
CastData Manifest
滑窗 · 对齐 · 可见性
→
Evidence Pack
序列化 · instruction · schema
→
CPT
时序适应
→
SFT
指令预测
→
RL
ReasoningRL · AgenticRL
→
Evaluation
预测指标 + 证据效用 + 消融
→
Recipe & Card
可复现实验记录

RL 奖励设计

多模态 TSF 的奖励函数以预测准确性为主导,同时约束输出格式、证据使用、结构化推理与工具行动:

奖励项含义权重建议
R_accuracyMAE / MSE / SMAPE 转换,衡量预测误差主导项 α, β
R_format输出是否能被成功解析为数值数组硬约束或辅助 γ
R_length预测长度是否与要求的 horizon 一致辅助约束 δ
R_trend预测序列的趋势方向与真实未来的一致性辅助项 η
R_evidence解释或引用是否与可见 evidence pack 一致,避免使用未来信息或无来源证据辅助项 λ
R_reasoning结构化 rationale 是否引用可见证据、覆盖关键趋势因素、与预测方向一致ReasoningRL 辅助项 ρ
R_agentic工具选择、调用顺序、查询范围和工具结果使用是否符合 tool_policy 与任务约束AgenticRL 辅助项 τ

框架模块设计

CastFactory(铸星坊) 由八个核心模块组成,各模块职责边界清晰、可独立扩展:

Multimodal Data Module

时间序列、文本事件、外部变量、图像化证据和 metadata 的加载、时间戳解析、缺失值处理、归一化、滑窗切分、train/val/test split。

Evidence Pack Builder

按预测时刻聚合可见证据,记录 modality、timestamp、source、visibility 和 ablation tag,避免未来信息泄漏并支持模态消融。

Serialization Module

将 history、evidence pack 和 task instruction 转换为 LLM 可读取输入。支持 numeric-only、context-aware、multimodal_forecast_v1 和 JSON 输出解析。

CPT Data Builder

构造持续预训练语料:无标注时序片段、带 metadata 的时序语料、文本事件片段、合成时序模式和跨模态对齐样本。

SFT Data Builder

将滑窗样本转换为 instruction-response 格式。支持 numeric-only forecasting、context-aware forecasting、multimodal evidence forecasting 和 reasoning-enhanced forecasting。

Training Engine

三阶段统一训练引擎,含 CPTTrainer、SFTTrainer、ReasoningRLTrainer 和 AgenticRLTrainer。支持全参数微调、LoRA / QLoRA 参数高效微调和多模态模板配置。

Evaluation Module

覆盖 forecast metrics、generation validity、context_gain、modality_ablation、evidence consistency、reasoning_trace_validity、tool_use_success 和 tool_policy_violation。

Recipe Manager

保存每次训练的完整配置:base model、dataset、modalities、序列化参数、CPT/SFT/RL 超参、评测协议、消融报告和 model card。

科研人员工作流

CastFactory(铸星坊) 面向科研人员的目标不是只跑一个训练脚本,而是把研究问题、数据构造、 模型训练、消融实验和论文级产物组织成可复用流程。

1. 定义研究假设

明确任务、预测 horizon、候选模态和对照组,例如“天气与政策事件是否提升电力负荷长期预测”。

2. 构建数据契约

将原始数据转为 CastData Manifest,记录每个模态的来源、时间对齐、可见性边界和消融标签。

3. 训练多阶段模型

按 CPT → SFT → ReasoningRL / AgenticRL 运行训练,复用同一套 base model、模板、reward、工具策略和输出 schema。

4. 执行消融与评测

比较 series-only、series+text、series+exogenous、full-modal 等设置,报告 context_gain 和 modality_ablation。

5. 沉淀研究产物

自动保存 training recipe、evaluation report、ablation matrix、model card 和可复现实验命令。

典型 CLI 工作流

CastFactory(铸星坊) 提供 CLI 接口,覆盖从多模态数据准备到模型评测的完整链路:

1. 多模态数据准备

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

2. 构造 CPT 语料 & 执行 CPT

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

3. 构造 SFT 数据 & 执行 SFT

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

4. 执行 RL 优化

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

5. 评测 & 推理

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

Training Recipe 示例

每次训练自动保存 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?