docs: add question-gen v2 diagnosis and locked redesign direction
This commit is contained in:
@@ -0,0 +1,74 @@
|
|||||||
|
# 出题质量 v2 诊断与重构策略:Phase A 为何不够、四层病灶、锁定方向
|
||||||
|
|
||||||
|
- **日期**: 2026-07-15
|
||||||
|
- **触发**: Phase A(grounded selector)落地并生成 30 道 AR 题后,Claude 三 agent + Codex 独立质量抽检均判"未真正过关";遂精读已下载 6 篇论文,定位根因并锁定 v2 重构方向。
|
||||||
|
- **前序**: [2026-07-14-ar30-too-easy-analysis.md](96.7% 太简单诊断)、[2026-07-14-hard-distractor-literature.md](首轮文献调研)、[2026-07-14-grounded-question-gen-phaseA-design.md](Phase A 设计)。
|
||||||
|
|
||||||
|
## 一、质量抽检结论:Phase A 部分奏效,但没解决真问题
|
||||||
|
|
||||||
|
对 Phase A 生成的 12 道新题 + 8 道旧 baseline 做了两次独立抽检:
|
||||||
|
|
||||||
|
| | Claude 三 agent | Codex(独立) |
|
||||||
|
|---|---|---|
|
||||||
|
| 负空间干扰项 | 基本消灭(12 道仅 1 处) | 减少但 grounding **不可审计** |
|
||||||
|
| 仍可 shortcut | 4/12 | **8/12** |
|
||||||
|
| 严格 grounded | 多数 | **仅 1/12** |
|
||||||
|
| 双正解高风险 | 3 处 | **4/12** |
|
||||||
|
|
||||||
|
机制层证据:干扰项视觉分落 [0.05,0.35] 甜区 90%——**但这是 selector 用自己的 VLM 给自己打分(循环自证)**,Codex 一针见血:"视觉可信分包装过的、不可审计的近似答案"。
|
||||||
|
|
||||||
|
## 二、四层病灶(根因)
|
||||||
|
|
||||||
|
| 层 | 病 | 证据 |
|
||||||
|
|----|----|----|
|
||||||
|
| **① grounding 来源** | 用**同一个 VLM 生成+打分**,且是"生成式 judge 打分"而非跨模态度量 → 循环自证、不可审计 | 抽检;GroundAttack 对照 |
|
||||||
|
| **② 题型结构** | **1-vs-3 单共识 + 自由编辑**天然可被:逐槽多数投票、最模糊/子串项获胜(A⊃B)、最长项获胜 | 抽检逐题 |
|
||||||
|
| **③ 歧义控制** | Phase A **松绑了 multi_true**——方向反了,放进更多近双正解 | 抽检 4 道双正解 |
|
||||||
|
| **④ 对抗信号位置** | 只做后置过滤(Phase B);过滤天生分不清"难"和"歧义",且产量靠反复补生成 | AFLite 自认局限 |
|
||||||
|
|
||||||
|
## 三、文献回挖(6 篇,对症三缺口)
|
||||||
|
|
||||||
|
### GroundAttack(grounding 的正解 + 关键纠偏)
|
||||||
|
- **三个独立冻结模型**:Qwen2.5VL 描述 / DeepSeek-V3(纯文本 LLM)生成候选 / **SigLIP(CLIP) 打分**。生成候选的模型**看不到视频**,结构上无法自评。
|
||||||
|
- **打分是跨模态 embedding 相似度**(候选文本嵌入 vs 真实帧视觉嵌入的 cos),**不是 VLM 生成一个分**。Clustering+CLIP:K-means 聚类 → 每簇取与真实帧 argmax。
|
||||||
|
- **纠偏**:只把自评 VLM 换成第二个 VLM(MiniMax-M3)只解决"同模型循环",**仍不是 GroundAttack 机制**(那是 embedding 度量)。且 bge 是纯文本、算不了跨模态,跨模态必须 CLIP/SigLIP。
|
||||||
|
- GroundAttack 独立验证了"grounded",**没独立验证"wrong"**——这是它的短板,正好留给 MiniMax-M3 补。
|
||||||
|
|
||||||
|
### TempCompass / VITATECS / Vinoground(题型 + 歧义)
|
||||||
|
- **放弃 1-vs-3,改对称 1-vs-1 对比对**:VITATECS 五条约束(禁蕴含=杀子串、等信息量=杀最长项、只改单维);Vinoground **正负选项同词不同序**(bag-of-words 相同 → 长度/具体度线索结构上不存在)+ **双向 AND 评分**(问 A 问 B 都对才算,杜绝蒙)。
|
||||||
|
- **text-only 盲答过滤**:Vinoground 0 帧探针 / VITATECS NLI 蕴含过滤——去视频只喂选项,高于随机就剔。
|
||||||
|
- **歧义靠收紧不靠松绑**:全用"人在环 + 一致性 κ + 高精度过滤器(宁杀错勿放歧义)"。VITATECS 原话"更在乎 precision 而非 recall"。
|
||||||
|
- 警钟:随机换词/名词替换干扰项极易被解(74.5–90.3%),动作反事实必须落在**动词/事件结构** + 等信息量 + 禁蕴含。
|
||||||
|
|
||||||
|
### AFLite / AdVQA(对抗信号位置)
|
||||||
|
- AFLite 作者**自认**:模型化过滤**分不清"题难"和"题烂/歧义"**(过滤后人类正确率反降)。我们的作弊者门是其单模型无集成弱化版,**必然继承并放大盲点**。
|
||||||
|
- AFLite 不解决产量,靠超大池剔剩 1/3 糊弄;无补生成。
|
||||||
|
- AdVQA 正解:**对抗前移到生成端**(出题当下让活模型试答)+ **独立于求解器的多裁判答案一致性门**(10 人,<6 confident 或无共识→剔)。自动对抗(无一致性校验)会制造歧义/标签漂移——同我们盲点。
|
||||||
|
|
||||||
|
## 四、两个把方案串起来的洞察
|
||||||
|
|
||||||
|
1. **Phase B 翻转门 = Vinoground 双向对比**:机制对,但**用错层**——应把"对称 before/after 对"做成**生成格式**,而非先生成 1-vs-3 再事后翻转检验。
|
||||||
|
2. **MiniMax-M3 定位不是 grounding scorer,是独立"错误性/歧义核验器"**:补 GroundAttack 缺的"wrong"验证 + 堵"歧义当难度"盲点。
|
||||||
|
|
||||||
|
## 五、锁定的 v2 重构方向(用户已拍板:三个都选治本重构)
|
||||||
|
|
||||||
|
| 岔路 | 决定 |
|
||||||
|
|------|------|
|
||||||
|
| **题型** | **全面转对称 1-vs-1 对比对**(改 4 选项契约,评测/训练侧跟着动) |
|
||||||
|
| **grounding** | **引入独立 CLIP/SigLIP 依赖**(跨模态 embedding 相似度,最贴 GroundAttack 原意) |
|
||||||
|
| **对抗位置** | **对抗信号前移到生成端**(作弊者门降为第二道网;主信号生成时产生) |
|
||||||
|
|
||||||
|
目标架构(待 brainstorming 细化):
|
||||||
|
```
|
||||||
|
生成: 出"正解 + 单维反事实"对称对(等信息量/禁蕴含/尽量同词不同序)
|
||||||
|
grounding: 独立 CLIP/SigLIP 对真实帧算相似度选负项(不是 VLM 自评)
|
||||||
|
歧义门: MiniMax-M3 独立核验"确实错、非双正解" + NLI 禁蕴含 + text-only 盲答过滤(收紧)
|
||||||
|
对抗: 主信号前移生成端; 作弊者门 = 第二道网; 双向 AND 评分
|
||||||
|
```
|
||||||
|
|
||||||
|
**下一步**:brainstorming 定 question-gen v2 设计(重点解决:对比对如何进 inference/eval/training 的 4 选项契约、CLIP 适配器如何装配、生成端对抗的反馈环怎么设计、Phase A/B 既有代码如何取舍)→ Codex 审 → writing-plans → 实现。
|
||||||
|
|
||||||
|
## 相关
|
||||||
|
- 论文:`reference/papers-distractor-gen/`(GroundAttack/TempCompass/VITATECS/Vinoground/AFLite/AdVQA)
|
||||||
|
- 现有实现:`app/question_gen/distractor_selector.py`(VLM 自评,待换 CLIP)、`adversarial_filter.py`(Phase B 翻转门,待前移为生成格式)
|
||||||
|
- 独立 VLM:`.env` 的 `M3_VL_LLM_*`(MiniMax-M3,异于生成用的 qwen3.6-plus)
|
||||||
Reference in New Issue
Block a user