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?