契机
前段时间笔者读到OpenAI使用GPT-4来标注的Blog[1],对于其中迭代标注规则的部分印象深刻。
于是,笔者回看曾分享过的论文,归纳出使用LLM标注的3种范式: 炼丹式、工具式、智能式 。
不同的范式背后反映着不同的思想,本文旨在介绍这3种范式的特点和优缺点,希望给读者带来启发。
三种标注范式
范式1:炼丹式
这一范式的特点在于:
- 重心不在于调整prompt中的标注规则部分,而在于调参数、应用prompt技术(如Self-Consistency[2]、Chain-of-Thought[3]、Bias Calibration[4])、Few-Shot Prompting等);
- 目标是最大化dev set上的任务指标。
这一范式的本质是 炼丹 ,和传统的ML过程是一样的:在dev set上,通过调整超参、应用prompt技术,以得到能带来最佳效果的prompt。
其优点、缺点和适用场景如下:
- 优点 :整个过程可以高度自动化;
- 缺点 :难以针对badcase进行迭代;
- 适用场景 :Cold-Start。在没有业务经验的时候,可以快速得到第一版标注结果。
范式2:工具式
这一范式的代表是Snorkel的论文:Language Models in the Loop: Incorporating Prompting into Weak Supervision[5]。可参照笔者的解读文章。
该范式的特点是:
- 把LLM当作局部的子标注器,例如判断这段话里是否有联系方式;
- 人类负责把大的标注任务,拆解为多个LLM子标注器的组合。拆解和组合方式,取决于数据分析和业务理解。
这一范式的本质是Programmatic Weak Supervision思路的扩展。
其优点、缺点和适用场景如下:
- 优点 :人类掌控全局,因此更可控;对LLM的依赖性和要求较低,可以用较弱的LLM;支持迭代,迭代的思路是新增LLM标注器、或者修改原有的LLM标注器;
- 缺点 :框架相对复杂,人类使用者需要学习如何分析数据、设计子标注器;
- 适用场景 :通用。
范式3:智能式
这一范式的代表是OpenAI使用GPT-4来标注的Blog[6]。
此范式的特点如下:
- 所有的标注要求都通过prompt来表达,包括标签定义、标注边界情况的划分(例:如果XXXX,则标注XXX) ;
- 支持迭代,迭代Loop是 LLM标注 -> 找到标注错误 -> 让LLM解释标注原因 -> 迭代标注规则, 迭代目标是让让标注规则越来越精准 。
这一范式的本质是 把LLM当作智能体,人类则聚焦到标注的核心:让标注规则更清晰、准确 。
此范式的优点、缺点和适用场景如下:
- 优点 :迭代只需修改标注规则,无需代码,且对比范式2,标注规则更加具体、完整、可理解、可复用(范式2是将标注规则 抽象 为 子标注器+逻辑关系);
- 缺点 :对LLM要求高,尤其是对复杂指令的理解能力,因为标注规则会包含划分边界的if-else逻辑、对标签的详细定义等;
- 适用场景 :通用。
应用范式3的一个简单例子
笔者使用智谱清言[7],简单尝试了一下如何用范式3来优化新闻标题分类标注员。
这个标题的Ground Truth为“游戏”,但被识别为了“体育”,在增加标注规则
如果提到电子竞技游戏,请标注为“游戏”
之后,便能纠正LLM的标注结果。
各范式间的关系
- 智能式和炼丹式,都是用一个全局性的LLM来完成标注任务;而工具式里,LLM的作用是局部性的;
- 智能式和工具式,核心是迭代标注规则;而炼丹式的核心是迭代与业务无关的变量(参数、prompt技术等);
- 炼丹式可以结合在智能式、工具式当中,以进一步提升效果;
- 在工具式里,也可以加入一个全局性的智能式LLM标注员。
标注的本质以及LLM的作用
标注 = 常识 + 标注规则。
常识 ,对应先验知识。有了常识能力,可以在仅提供类别名称、而未提供标注规则的情况下进行标注。 这也是零样本NLP模型(如Siamese-uniNLU[8]、paddleNLP[9])的核心 。
标注规则 ,核心在于帮助标注员明确任务、区分边界。需要做的工作包括:任务定义、类别定义、边界处理逻辑等。
而将LLM引入标注,意味着什么呢?
- 有了一个具备相当常识的标注员 。就算不提供细则,也能有良好的效果(范式1);
- 有了一个能听懂人话、高效的标注员 。标注规则通过自然语言表达,也通过自然语言修改,成本低、速度快、且人类可以理解(范式2、范式3)。
总结
本文介绍了LLM标注的3种范式: 炼丹式、工具式、智能式 。需要提醒的是,这3种范式并不是非此即彼,而是可以结合使用,进行区分是为了加深对LLM标注的理解。
3种范式的总结如下。
当然,在具体的实践过程中,还要具体情况具体分析。读者还需综合考虑 项目阶段(cold-start or 迭代期)、LLM的能力、应用人员的能力 等诸多因素,通过试验来找到最适合业务的方法。
关注笔者
笔者会定期分享论文解读、技术实践等内容。关注笔者,一起在NLP和AI的世界中漫游吧:)
参考资料
[1] using GPT-4 for content moderation: https://openai.com/blog/using-gpt-4-for-content-moderation
[2] Self-Consistency Improves Chain of Thought Reasoning in Language Models: https://openreview.net/pdf?id=1PL1NIMMrw
[3] Chain-of-Thought Prompting Elicits Reasoning in Large Language Models: https://proceedings.neurips.cc/paper\_files/paper/2022/file/9d5609613524ecf4f15af0f7b31abca4-Paper-Conference.pdf
[4] Calibrate Before Use: Improving Few-shot Performance of Language Models: http://proceedings.mlr.press/v139/zhao21c.html
[5] Language Models in the Loop: Incorporating Prompting into Weak Supervision: https://arxiv.org/pdf/2205.02318.pdf
[6] using GPT-4 for content moderation: https://openai.com/blog/using-gpt-4-for-content-moderation
[7] 智谱清言: https://chatglm.cn/
[8] Siamese-UniNLU-base: https://modelscope.cn/models/damo/nlp\_structbert\_siamese-uninlu\_chinese-base/summary
[9] PaddleNLP-零样本分类: https://github.com/PaddlePaddle/PaddleNLP/blob/develop/docs/model\_zoo/taskflow.md