MIB:机制可解释性基准

概述

MIB (Mechanistic Interpretability Benchmark) 是ICML 2025提出的首个系统性评估机制可解释性方法的基准。长期以来,机制可解释性领域缺乏统一的评估标准,导致不同方法之间的比较困难、结果难以复现。MIB的提出填补了这一空白。

核心贡献

  • 首个标准化、可复现的机制可解释性评估框架
  • 涵盖电路定位和因果变量定位两大Track
  • 提供公共测试集和私有测试集的双轨评估

框架设计

双轨架构

┌─────────────────────────────────────────────────────────┐
│                      MIB 基准框架                         │
├─────────────────────────────────────────────────────────┤
│                                                          │
│  Track A: 电路定位 (Circuit Localization)                │
│  ├─ 目标:识别任务相关的模型组件                          │
│  ├─ 方法:归因修补、边剪枝、信息流分析                    │
│  └─ 指标:CPR, CMD, AUROC                               │
│                                                          │
│  Track B: 因果变量定位 (Causal Variable Localization)     │
│  ├─ 目标:将隐藏向量与语义概念对齐                        │
│  ├─ 方法:SAE、DAS、PCA、DBM                            │
│  └─ 指标:IIA (Interchange Intervention Accuracy)        │
│                                                          │
└─────────────────────────────────────────────────────────┘

数据集构成

任务数据集描述样本数
IOIIndirect Object Identification”When John and Mary went out, John gave an apple to ___“1,000
MCQAMulti-Choice QA颜色/物体4选1问题500
Arithmetic算术运算1-2位数字加减法1,000
ARCAI2 Reasoning Challenge科学常识推理500

评估模型

模型参数量来源说明
GPT-2 Small117MOpenAI基准模型
Qwen-2.50.5BQwen小型模型
Gemma-22BGoogle中型模型
Llama-3.18BMeta大型模型
InterpBench-定制含已知真值电路

Track A:电路定位

评估方法

1. 归因修补 (Attribution Patching)

原理:通过梯度近似计算每个注意力头和MLP神经元对输出的贡献。

其中 是第 层第 个组件的激活值。

2. ACDC (Automatic Circuit Discovery)

原理:递归地移除对输出影响最小的边,保留核心电路。

def acdc(model, task, threshold=0.01):
    circuit = initialize_full_circuit(model)
    
    while True:
        # 计算每条边的归因分数
        attributions = compute_attributions(model, circuit)
        
        # 找到贡献最小的边
        min_edge = find_min_attribution(attributions)
        
        # 如果贡献小于阈值,则移除
        if attributions[min_edge] < threshold:
            circuit.remove_edge(min_edge)
        else:
            break
    
    return circuit

3. 边剪枝 (Edge Pruning)

原理:学习每个边是否应该保留的二元掩码。

评估指标

CPR (Circuit Performance Ratio)

定义:忠实度曲线下的归一化面积。

其中忠实度曲线表示移除不同比例边时的性能变化。

解读

  • CPR = 1:完美的电路定位
  • CPR > 0.8:高质量定位
  • CPR < 0.5:随机定位

CMD (Circuit-Model Distance)

定义:忠实度曲线与完美直线之间的面积。

解读

  • CMD = 0:完美定位(每移除p%的边,性能下降p%)
  • CMD越大:定位越不精确

实验结果

方法IOI CPRMCQA CPR平均 CPR平均 CMD
Random0.310.290.300.69
Activation Patching0.720.680.700.31
ACDC0.680.710.690.33
Attribution Patching0.780.740.760.25
Edge Pruning0.750.720.730.28

关键发现:归因修补(Attribution Patching)在此基准上表现最佳,超过了更复杂的ACDC方法。

Track B:因果变量定位

评估方法

1. 稀疏自编码器 (SAE)

原理:将神经元激活分解为更细粒度的特征。

其中 是稀疏激活, 是字典向量。

2. DAS (Direct Feature Attribution)

原理:通过直接干预验证特征的因果作用。

def das_feature_score(feature, model, intervention_pairs):
    scores = []
    for (clean, corrupted, expected_diff) in intervention_pairs:
        # 激活干净样本
        act_clean = model.forward(clean, layer=feature.layer)
        # 干预激活值
        act_intervened = act_clean.clone()
        act_intervened[feature.index] = model.forward(corrupted)[feature.index]
        # 测量效果
        effect = model.predict(act_clean) - model.predict(act_intervened)
        scores.append(abs(effect - expected_diff))
    
    return -mean(scores)  # 负MSE,越高越好

3. DBM (Disentanglement Metric via Benchmarking)

原理:基于解耦质量的基准测试。

指标:IIA (Interchange Intervention Accuracy)

定义:对识别的因果变量进行交换干预,验证是否产生预期行为变化。

其中 是干预后的实际输出, 是预期输出。

实验结果

方法IOI IIAMCQA IIAArithmetic IIA平均 IIA
SAE0.580.520.610.57
DAS0.720.690.750.72
PCA0.450.430.480.45
DBM0.630.580.670.63

关键发现:DAS在因果变量定位上显著优于SAE,表明监督方法优于非监督方法。

综合分析

方法对比总览

方法类别代表方法优点缺点
梯度方法Attribution Patching快速、近似准确近似可能不精确
剪枝方法ACDC、Edge Pruning忠实度高计算量大
字典学习SAE可扩展不总能找到规范单元
监督方法DAS精确需要标注数据

关键洞察

  1. 简单方法的威力:归因修补等简单梯度方法在电路上表现优异
  2. 边级别优于节点级别:细粒度的边定位优于粗粒度的节点定位
  3. SAE的局限性:SAE并不总能找到”规范单元”,特征一致性差
  4. 高方差问题:SAE在不同运行、不同任务间表现不一致

任务难度分析

任务发现难度定位难度验证难度
IOI
MCQA
Arithmetic
ARC

使用指南

1. 选择合适的方法

def select_method(task_type, compute_budget):
    if compute_budget < 10:  # 有限计算
        return "AttributionPatching"
    elif compute_budget < 100:  # 中等计算
        return "EdgePruning"
    else:  # 充足计算
        return "ACDC"

2. 评估流程

def evaluate_circuit_discovery(method, model, task_data):
    # 1. 电路发现
    circuit = method.discover(model, task_data)
    
    # 2. 计算CPR
    cpr = compute_cpr(model, circuit, task_data)
    
    # 3. 计算CMD
    cmd = compute_cmd(model, circuit, task_data)
    
    # 4. 综合评估
    return {
        "cpr": cpr,
        "cmd": cmd,
        "method": method.name,
        "compute": method.compute_cost
    }

3. 结果解读

def interpret_results(results):
    cpr = results["cpr"]
    cmd = results["cmd"]
    
    if cpr > 0.7 and cmd < 0.3:
        return "High Quality: Circuit is well-identified"
    elif cpr > 0.5 and cmd < 0.5:
        return "Moderate Quality: Partial circuit found"
    else:
        return "Low Quality: Method may not be suitable"

与现有工作的关系

与BlackboxNLP的关系

MIB借鉴了BlackboxNLP的共享任务模式,提供:

  • 公共排行榜
  • 标准评估协议
  • 方法复现指南

与SAE-Lens的关系

SAE-Lens提供了SAE特征分析工具,MIB补充了:

  • 标准化评估框架
  • 跨方法比较协议
  • 质量度量标准

局限性与未来方向

当前局限

  1. 任务覆盖有限:仅4个任务类型
  2. 规模限制:主要在1B以下模型验证
  3. Ground Truth稀缺:仅InterpBench有真值

未来扩展

  1. 更多任务:代码推理、长文本理解
  2. 更大模型:扩展到70B+模型
  3. 动态电路:时序任务的电路发现
  4. 跨层电路:多层协作的复杂电路

相关阅读

参考文献