学习范式
少样本学习(few-shot learning)
/ FYOO-shot LER-ning /
给一个孩子看两三张斑马的图片,从此他就能一辈子认出斑马。他不需要一万个例子,因为他早已懂得动物、条纹和形状——这个新概念,恰好嵌进了他原本就丰富的理解里。少样本学习追求的正是这个:只用一小把例子——常常每个类别仅一到五个——就教会模型一个新类别或新任务。
诀窍在于,真正的重活早先就干完了。少样本系统是搭在一个已经广泛学习过的模型之上的——通过预训练、自监督学习或元学习——因此它身上带着强大的通用表示。有了这层底子,几个例子就足以「指向」那个新事物,而不必从零去「定义」它。在大语言模型里,这常表现为「上下文内」的少样本学习:你把几个例子直接放进提示里,模型当场就领会了规律,连一个权重都不用改。
在带标签数据稀缺或昂贵的地方——罕见病、小众语言、照片寥寥的新产品——它确实威力不小。但要诚实地说清它为何奏效:它并非从无到有地学,而是死死地倚靠先前学到的一切。如果新任务落在基础模型已有理解之外,几个例子也救不了它。而且例子如此之少,结果会很「吵」——你恰好挑中的是哪一小把,往往会让结果大幅摆动。
你想让一个语言模型把客服工单分成「账单」「故障」或「功能请求」三类。你不去微调,而是在提示里写下三个带标签的例子——每类一个——再跟上那条新工单。模型从这三个例子里读出规律,就把新工单正确地归了类。这就是少样本的、上下文内的学习,全程无需重新训练。
提示里几个例子就教会了任务,权重纹丝不动。
少样本学习并非从零开始学——它大量借用了广泛的先验训练。如果任务落在基础模型已知范围之外,再多几个例子也补救不了。
又称
另见