先记住这个答案
应选择能代表目标任务的典型输入输出对,覆盖不同子类型和难度,特別要包含边界或困难案例以引导模型处理异常,同时避免示例间的模糊或冲突。通过小规模评估集测试示例组合,选择稳定提升准确率的集合。
- 示例需代表目标输出分布
- 多样性可提升泛化能力
- 边界示例减少错误类型
- 避免示例间冲突与偏差
机制:示例如何影响模型输出
示例在上下文学习中为模型提供了模式锚点。模型根据示例推断输入输出之间的映射规则,因此示例的分布会直接塑造模型的条件概率输出。如果示例只包含某类常见模式,模型会偏向断言该模式为普遍规则,忽略其他可能性。
多样性和边界覆盖之所以重要,是因为它们起到规则约束和反例作用。边界示例(如模糊类别、临界值)能抑制模型对常见模式的过度泛化,促使其考虑更多特征。同时,示例顺序也影响效果,建议将复杂或边界示例放在中间或末尾,避免开头示例过度主导。
场景:新闻分类中的示例布局
假设任务是将新闻标题分类为技术、体育、政治或财经。初期仅给出两个体育和技术示例,模型常将涉及公司的标题误判为技术。增加一个“某公司财报发布”作为财经边界示例后,模型学会了区分实体与行业关键词。随后加入“运动员投资科技公司”的融合案例,模型输出逐渐稳定。
关键处理是确保示例间有对比:技术上,财经示例展示了关键词“财报”而非“公司”,体育示例强调人名和赛事。同时,将困难案例放在最后,让模型在输出前参考最新示例,在假设的小规模评估中准确率预期有所提升。这验证了边界覆盖与顺序调整的协同效应。
适用边界:何时示例选择作用有限
少样本示例的引导能力受模型基础能力与任务复杂度限制。若任务需要深层推理或专业常识,示例无法补偿模型先天不足,比如医学诊断或数学证明。此时示例仅能固定输出格式,不能保证推理正确。
示例选择优化存在边际收益递减。当任务类别极多且彼此关联模糊时,少量示例难以覆盖所有组合,可能引入偏差。最稳妥做法是先做零样本预实验,找出模型薄弱点,再有针对性地添加示例;否则盲目堆示例会浪费 tokens 且降低泛化。
容易答错的地方
- 示例必须越多样越好
- 多样性不能脱离任务分布。极端多样化会让模型找不到共同模式,反而使输出随机。应基于验证集误差分析,优先补充高错误率子类别的示例,而非盲目追求枚举。
- 边界示例越多越安全
- 大量罕见边界案例会使模型过度警惕,在正常输入上也输出保守或不匹配结果。每个边界示例都需与任务的目标误差类型匹配,通常每类两三个已足够,过多反例反而扰乱模式归纳。
面试官还会怎么问?
示例顺序会影响效果吗?
会。开头示例有强锚定作用,后续示例会修正但未必完全消除偏差。一般将最典型的示例放前面,边界或困难示例放在靠后位置,这样模型在生成前能参考最近示例,并减少首因效应的负面影响。
如何判断示例是否起到了作用?
构建一个小型固定评估集,包含例如20个左右代表真实分布的输入,记录不同示例组合下的准确率与错误模式。若增加某示例后特定错误减少而其他错误不增,则有效;若全局下降则需调整。这个步骤需要可重复,但避免过度调优。
与微调相比,少样本示例有什么本质不同?
少样本在推理时即时提供条件模式,不改变模型权重,但受限于上下文窗口,无法学到长期规律。微调会持久修改权重,能编码复杂知识,但需要标注数据。示例适合快速适配少量任务,微调适合稳定专用的场景。
参考资料
示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。