论文信息
- 标题: In-Context Learning Demonstration Selection via Influence Analysis
- 作者: Vinay M.S., Minh-Hao Van, Xintao Wu
- 机构: University of Arkansas
- 发表: arXiv preprint
- 链接: arXiv | PDF
核心贡献
InfICL利用影响函数(Influence Functions)分析训练样本对模型预测的影响,识别最有价值的ICL示例。相比随机选择或embedding相似度,InfICL能找到真正”有影响力”的示例,在多个数据集上提升2-5%准确率,且无需模型微调。
问题与背景
示例选择的难题
ICL性能的高度敏感性
ICL效果严重依赖示例选择:
1 | # 相同任务,不同示例 |
问题:如何自动选择最优示例?
现有方法的局限
| 方法 | 思路 | 局限 |
|---|---|---|
| Random | 随机采样 | 不稳定,方差大 |
| Similarity | Embedding相似度 | 相似≠有用 |
| Diversity | 最大化多样性 | 可能选到离群点 |
| LLM-based | 用大模型打分 | 成本高,不scalable |
方法详解
InfICL方法
核心思想
借用影响函数(来自可解释性研究):
1 | Influence(z_train, z_test) = -∇_θ L(z_test) · H^(-1) · ∇_θ L(z_train) |
直观理解:
- 如果移除训练样本z_train,测试样本z_test的loss会变化多少?
- 变化大 → z_train对z_test有高影响力
应用到ICL:
- 训练样本 → ICL示例
- 测试样本 → 当前查询
- 选择影响力最大的示例
简化版实现
完整影响函数计算Hessian矩阵(计算量大),作者提出简化:
1 | def compute_influence_simplified(model, demo, query): |
与Embedding相似度的区别
Embedding相似度:
1 | similarity = cosine(embed(demo), embed(query)) |
Influence:
1 | influence = gradient_alignment(demo, query) |
示例:
- Query: “The movie was terrible”
- Demo A: “The film was awful” (高相似度)
- Demo B: “Not recommended, very disappointing” (低相似度但高影响力)
Demo B可能因为包含关键推理模式而更有用。
实验结果
主要性能
| 数据集 | Random | Similarity | InfICL |
|---|---|---|---|
| SST-2 | 82.3% | 85.1% | 87.4% |
| TREC | 76.5% | 79.2% | 81.8% |
| AG News | 84.1% | 85.7% | 87.2% |
平均提升:比Random高5%,比Similarity高2.3%。
效率对比
| 方法 | 计算时间(1000 queries) |
|---|---|
| Random | <1s |
| Similarity | 12s |
| InfICL | 15s |
| LLM-based | 340s |
结论:InfICL成本略高于相似度,但远低于LLM打分。
示例数量的影响
1 | # 固定总token预算,对比策略 |
深度分析
为什么影响函数有效?
假设1:激活相关神经模式
高影响力示例激活与query相关的神经回路:
1 | Demo(高影响力) + Query → 激活pattern X → 正确预测 |
假设2:提供有用的”梯度信号”
从优化角度,高影响力示例提供了正确方向的梯度:
1 | 如果要微调模型使其在query上表现好, |
失败案例
Case: 领域偏移
Query: “This cryptocurrency is revolutionary” (金融领域)
Demo Pool: 电影评论数据集
InfICL仍选择电影评论 → 效果不佳
原因:影响函数基于embedding,跨领域时embedding不可靠。
解决:先做领域过滤,再用InfICL。
实用价值
实现建议
1 | # 生产级InfICL流程 |
何时使用InfICL
✓ 推荐:
- Demo pool较大(>100个候选)
- 任务性能敏感
- 有时间做预处理(离线计算embedding)
✗ 不推荐:
- 实时场景(延迟敏感)
- Demo pool很小(<20个)
- 跨领域迁移
与检索增强的结合
1 | # Retrieval + InfICL 两阶段 |
总结
InfICL提供了一种原则性的示例选择方法:
核心优势:
- ✓ 理论基础清晰(影响函数)
- ✓ 效果优于baseline(+2-5%)
- ✓ 无需模型微调
- ✓ 可扩展性好
适用场景:
- Few-shot分类/QA任务
- Demo pool丰富的情况
- 需要稳定性能
局限:
- 跨领域泛化有限
- 需要预计算开销
未来方向:
- 结合主动学习(迭代收集高影响力demo)
- 扩展到multi-modal示例选择
- 研究influence的可解释性