chore: snapshot in-progress question-gen work before preflight fixes

This commit is contained in:
2026-07-16 04:12:21 -04:00
parent 11a5545f57
commit a4c429b247
39 changed files with 738 additions and 283 deletions
+81
View File
@@ -0,0 +1,81 @@
# 补生 Video-MME 6 类缺失题型(180 题)
# 原 360 题中有 6 类错误类型已归档,此配置只生成缺失的 6 类。
# ── 建树模块 ──(与 question_gen_360.yaml 一致)
tree:
max_paragraphs_per_l2: 5
l1_segment_duration: 600.0
l2_clip_duration: 60.0
l3_fps: 0.5
l2_representative_frames: 6
cache_dir: "cache/trees"
concurrency: 16
subtitle_inject: true
srt_window_sec: 5.0
# ── Embedding ──
embed:
backend: "local"
model_name: "BAAI/bge-base-zh-v1.5"
embed_dim: 768
device: "cuda"
# ── Harness ──(占位,出题不使用)
harness:
workspace_dir: "workspaces/default"
store_dir: store
mode: infer
concurrency: 24
max_steps: 40
skill_mode: auto
n_samples: 0
questions: "benchmarks/Video-MME"
skills_version: v1
prompts_version: v1
epochs: 1
gate_e_confirm: 20.0
gate_e_provisional: 3.0
gate_w_net_min: 2
gate_delta_min: 0.02
gate_lambda_dir: -0.642
gate_e_rollback: 10.0
gate_block: 8
gate_n_max: 40
gate_p_low: 0.05
gate_p_high: 0.95
gate_probe_quota: 0.2
gate_gamma_decay: 0.9
gate_cooldown_steps: 2
gate_guard_err: 0.10
edit_budget_start: 5
edit_budget_end: 2
skill_update_mode: patch
appendix_consolidate_threshold: 6
diag_size: 200
diag_correct_ratio: 0.5
val_size: 30
val_correct_ratio: 0.5
test_size: 60
batch_size: 15
min_class_per_batch: 2
batch_correct_ratio: 0.5
momentum_samples: 20
eval_min_per_class: 2
early_stop_patience: 8
use_slow_momentum: true
# ── 出题管线 v2 ──
question_gen_v2:
family_ratios:
retrieval: 0.30
reasoning: 0.25
enumeration: 0.20
visual: 0.15
spatial: 0.10
dedup_threshold: 0.85
retry_limit: 10
heavy_sample_rate: 0.15
output_dir: "store/questions/generated-v2-180补"
per_type: 30 # 6 类 x 30 = 180 题
concurrency: 24
seed: 43 # 不同于原始 seed=42,避免生成相同题目
+87
View File
@@ -0,0 +1,87 @@
# config/default.yaml
# 科研实验配置默认值来源(会在实验中反复扫动/对比的参数)。
# 工程配置(少变、敏感)由 .env / pydantic-settings 管理,不在此文件。
# 优先级: CLI args > 此文件。CLI 仅用于单次临时覆盖。
# ── 建树模块 ──
tree:
max_paragraphs_per_l2: 5
l1_segment_duration: 600.0 # L1 段时长(秒)
l2_clip_duration: 60.0 # L2 clip 时长(秒)
l3_fps: 0.5 # L3 帧提取频率(帧/秒)
l2_representative_frames: 6 # L2 VLM 描述用的代表帧数
cache_dir: "cache/trees"
concurrency: 16 # asyncio Semaphore 上限
subtitle_inject: true # 建树时是否注入 SRT 字幕
srt_window_sec: 5.0 # 字幕匹配时间窗口(前后各 N 秒)
# ── Embedding ──
embed:
backend: "local"
model_name: "BAAI/bge-base-zh-v1.5"
embed_dim: 768
device: "cuda"
# ── Harness 自进化循环 ──
harness:
workspace_dir: "workspaces/default"
store_dir: store
mode: infer
concurrency: 24
max_steps: 40
skill_mode: auto
n_samples: 0
questions: "benchmarks/Video-MME"
skills_version: v1
prompts_version: v1
epochs: 1
# CE-Gate 参数
gate_e_confirm: 20.0
gate_e_provisional: 3.0
gate_w_net_min: 2
gate_delta_min: 0.02
gate_lambda_dir: -0.642
gate_e_rollback: 10.0
gate_block: 8
gate_n_max: 40
gate_p_low: 0.05
gate_p_high: 0.95
gate_probe_quota: 0.2
gate_gamma_decay: 0.9
gate_cooldown_steps: 2
gate_guard_err: 0.10
# 进化参数
edit_budget_start: 5
edit_budget_end: 2
skill_update_mode: patch
appendix_consolidate_threshold: 6
# 数据池
diag_size: 200
diag_correct_ratio: 0.5
val_size: 30
val_correct_ratio: 0.5
test_size: 60
# mini-batch
batch_size: 15
min_class_per_batch: 2
batch_correct_ratio: 0.5
momentum_samples: 20
eval_min_per_class: 2
early_stop_patience: 8
use_slow_momentum: true
# ── 出题管线 v2 ──
question_gen_v2:
family_ratios:
retrieval: 0.30
reasoning: 0.25
enumeration: 0.20
visual: 0.15
spatial: 0.10
dedup_threshold: 0.85
retry_limit: 10
heavy_sample_rate: 0.15
output_dir: "store/questions/generated-v2-360"
per_type: 30 # 12 类 x 30 = 360 题
concurrency: 24
seed: 42
+64
View File
@@ -0,0 +1,64 @@
# config/train_ar30.yaml
# Action Recognition 训练 — 基于 SubPattern 靶向生成的 30 题
# 对比基线: v2-360 的 AR 题(100% 单帧,训练无效)
# 本次: AR30 题(6 种失败子模式靶向,跨段时序)
harness:
workspace_dir: "workspaces/train-ar30"
store_dir: store
mode: train
run_id: train_ar30_v1
concurrency: 24
max_steps: 40
skill_mode: auto
n_samples: 0
questions: "generated-ar30"
skills_version: v1
prompts_version: v1
epochs: 3
# CE-Gate 参数(沿用 default.yaml
gate_e_confirm: 20.0
gate_e_provisional: 3.0
gate_w_net_min: 2
gate_delta_min: 0.02
gate_lambda_dir: -0.642
gate_e_rollback: 10.0
gate_block: 8
gate_n_max: 40
gate_p_low: 0.05
gate_p_high: 0.95
gate_probe_quota: 0.2
gate_gamma_decay: 0.9
gate_cooldown_steps: 2
gate_guard_err: 0.10
# 进化参数
edit_budget_start: 5
edit_budget_end: 2
skill_update_mode: patch
appendix_consolidate_threshold: 6
# 池配置 — per_category 单题型
pool_split_mode: per_category
task_types:
- "Action Recognition"
train_ratio: 0.667
test_questions: "benchmarks/Video-MME"
run_holdout_eval: false
# mini-batch
batch_size: 10
min_class_per_batch: 2
batch_correct_ratio: 0.5
momentum_samples: 20
eval_min_per_class: 2
early_stop_patience: 4
test_size: 63
diag_size: 20
diag_correct_ratio: 0.5
val_size: 10
val_correct_ratio: 0.5
use_slow_momentum: true
embed:
backend: "local"
model_name: "BAAI/bge-base-zh-v1.5"
embed_dim: 768
device: "cuda"
+12 -4
View File
@@ -14,10 +14,18 @@ video_split:
val_wrong_min: 20 # validation 池最少错题数(McNemar 检验功效阈 ≈ 20,低于则信号不足)
val_ratio: 0.3 # validation 占 trainval 视频组总数的比例
seed: 7 # 贪心选择器预洗牌 + 视频组题级切分种子(打破等增益 / 等槽平局)
floor_k: # 各高信号 task_type 的 T2 defect 下限(硬约束)—— 占位,标定后替换
Counting Problem: 3 # 取克制值 min(诊断可用 defect 数, 3),避免把信号全抽进 trainval
Object Reasoning: 3
Action Reasoning: 3
floor_k: # 各 task_type 的 T2 defect 下限(硬约束)—— 均衡覆盖全 11 类,标定于 1cb1c203 真实 T2 分布
Object Reasoning: 5 # T2=25
Information Synopsis: 5 # T2=13
Action Reasoning: 5 # T2=11
Counting Problem: 5 # T2=10
Temporal Reasoning: 2 # T2=5
Object Recognition: 2 # T2=5
Action Recognition: 2 # T2=5
Attribute Perception: 1 # T2=3
Temporal Perception: 1 # T2=2
OCR Problems: 1 # T2=2
Spatial Perception: 1 # T2=1
diag: # 诊断口径指纹三分量(隔离不同诊断配置的信号,参与主键)
prompt_version: diagnose_v1 # 诊断 prompt 版本标识(换 prompt 即换指纹,旧记录不被覆盖)