示例代表性为什么比数量更重要?

我以前整理 Few-shot 示例时,最容易犯的错就是“凑数”:觉得给模型多塞几条,它总该懂了吧。结果往往很尴尬——示例看着不少,输出却像只记住了某个关键词,换个说法就跑偏。

问题不在数量,而在这些例子到底教会了什么。

拿投诉识别来说,如果我连续放进好几句“我要退货”,模型学到的很可能只是“退货”这个信号,而不是“投诉”这类意图。可真实表达哪有这么整齐?有人直接抱怨,有人阴阳怪气,有人语气很冷静,却明确要求解决问题。把这些不同表达放进少量示例里,才是在告诉模型:我要它识别的边界到底在哪里。

好例子像一组有分工的队友

我现在挑示例,不再只选“最标准”的那种,而是会故意保留一点不那么好判断的边界样本。尤其是两个类别容易混淆时,各放一条最容易让人犹豫的表达,往往比再补几条同类型句子有用得多。

代表性不是追求花样越多越好,而是覆盖任务里真正会出现的变化:不同语气、不同说法、不同上下文,以及最容易误判的位置。它们像几盏灯,把模型最可能走错的路照出来。

数量增加,也可能是在增加噪音

重复示例会制造一种“我已经讲得很清楚”的错觉,但它们常常只是在反复强调同一个模式。示例一多,格式还不统一,模型反而更难判断哪些是任务规则,哪些只是偶然写法。

所以我更愿意先整理几条各有代表性的例子,再把输入和输出格式固定下来。示例不需要堆得满满当当,关键是每一条都能回答一个问题:它补上了什么新的判断信息?

真正好用的 Few-shot,不像题海战术,更像有人用很少的话,把重点、例外和边界都讲明白。数量只是表面,代表性才是模型能不能“听懂”的那部分。

参与讨论

0 条评论

延伸阅读