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


Autolabel提供了一个简单的案例来展示了如何使用它进行评论有害性的标注过程 。
假设用户是一个社交媒体的内容审核团队,需要训练分类器来确定用户评论是否有毒 。
如果没有Autolabel,用户需要首先收集几千个示例,并由一组人工注释者对它们进行标注,可能需要几周的时间——熟悉标注方针,从小数据集到大数据集进行几次迭代,等等 。
而如果使用Autolabe可以在分钟内就对这个数据集进行标注 。
Autolabel安装
首先安装所有必要的库:

  • pipinstall 'refuel-autolabel[openai]'
现在,将OpenAI密钥设置为环境变量 。
下载和查看数据集
将使用一个名为Civil Comments的数据集 , 该数据集可通过Autolabel获得 。你可以在本地下载它 , 只需运行:
fromautolabel importget_data get_data('civil_comments')输出为:
Downloading seed example dataset to "seed.csv"... 100% [..............................................................................] 65757 / 65757 Downloading testdataset to "test.csv"... 100% [............................................................................] 610663 / 610663标注例子:
使用自动标签贴标分为三个步骤:
首先,指定一个标签配置(参见下面的config对象)并创建一个LabelingAgent 。
接下来,通过运行agent.plan , 使用config中指定的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, AutolabelDatasetagent = 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 commentcontain 'toxic'language? Say toxic ornottoxic.You will returnthe answer withjust one element: "the correct label"
NowI want you tolabel the followingexample:Input: [ Integrity means that you pay your debts.]. Does this ApplytoPresident Trump too?Output:
最后 , 进行数据标注:
ds= agent.run(ds, max_items=100)
┏━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓┃ support┃ threshold┃ accuracy┃ completion_rate┃┡━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩│ 100 │ -inf│ 0.54│ 1.0│└─────────┴───────────┴──────────┴─────────────────┘输出结果为54%的准确率不是很好,进一步改进的具体方法可以访问以下链接查看:
https://docs.refuel.ai/guide/overview/tutorial-classification/
技术细节:标注质量Benchmark介绍
在对Autolabel的基准测试中,包含了以下数据集:
GPT-4终结人工标注!AI标注比人类标注效率高100倍,成本仅1/7

文章插图
表1:Autolabel标注的数据集列表
使用了以下LLM:
表2:用于评估的LLM提供者与模型列表
本研究在三个标准上对LLM和人工标注进行评估:


推荐阅读