AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


大模型+数据标注=?
发布日期:2024-04-16 15:15:00 浏览次数: 3453 来源:鹤啸九天


引言  

大模型这么强了,数据标注员会下岗吗?怎么驾驭大模型?


随着机器学习/深度学习的兴起,数据成了“天花板”,有什么样的数据,就有什么样的模型效果,如果数据质量不佳,什么都白搭。正所谓:

    “garbage in garbage out”

    于是,人工标注成了项目实施的必备环节,直接关系到产品效果。

    然而,标注过程相对枯燥、重复、无趣,成了没有感情的工具人…向人工智能训练师们致敬


    (0)人工标注介绍

    数据标注是指对文本、图像、音频、视频等数据进行高质量、高精度地打上标签,以满足机器训练学习的需求。

    • ① 数据类型主要分为:文本、图像、语音、视频等

    • ② 标注任务主要有:分类标注、标框标注、区域标注、描点标注和其他标注

    • ③ 人工标注中主要角色:

      • 1) 标注员: 标注数据, 由经过专业培训的人员来担任.在一些特定场合或者对标注质量要求高的行业(例如医疗), 直接由模型训练人员(程序员)或者领域专家来担任.

      • 2) 审核员: 审核已标注数据, 完成数据校对和数据统计, 适时修改错误并补充遗漏的标注. 这个角色往往由经验丰富的标注人员或权威专家来担任.

      • 3) 管理员: 管理相关人员, 发放和回收标注任务

    数据标注过程中,各个角色之间相互协作、相互制约

    图解人工标注基本流程及各方协作关系

    • 角色上,增加了项目经理,负责标注规则宣讲、任务分发、回收、人员调配等

    • 审核员里的修改环节可由质检员承担

    参与标注、质检、审核等环节的人员需要同时兼顾先验知识和标注规则,

    标注的本质:

    • 标注 = 常识 + 标注规则

    • 常识对应先验知识。有了常识能力,仅提供类别名称(未提供标注规则)就能标注。即零样本NLP模型(如Siamese-uniNLU、paddleNLP)的核心。

    • 标注规则帮助标注员明确任务、区分边界。包括:任务定义、类别定义、边界处理逻辑等


    (1)人工标注局限性

    尽管训练师们披星戴月,加班加点,完成数据标注,最终效果未必令人满意。

    以简单的文本分类为例,经过培训的标注人员平均效率 200-800条/天,质检通过后,交付数据仍然有10-30%的错误率。

    原因多种多样

    • 标注规则不确定:初期规则一般由需求方提供,从少量数据+业务经验中提炼而来,难以兼顾大部分情形,这个环节一般需要几轮迭代

    • 标注人员方差:同一句话,不同人的理解不一样

    • 任务难度大:有些样本人都难以区分。


    一些示例告诉你NLP为什么难:

    • cover me !→ 盖外套,还是 掩护? 

    • 你也想犯范范范玮琪犯过的错吗

    • 《绿林俊杰》→ 林俊杰做错了什么?为什么要绿他

    • 碳碳键键能能否否定定律一

    • 书名:无线电法国别研究

    • 他快抱不起儿子了,因为他太胖了 → 到底为啥抱不起来?

    • 中不不建交是受印度的影响 → 中不建交不受印度的影响

    • 同学会标语:从小便相识,大便情更浓

    更多案例见文末

    语音、图像和视频等模态中,文本难度最大,因为语言是人类创造,非结构化,人类沟通过程时为了提升效率,常常:

    • 忽略常识、背景信息(世界模型)—— 还记得文言文、早期电报吗

    • 然后尽可能的压缩(编码)—— 有损压缩,丢失信息

    • 接收者按照自己的常识、背景加以理解(解码)—— 各自的世界模型不同,信息不全,解码结果当然就不同了


    总结下人工标注面临的问题

    • 部分任务需要有领域知识:如金融情感分类任务标注要求同时具有金融 + 社交媒体知识,对标注员的专业性要求高

    • 整体准确率有限:即便人类也只能达到70%的标注一致性,仅通过人类难以获得大量的高质量标注样本

    • 其它:理想情况,人力充足、时间充足,而实际上,大部分任务都是排期紧,标注资源少,只有一轮试标+标注+质检的机会。


    (2)用大模型(LLM)来标注?

    上面提到的这些问题该怎么办?

    引入LLM后, 部分工作得以替代

    • LLM本身具备一定常识。不提供细则,也能有良好的效果;

    • LLM 听懂人话高效。标注规则通过自然语言表达,也通过自然语言修改,成本低、速度快、且人类可以理解。

    既然大模型理解能力这么强,都要达到AGI了,那能不能用到人工标注里?

    • LLM + In-Context Learning 来标注:有实验证明,使用prompt提示工程效果不错,Reddit测试集上ACC达到72%。

    详见往期文章:Prompt提示工程编写指南文生图Prompt如何自动化?贾扬清PromptLLM实测


    那么,GPT vs 人工,到底谁厉害?

    【2023-3-29】苏黎世大学:

    ChatGPT标注数据比人类便宜20倍80%任务上占优势

    • ChatGPT Outperforms Crowd-Workers for Text-Annotation Tasks

    在ChatGPT面前,无论成本还是效率,人类毫无优势:

    • 成本:ChatGPT平均每个标注成本低于0.003美元,比众包平台便宜20倍;何况AI还能24*7无休。

    • 效率:在相关性、立场、主题等任务中,ChatGPT也是以4:1的优势“碾压”人类。

    用 6183个 条推文样本证明:ChatGPT 在多个标注任务中优于众包工作者,包括相关性、立场、主题和框架检测。

    • ChatGPT 零样本准确性在4个数据集中平均超出众包工作者20%

    • ChatGPT 的编码一致性在所有任务中都超过了众包工作者和专业标注员。

    • ChatGPT 每次注释成本不到 0.003 美元,比 MTurk 众包员工便宜30倍。

    大型语言模型大幅提升文本分类效率。

    (3)LLM标注范式

    有人总结了LLM标注的3种范式:调参式、工具式、智能式。

    • (1) 调参式:精心设计Prompt,不断迭代出满意的版本

    • (2) 工具式:局部使用

    • (3) 智能式:智能体迭代


    表格整理:

    范式说明适用场景优点缺点
    调参式prompt优化(非标注规则)冷启动高度自动化bad case迭代不便
    工具式LLM作为局部子标注器通用可控,对LLM依赖较低,支持case迭代框架复杂,人工重
    智能式所有工作都由prompt承担只需修改标注规则通用对LLM要求高,具备复杂指令理解能力


    各范式间的关系

    • 智能式调参式都用全局性LLM来完成标注任务;而工具式里LLM局部作用;

    • 智能式工具式核心是迭代标注规则;而调参式核心是迭代与业务无关的变量(参数、prompt技术等);

    • 调参式可以结合在智能式工具式当中,以进一步提升效果;


    图解几种模式的差异

    更多细节,参考作者段誉的知乎文章:https://zhuanlan.zhihu.com/p/662285150


    (4)LLM标注工具

    (4.1)ChatGPT NER Demo

    ChatGPT 用于 人工标注的 Web系统:Weak Labeling Tool using ChatGPT,链接见附录

    把ChatGPT当做标注员,完成初步标注


    以上解决的是简单任务,复杂任务标准不明,怎么办?

    【2023-6-18】无需人力标注!悉尼大学华人团队提出”GPT自监督标注范式

    业界和学界面临数据标注任务:成本较高、存在偏见、难以评估,以及标注难度等问题。

    悉尼大学研究提出通过大语言模型自监督生成标注的框架。首次利用基于生成-还原循环标注的GPT自监督方法,解决了上述问题

    • davinci,text-curie-001,text-davinci-003,gpt-3.5-turbo在不同评估标准下标注数据质量的得分

    核心思想: 利用大语言模型作为一个黑盒优化优器,构造了一个循环:

    • 模版质量越高,生成的数据-标注对质量越高;

    • 生成的数据标注对质量越高,用当前质量更高的数据对替换上一轮的模版。

    • 以此往复迭代,滚雪球式循环提升标注质量。


    (4.2)Autolabel

    【2023-6-19】GPT-4终结人工标注!AI标注比人类标注效率高100倍,成本仅1/7

    数据标注需要找到一个新方法,避免大量使用人工标注带来的包括道德风险在内的其他潜在麻烦。所以,包括谷歌/Anthropic在内的AI巨头和大型独角兽,都在进行数据标注自动化的探索。

    • 谷歌开发了一个和人类标注能力相近的AI标注工具

      • 论文: RLAIF:Scaling Reinforcement Learning from Human Feedback with AI Feedback

    • Anthropic采用了Constitutional AI来处理数据,也获得了很好的对齐效果

      • 论文: Constitutional Al: Harmlessness from AI Feeedback


      初创公司refuel,也上线了一个AI标注数据的开源处理工具:Autolabel。用AI标注数据,效率最高提升100倍. introducing-autolabel

      • 按照使用成本最高的GPT-4来算,采用Autolabel标注的成本只有使用人工标注的1/7,而如果使用其他更便宜的模型,成本还能进一步降低

    Autolabel结合GPT-4进行标注可取得88.4%的准确率,超过了人工标注的准确率。Autolabel还可以估计标注置信度,允许用户平衡成本和质量。总体来说,Autolabel极大地降低了数据标注的门槛,为训练高质量模型提供了可能。

    (4.3)LabelFast

    【2023-11-3】LabelFast:基于LLM的NLP任务自动标注开源工具,Demo发布「AI小作坊」

    • LabelFast 用LLM技术,识别并快速标注简单文本数据的开源工具,demo

    • 标注员只需关注那些少量而关键的难样本,达到降本增效

    特点如下:

    • 开箱即用。无需微调和Prompt工程,提供 标注任务 + 样本,马上开始标注;

    • 诚实可信。在提供标注结果的同时,还提供Confidence信息,以表示模型对标注结果的信心程度,便于使用者确定何时信任模型结果;

    • 完全开源。LabelFast源于开源的模型和技术,因此也将回馈开源社区。

    LabelFast核心理念:

    • 用最快的速度,完成简单样本的标注,让人类聚焦于关键的难样本。

    常见使用场景

    • 单条样本标注: 将单条样本填入文本框 -> 执行标注 -> 得到标注结果;

    • 批量样本标注: 将多条样本,按格式做成xlsx/csv文件 -> 上传文件 -> 执行标注 -> 得到批量标注结果;

    • 批量样本标注 + 选择confidence threshold: 将多条样本 + 真实标签,按格式做成xlsx/csv文件 -> 上传文件 -> 执行标注 -> 得到批量标注结果 + 各confidence threshold下的任务表现(output2) -> 根据任务表现,确定confidence threshold,高于此值的自动标注结果可直接使用,低于此值的通过其他方式标注


    (4.4)图片标注

    以上都是文本标注工具,图像领域怎么办?

    【2024-1-8】告别逐一标注,一个提示实现批量图片分割,高效又准确

    Segment Anything Model (SAM) 在图像分割领域兴起,优异的泛化性能引发了广泛的兴趣。然而,尽管如此,SAM 仍然面临一个无法回避的问题:

    • 为了使 SAM 能够准确地分割出目标物体的位置,每张图片都需要手动提供一个独特的视觉提示


    目前的一些方法,如 SEEM 和 AV-SAM通过提供更多模态的输入信息,引导模型更好地理解要分割的物体是什么。然而,尽管输入信息变得更加具体和多样化,但在实际场景中,每个无标注样本仍然需要一个独特的提示来作为指导,这是一种不切实际的需求。

    伦敦大学玛丽女王学院提出了一种无需训练的分割方法 GenSAM ,只提供一个任务通用的文本提示的条件下,将任务下的所有无标注样本进行有效地分割。

    Generalizable SAM(GenSAM)模型旨在摆脱像 SAM 这类提示分割方法对样本特定提示的依赖。

    作者提出跨模态思维链(Cross-modal Chains of Thought Prompting,CCTP)的概念,将一个任务通用的文本提示映射到该任务下的所有图片上,生成个性化的感兴趣物体和其背景的共识热力图,从而获得可靠的视觉提示来引导分割。此外,为了实现测试时自适应,作者进一步提出了一个渐进掩膜生成(Progressive Mask Generation,PMG)框架,通过迭代地将生成的热力图重新加权到原图上,引导模型对可能的目标区域进行从粗到细的聚焦。值得注意的是,GenSAM 无需训练,所有的优化都是在实时推理时实现的。

    (5)LLM标注实战

    说是一回事儿,做是另一回事儿。

    来实测下LLM标注效果

    (5.1)数据集

    以最简单的文本分类任务为例:倾向性分析

    • 输入:太阳出来了吗 →输出:积极

    • 输入:怎么这么慢 → 输出:消极

    • 输入:嗯嗯 → 输出:中性

    注意:这几个示例的答案不唯一,第一句也可以是中性,第三句也可以消极(湖北人高冷口头禅),这里只代表大部分的字面含义理解,不含背景、上文

    (5.2)任务设计

    使用范式智能式范式,构建多个Agent,充当标注流程中各个角色,检验标注效果

    自动标注任务设计

    • 基本流程: 任务开始 → 分发给标注员 → 质检员质检 → 回收

    • 标注员: 4个,如下图

    • 质检员: 1个,负责检测标注结果是否幻觉、是否一致,如果不对一并修改

    • 质检方式: 统计集成+LLM检测,即出现不同结果时,选最多的


    流程图:


    (5.3)代码实现

    使用 GPT-3.5和GPT-4实现。

    代码文件 auto_labeler.py 内容

    • 使用多线程(theading)实现多个标注人员一起标注


    代码片段

      # --------------- prompt设计 ---------------label_set = ['积极', '消极', '中性']task_desc = f"给出以下句子的情绪等级: {','.join(label_set)}\n注意: 输出结果不能超出标签范围"
      # annotator 标注员system_prompt_a = f"""你是一个标注员,请完成文本分类标注任务. 任务描述: {task_desc}待标注数据: [query]标注结果: """# inspector 质检员system_prompt_i = f"""你是一个质检员,你判断标注结果是否合格- 如果标注员识别结果(逗号分隔)都一样, 返回: Yes,标注结果- 如果标注员识别结果(逗号分隔)不同, 返回: No,矫正后标注结果
      任务描述: {task_desc}待标数据: [query]标注结果: [result]质检结果: """

      听说你不想写代码?

      没关系,可以使用大厂的Bot管理平台来实现,比如字节的Coze(扣子)

      • 【国外版】Multi-Agent 实现: AutoLabeler自动标注员

      • 【国内版】workflow 实现: workflow

      链接公众号私信

      (5.4)效果分析

      运行代码, 两种模型各跑两次,结果相同,说明非随机结果

      执行多代理自动标注

      python auto_labler.py

      model: gpt-3.5-turbo-0613

      样例标注结果(,分割)平均标注耗时(s)质检结果最终标签置信度
      太阳出来了吗积极,积极,积极,积极0.57Yes积极100.00
      怎么这么慢消极,消极,消极,消极0.46Yes消极100.00
      你客气了中性,积极,积极,积极0.45Sure积极100.00
      嗯嗯中性,中性,中性,中性0.42Yes中性100.00
      不想说话中性,消极,消极,消极0.44Sure消极75.00

      model: gpt-4-0613

      样例标注结果(,分割)平均标注耗时(s)质检结果最终标签置信度
      太阳出来了吗中性,中性,中性,中性1.30Yes中性100.00
      怎么这么慢消极,消极,消极,消极0.92Yes消极100.00
      你客气了中性,中性,中性,中性1.02Yes中性100.00
      嗯嗯中性,中性,中性,中性1.26Yes中性100.00
      不想说话消极,消极,消极,消极1.01Yes消极100.00

      gpt-3.5 vs gpt-4 对比分析

      • gpt-3.5 速度快(平均0.45s),但准确率不高(60%),不够稳定(60%)

      • gpt-4 速度慢(平均1.1s), 准确率高(100%),且稳定(100%)


      以上数据量较小,统计意义欠佳,仅供参考,但大致可信,1k的实验数据集,结果也类似。

      (6)思考

      以上是LLM在文本分类上的小试牛刀,LLM在文本分类上有没有新鲜点子?

      当然有,学术界的做法总结:

      • (1)Prompt系列,除了直接PE,In-Context Learning 3种改进技术如下:

        • Noisy Channel Model:2022年5月,华盛顿大学和Meta出品,根据贝叶斯概率公式,反其道而行之,将 Prompt 反着写,即将分类任务转化为生成任务

        • Contextual Calibration(简称CC):2021年,消除ICL导致高方差的3类bias

        • Domain-context Calibration(简称DC):2023年7月,瑞士苏黎世联邦,改进CC,消除llm、prompt和domain里的bias

      • (2)蒸馏法:2023年,基于分类的蒸馏(CLS)、基于回归的蒸馏(REG),最后选择P-R曲线更平滑的REG,

        • 最佳prompt组合技:manual few-shot COT + self-consistency





      53AI,企业落地应用大模型首选服务商

      产品:大模型应用平台+智能体定制开发+落地咨询服务

      承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

      联系我们

      售前咨询
      186 6662 7370
      预约演示
      185 8882 0121

      微信扫码

      与创始人交个朋友

      回到顶部

       
      扫码咨询