# 诊断报告 · ts-as-modality 跨域泛化失败与方案封存 > **日期**:2026-07-02 > **状态**:方案封存(资产保留,不再投入) > **决定性问题**:合成域有效的「TS-as-modality」方案,能否泛化到真实时序? --- ## TL;DR 方案在合成域内有效,但在真实时序上**跨实体泛化失败**——同一 SMD 数据集、同样 38 通道、仅换了机器(machine-1 → machine-2),模型输出从合法 JSON 崩溃为 repetition garbage。证据链完整指向:TS encoder 学到的是数据集/机器特有模式,而非可泛化的时序表征。方案作为研究性 PoC 划定了清晰的能力边界,但当前架构无法支撑「通用时序理解」这一目标,故封存。 --- ## 完整诊断链 ### 阶段 1:合成域内验证(成立) 在全量合成数据(50 万对齐 + 10 万 SFT)训练后: | 指标 | model | pure_llm | 结论 | |---|---|---|---| | 时序消融 change_rate | 0.98/50 | — | TS token 确实被消费 ✅ | | QA 均分(6 类) | 2.41 | 0.90 (2.7×) | TS 模态是必要非装饰 ✅ | | anomaly JSON 解析率 | 0.98 | 0.01 | 格式学习成功 ✅ | | VUS-PR | 0.22 | 0.24 | ⚠️ 输给 trivial baseline | **阶段 1 结论**:机制可行,QA 能力真实,但异常精准定位弱(VUS-PR 输 trivial)。 ### 阶段 2:zero-shot 跨域(崩溃) 用未微调的合成 ckpt 直接评测真实 SMD(machine-1/2/2-1 合并,prevalence 5.8% vs 合成 26%): | 指标 | model(real) | 解读 | |---|---|---| | parse_rate | **0.00** | 没有任何输出可解析 | | Aff-F1 | **0.00** | 完全无定位能力 | | QA mean | **0.00** | vs synth 的 2.41 | | VUS-PR | 0.2263 | = all_report,是**假象** | **输出样本**(repetition collapse,LLM 在 OOD 输入下的典型崩溃): ``` 'ERYoticaisonaisonanxietyaisonaisonanaisonanaison...' 'horizon: horizon: horizon: horizon: horizon:...' ``` **VUS-PR=0.2263 的真相**:模型输出全是 garbage → `parse_anomaly_segments` 失败 → `answer_to_point_scores` 返回全 0 → `vus_pr(全0, y)` 退化为 prevalence(=0.226)。所以「VUS-PR 与 trivial 持平」是假象,模型实际**什么都没做**,只是被 prevalence 下限兜住了。这是一个**评测陷阱**:低质量输出在低 prevalence 下会被误读为「不算太差」。 **干扰变量排除**:改写 instruction(短措辞 / 通用模板)后输出仍是 garbage,排除「指令过长/格式不兼容」因素,确认是 TS embedding 的分布偏移所致: - 通道数:5(合成)→ 38(SMD) - 数值分布:合成 mean~46/std~23 vs SMD z-score 后 mean~0/std~0.6 ### 阶段 3:SMD 微调(训练域内有效) 从 stage2_final 继续训 LoRA on SMD train(machine-1-1/1-2,141 样本,500 步,EMA 1.27→1.00): **训练域内输出**(machine-1-1/1-2,微调后): ``` {"anomaly_regions": [{"start": 309, "end": 412}], "n_regions": 1} ✅ {"anomaly_regions": [{"start": 0, "end": 136}], "n_regions": 1} ✅ {"anomaly_regions": [{"start": 103, "end": 126}], "n_regions": 1} ✅ ``` 4/5 产出合法 JSON,格式与语义均正确。**机制在训练域内正常工作**。 ### 阶段 4:跨实体 held-out(崩溃,决定性) 用同一个微调后模型评测 SMD held-out(machine-2-1,同数据集/同 38 通道/同样 z-score 分布,仅换机器): ``` [anomaly] '{"}\xa0\n\xa0\n\xa0\n\n\xa0\xa0 (since)...' ❌ [anomaly] '{"id": 1, "name": "nan \n\n\n...' ❌ [describe] '------------{"}10M 参数,且用真实多数据集从头训练(非仅微调),让 encoder 有足够容量和分布覆盖学到通用表征。 2. **channel-agnostic patch 策略**:消除「通道数」这一硬约束(当前 patch embed 固定 5 通道,是跨域的物理障碍),如 per-channel 独立编码后聚合。 3. **多真实数据集混合训练验证泛化**:在 SMD/SWaT/PSM 等多个真实数据集上联合训练,并在完全 held-out 的数据集上验证——只有这种泛化成立,方案才算「通用」。 在以上任一条件未满足前,本方案不再投入。