ai 标注工具 GPT-4终结人工标注!AI标注比人类标注效率高100倍,成本仅1/7

默认分类10个月前发布 admin
3,537 0
ChatGPT国内版

所以,不论是律所想要通过GPT-4来对法律文档进行分类,还是保险公司想要用私有模型对敏感的客户医疗数据进行分类或者筛查,都可以使用进行高效地处理。

提供了一个简单的案例来展示了如何使用它进行评论有害性的标注过程。

假设用户是一个社交媒体的内容审核团队,需要训练分类器来确定用户评论是否有毒。

如果没有,用户需要首先收集几千个示例,并由一组人工注释者对它们进行标注,可能需要几周的时间——熟悉标注方针,从小数据集到大数据集进行几次迭代,等等。

而如果使用可以在分钟内就对这个数据集进行标注。

安装

首先安装所有必要的库:

pip install 'refuel-autolabel[openai]'

现在,将密钥设置为环境变量。

下载和查看数据集

将使用一个名为Civil 的数据集,该数据集可通过获得。你可以在本地下载它,只需运行:

from autolabel import get_data
get_data('civil_comments')

输出为:

Downloading seed example dataset to "seed.csv"...
100% [..............................................................................] 65757 / 65757
Downloading test dataset to "test.csv"...
100% [............................................................................] 610663 / 610663

标注例子:

使用自动标签贴标分为三个步骤:

首先,指定一个标签配置(参见下面的对象)并创建一个。

接下来,通过运行agent.plan,使用中指定的LLM对的数据集进行一次标注

最后,使用agent.run运行标签

实验1:尝试简单的标签指南

定义下面的配置文件:

config = {
    "task_name": "ToxicCommentClassification",
    "task_type": "classification", # classification task
    "dataset": {
        "label_column": "label",
    },
    "model": {
        "provider": "openai",
        "name": "gpt-3.5-turbo" # the model we want to use
    },
    "prompt": {
        # very simple instructions for the LLM
        "task_guidelines": "Does the provided comment contain 'toxic' language? Say toxic or not toxic.",
        "labels": [ # list of labels to choose from
            "toxic",
            "not toxic"
        ],
        "example_template": "Input: {example}nOutput: {label}"
    }
}

如果要创建自定义配置,可以使用CLI或编写自己的配置。

现在,用agent.plan进行预演:

from autolabel import LabelingAgent, AutolabelDataset
agent = LabelingAgent(config)
ds = AutolabelDataset('test.csv', config = config)
agent.plan(ds)
输出:
┌──────────────────────────┬─────────┐
│ Total Estimated Cost     │ $4.4442 │
│ Number of Examples       │ 2000    │
│ Average cost per example │ $0.0022 │
└──────────────────────────┴─────────┘
───────────────────────────────────────────────── Prompt Example ──────────────────────────────────────────────────
Does the provided comment contain 'toxic' language? Say toxic or not toxic.
You will return the answer with just one element: "the correct label"
Now I want you to label the following example:
Input: [ Integrity means that you pay your debts.]. Does this apply to President Trump too?
Output:

最后,进行数据标注:

ds = agent.run(ds, max_items=100)
┏━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ support ┃ threshold ┃ accuracy ┃ completion_rate ┃
┡━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│ 100     │ -inf      │ 0.54     │ 1.0             │
└─────────┴───────────┴──────────┴─────────────────┘

ai 标注工具 GPT-4终结人工标注!AI标注比人类标注效率高100倍,成本仅1/7

输出结果为54%的准确率不是很好,进一步改进的具体方法可以访问以下链接查看:

docs..ai/guide//-/

技术细节:标注质量介绍

在对的基准测试中,包含了以下数据集:

表1:标注的数据集列表

使用了以下LLM:

表2:用于评估的LLM提供者与模型列表

本研究在三个标准上对LLM和人工标注进行评估:

首先是标签质量,即生成的标签与真实标签之间的一致性;

其次是周转时间,即以秒为单位时,生成标签所花费的时间;

最后是以分为单位,生成每个标签的成本。

对于每个数据集,研究人员都将其拆分为种子集和测试集两部分。

种子集包含200个示例,是从训练分区中随机采样构建的,用于置信度校准和一些少量的提示任务中。

测试集包含2000个示例,采用了与种子集相同的构建方法,用于运行评估和报告所有基准测试的结果。

在人工标注方面,研究团队从常用的数据标注第三方平台聘请了数据标注员,每个数据集都配有多个数据标注员。

此过程分为三个阶段:

研究人员为数据标注员提供了标注指南,要求他们对种子集进行标注。

然后对标注过的种子集进行评估,为数据标注员提供该数据集的基准真相作为参考,并要求他们检查自己的错误。

随后,为数据标注员解释说明他们遇到的标签指南问题,最后对测试集进行标注。

结果

标签质量

标签质量衡量的是生成的标签(由人类或LLM标注者生成)与数据集中提供的基准真相的吻合程度。

对于SQuAD数据集,研究人员用生成标签与基准真相之间的F1分数来衡量一致性,F1是问题解答的常用指标。

对于SQuAD以外的数据集,研究人员用生成标签与基准真相之间的精确匹配来衡量一致性。

下表汇总了各个数据集标签质量的结果:

ai 标注工具 GPT-4终结人工标注!AI标注比人类标注效率高100倍,成本仅1/7

表3:各种NLP任务中的标签质量(与基准真相的一致率),每列中的最高数字以绿色标出

可以看到,与熟练的人工数据标注员相比,最先进的LLM已经可以在相同甚至更好的水平上标注文本数据集,并且做到开箱即用,大大简化了繁琐的数据标注流程。

GPT-4在一系列数据集中的标签质量都优于人类数据标注员。其他几个LLM的表现也在80%左右,但调用API的价格仅为GPT-4的十分之一。

但由于LLM是在大量数据集上训练出来的,所以在评估LLM的过程中存在着数据泄露的可能。

研究人员对此进行了例如集合的额外改进,可以将表现最好的的LLM(GPT-4、PaLM-2)与基准真相的一致性从89%提高到95%以上。

置信度估计

对LLM最大的诟病之一就是幻觉。因此,当务之急是用一种与标签正确的可能性相关的方式来评估标签的质量。

为了估计标签置信度,研究人员将LLM输出的token级日志概率平均化,而这种自我评估方法在各种预测任务中都很有效。

对于提供对数概率的LLM(text–003),研究人员使用这些概率来估计置信度。

对于其他LLM,则使用FLAN T5 XXL模型进行置信度估计。

标签生成后,查询FLAN T5 XXL模型以获得生成的输出标注的概率分布,但前提是输入的提示信息与用于标签的信息相同。

表4:同一数据集上gpt-3.5-turbo和gpt-4的标签质量与完成率

在校准步骤中,研究人员利用估计置信度来了解标签质量和完成率之间的权衡。

即研究人员为LLM确定了一个工作点,并拒绝所有低于该工作点阈值的标签。

例如,上图显示,在95%的质量阈值下,我们可以使用GPT-4标注约77%的数据集。

添加这一步的原因是token级日志概率在校准方面的效果不佳,如GPT-4技术报告中所强调的那样:

GPT-4模型的校准图:比较预训练和后RLHF版本的置信度和准确性

使用上述置信度估算方法,并将置信度阈值设定为95%的标签质量(相比之下,人类标注者的标签质量为86%),得到了以下数据集和LLM的完成率:

95%与基准真相一致的完成率

相比之下,人类标注者与基准真相的一致性为86.6%。

从上图可以看到在所有数据集中,GPT-4的平均完成率最高,在8个数据集中,有3个数据集的标注质量超过了这一质量阈值。

而其他多个模型(如text-bison@001、gpt-3.5-turbo、-v1和flan-t5-xxl)也实现了很好的性能:

平均至少成功自动标注了50%的数据,但价格却只有GPT-4 API成本的1/10以下。

未来更新的方向

在接下来的几个月中,开发者承诺将向添加大量新功能:

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...