Files
llmiotsafe/refine-logs/EXPERIMENT_PLAN.md
2026-05-12 17:01:39 +08:00

6.8 KiB
Raw Blame History

SafeHome 实验计划

实验追踪器

实验ID 阶段 状态 依赖 预计时间 GPU 需求
E1 仿真器开发 待开始 3-4周
E2 Benchmark构建 待开始 E1 2-3周
E3 基线评估 待开始 E2 1-2周 API调用
E4 SFT基线 待开始 E2,E3 1-2周 1-2×A100
E5 GRPO训练 待开始 E4 2-3周 4×A100
E6 消融实验 待开始 E5 1-2周 2×A100
E7 分析与论文 待开始 E3-E6 2-3周

E1: 仿真器开发

任务清单

  • Fork SimuHome 代码库 (https://github.com/holi-lab/SimuHome/)
  • 新增安全设备类型(门窗传感器、运动检测器、智能门锁、烟雾报警器、水浸传感器、安防面板)
  • 实现故障注入引擎(传感器故障、执行器故障、通信故障)
  • 实现行为模式生成器(正常行为模板 + 异常行为场景)
  • 新增安全相关 APIget_security_log, get_entry_history, get_device_health
  • 新增环境变量occupancy_pattern, entry_log, device_health_score
  • 单元测试:验证每种故障注入和行为模式的正确性

验收标准

  • 所有新设备类型通过 Matter 协议接口正常工作
  • 故障注入在仿真中正确影响设备状态和环境变量
  • 行为模式生成器能生成逼真的24小时活动日志

E2: Benchmark 构建

任务清单

  • 设计 SQ1-SQ5 的目标模板和评估条件
  • 实现 episode 自动生成流程(参考 SimuHome 的 3 步流程)
  • 生成 600 episodesSQ1:100, SQ2:100, SQ3:150, SQ4:150, SQ5:100
  • 人工验证:每种类型随机抽查 20%,确保质量
  • 实现评估脚本(仿真器验证 + LLM-as-a-Judge
  • 编写 Agent 系统 prompt安全推理版

Query 生成示例

SQ1 (设备健康诊断) — TP 示例:

初始状态: 客厅温度传感器读数过去3小时固定在22.00°C注入Stuck-at故障
Query: "你能检查一下客厅的温度传感器是否正常工作吗?最近好像温度一直没变过。"
Goal: Agent 应识别传感器读数异常固定,推断传感器故障
Prerequisite: get_room_devices(living_room), get_attribute(temp_sensor, history)

SQ2 (单事件安全判断) — TP 示例:

初始状态: 凌晨2:30AM, 安防系统Armed, 书房窗户传感器从Closed变为Open
Query: [系统自动触发] "窗户传感器触发书房窗户已打开。当前时间凌晨2:30安防系统处于布防状态。"
Goal: Agent 应识别为可能的入侵,建议触发警报

SQ3 (行为序列分析) — TP 示例:

初始状态: 提供过去6小时的设备状态日志
日志中隐藏的异常: 21:00正常下班回家→21:30正常活动→22:00卧室灯关→22:15客厅意外出现运动→22:16厨房窗户打开→22:20客厅灯打开非常规操作模式
Query: "请分析过去6小时的设备活动日志检查是否有任何异常。"
Goal: Agent 应识别22:15后的活动模式异常居住者已入睡但有人在客厅活动

E3: 基线评估

模型列表(对标 SimuHome Table 1

组别 模型 API 来源
小模型 Llama3.2-1B-it, Llama3.2-3B-it, Gemma3-4B-it OpenRouter
中模型 Llama4-Scout, Llama4-Maverick, Qwen3-32B, Qwen3-235B-A22B, Gemma3-12B-it, Gemma3-27B-it OpenRouter
闭源 Gemini-2.5-Flash-Lite, Gemini-2.5-Flash, GPT-4.1-nano, GPT-4.1-mini, GPT-4.1 OpenRouter
推理 Gemini-2.5-Pro, GPT-5.1 OpenRouter

评估指标

  • Detection Accuracy (DA)
  • Miss Rate (MR) — 安全关键指标
  • False Alarm Rate (FAR)
  • F1-Security
  • Reasoning Quality (LLM-Judge, 1-5 scale)
  • Response Latency (秒)

E4: SFT 基线

数据生成

  • 使用 GPT-5.1 在 SafeHome 环境中生成成功交互序列
  • 目标: 400 条成功轨迹(覆盖所有 SQ 类型)
  • 过滤: 仅保留仿真器验证通过的轨迹

训练配置

  • 模型: Qwen3-4B, Qwen3-8B
  • Epochs: 3
  • Learning Rate: 2e-5
  • Batch Size: 8
  • 评估: SafeHome Benchmark 全评

E5: GRPO 训练

奖励函数设计

def security_reward(prediction, ground_truth, reasoning_chain):
    base_reward = 0
    
    # 检测准确性奖励
    if ground_truth.is_threat:
        if prediction.detected_threat:
            base_reward = +3.0  # True Positive
        else:
            base_reward = -5.0  # Missed threat (严重惩罚)
    else:
        if prediction.detected_threat:
            base_reward = -2.0  # False alarm
        else:
            base_reward = +1.0  # True Negative
    
    # 推理链质量奖励(可验证步骤)
    verified_steps = verify_reasoning_steps(reasoning_chain)
    chain_reward = 0.5 * len(verified_steps)
    
    # 威胁类型识别奖励
    if prediction.threat_type == ground_truth.threat_type:
        type_reward = +1.0
    else:
        type_reward = 0
    
    return base_reward + chain_reward + type_reward

训练配置

  • 模型: Qwen3-4B (主), Qwen3-8B (副)
  • Group Size: 8 (每个prompt生成8个候选)
  • KL Penalty: 0.05
  • 训练步数: 5000-10000
  • 学习率: 5e-7
  • Gradient Accumulation: 4
  • 数据: 2000 episodes 自动生成

对比方法

  • DPO: 使用 GPT-5.1 生成的 preferred/rejected pairs
  • RLHF: 训练单独的 reward model
  • REINFORCE: 简单策略梯度

E6: 消融实验

A1: 奖励设计消融

变体 奖励函数 对比目的
R-binary 只有正确/错误 (+1/-1) 最简单的奖励
R-safety 区分 TP/FP/TN + miss 惩罚 安全感知奖励
R-chain R-safety + 推理链奖励 过程奖励的影响
R-full R-chain + 威胁类型奖励 完整奖励

A2: 场景复杂度消融

变体 训练场景 评估场景
Simple-only SQ1+SQ2 SQ1-SQ5
Complex-only SQ3+SQ4 SQ1-SQ5
All SQ1-SQ5 SQ1-SQ5

A3: 训练数据量消融

变体 Episodes 数量
100 最少
500 少量
2000 标准
5000 大量

A4: 模型规模消融

模型 参数量
Qwen3-1.7B 1.7B
Qwen3-4B 4B
Qwen3-8B 8B
Qwen3-32B 32B

最先启动的 3 个实验

  1. E1: Fork SimuHome + 扩展安全设备 — 立即开始,无依赖
  2. E3-pilot: 用 GPT-4.1 测试 10 个手写安全场景 — 验证安全推理的难度假设
  3. E4-data: 用 GPT-5.1 生成安全推理示例 — 为 SFT 和 GRPO 准备数据

计算资源估算

阶段 GPU 类型 数量 时间 总 GPU 小时
E3 API calls - 1周 -
E4 A100 80GB 2 1周 ~336
E5 A100 80GB 4 2周 ~1344
E6 A100 80GB 2 1周 ~336
总计 ~2016