为什么要用LLM构建数据标注工具

在LLM出现之前,传统的深度学习模型(包括CV和NLP)就已经需要大量的数据进行训练和微调。没有足够的数据,或者数据需要进行二次加工(比如标签标注),这些问题都成为限制深度学习模型泛化的关键。对于第一个问题,一般就是从网络上爬虫或者花大价钱从数据供应商购买数据;对于第二种情况,一般是找外包进行标注,这在业界非常普遍。

种类 优点 缺点
爬虫 成本几乎可以忽略 质量参差不齐
买数据 质量符合要求 价格昂贵
标注 准确性足够 昂贵、容易泄露数据信息

自从Chatgpt3.5诞生以来,已经有不少公司使用Chatgpt的接口来标注自己的数据了,甚至国内知名的大模型公司也有这些操作,这是因为大家逐渐发现LLM已经可以达到和人类数据标注者相同的水平。

大模型现在已经不是什么稀罕之物了,但是为什么有的大模型效果就比别人的好很多呢?一般认为是数据质量起到决定性的作用。据网上流传的消息,OpenAI数据标注过程可是非常昂贵的,简单理解就是模型训练用到的数据可以分成好几个档次,比如生活常识、基础知识、高级知识等。对于生活常识,可能一个普通的工人就能标注,而且这类标注往往只是选择一个正确的选项即可。而基础知识类可能需要有义务教育才能解决,而且需要写出简短的解题理由。而高级知识往往是某个领域专属的数据,比如医疗、法律等,往往是需要这些专业的研究生及以上学历的人来标注,而且需要写出完整的解题思路。正因为花了大量的时间和金钱在构建高质量的数据上,才有了OpenAI如今碾压别人的表现。

话说回来,既然已经有如此多优秀的大模型开源出来了,那么对于普罗大众来说,就可以用这些模型来帮助自己、提升效率,只要不违反相应的协议即可。

用LLM构建数据标注助手

在网上找了一个中文的酒店住宿评价数据集用于本次验证模型标注能力,数据下载地址:住宿评论数据

数据预览:

# 好评,用1表示
1,在宜昌应该是排名前三位的酒店了,希望能继续得到保持,应该会成为宜昌的首选
1,外观看起来不是很起眼,房间不是很大,但是很干净,服务也不错,早餐也很丰富,比较喜欢。
1,环境优美,设施齐全,服务周到,房间舒适。
1,员工服务好,房间舒适如家,硬件设施应有尽有,保持。
... # 差评,用0表示
0,看到网友的点评还有些不信,去了以后才知道什么叫全世界最脏,最差的酒店。
0,超级恶心的一家宾馆,入住后发现写字台窗台上到处是灰尘,非常恶心,向总台投诉后,才打扫干净!服务非常差,房间也非常差,进去后还有异味,而且床非常不舒服,感觉床单也不干净,个人感觉根本够不上星级!太恶心了,这么破的地方,晚上竟然还有人打骚扰电话,问要不要服务,什么破地方!早餐也非常恶心,根本没什么吃的!!
0,一个字,差啊,冷啊,暖气没有.空调太差!
0,服务极差,价格高,地点环境偏,房间条件能有一星..

本次使用了Chatglm3-6b-32k的模型搭建了一个本地的服务,如果用的是其他厂商提供的API,只需要修改url的内容以及传输的参数即可。如果用的是本地的模型,就把post请求替换为模型的调用即可。而且为了加快处理,用了进程池,如果用的是买的API,可能需要加个延迟防止短时间内发起太多请求。

import pandas as pd
import requests
import json
from multiprocessing import Pool df = pd.read_csv('ChnSentiCorp_htl_all.csv')
url = 'your_llm_serve_api' def process_text(t):
try:
prompt = f"""\
你是一个精通酒店用户评论的标注员,能准确辨别出用户的评价是正面的还是负面的。
你的任务是从用户的角度分析以下文本中的情绪,并仅用两个标签中的一个标签进行标记。
不要提供任何解释,只返回标签:正面、负面 例子:
文本: 早餐很丰富,服务也热情,早上很早退房时,前台值此人员办理手续也非常快.
标签: 正面
文本: 离机场很近,房间里的床很大,里面还有一面镜子
标签: 正面
文本: 可能是酒店比较老的缘故,房间看起来很一般,设施也比较一般.
标签: 负面
文本: 房间太小。设施太简单。服务太冷淡。不会再住。
标签: 负面 你需要标注的评论:
文本: {t}
标签: """ d = {"messages": prompt}
response = requests.post(url, data=json.dumps(d), stream=False)
r = json.loads(response.text)
return r
except Exception:
return 'ERROR' if __name__ == '__main__':
texts = df['review'].tolist()
with Pool(processes=4) as pool: # 根据需要设置进程数量
results = pool.map(process_text, texts) tmp = []
for t, r in zip(texts, results):
tmp.append(f"{r}[<>]{t}") # 加个符号区分标签和文本 with open('./save_res.txt', 'w') as f:
f.write('\n'.join(tmp))

效果评估

实际\预测
4266 1056
230 2215

综合来看准确率只有83%,初步看起来不高。

距离川沙公路较近,但是公交指示不对,如果是"蔡陆线"的话,会非常麻烦.建议用别的路线.房间较为简单
早餐太差,无论去多少人,那边也不加食品的。酒店应该重视一下这个问题了。房间本身很好。
闹中取静的一个地方,在窗前能看到不错的风景。酒店价格的确有些偏高
价格偏高,好象连云港这地方的酒店都偏贵.早饭不好.房间还不错,窗外风景还行.最重要是房间的窗户很隔音.床小,还是明珠万豪的床好些.
房间设备太破,连喷头都是不好用,空调几乎感觉不到,虽然我开了最大另外就是设备维修不及时,洗澡用品感觉都是廉价货,味道很奇怪的洗头液等等...总体感觉服务还可以,设备招待所水平...

随机查看了5条模型标注为负面但标签是正面的评论,实际上这几条都没有完全好评的内容,基本上都是中性甚至偏向负面。因此实际上准确率应该在83%以上才对,这里主要还是受到数据集本身都影响。

本次虽然只测试了Chatglm3-6b-32k的模型,其他的模型如千问、llama等虽然没测,但应该都可以满足标注需求了,说明用现在的大模型来标注数据是完全可行的,能节省成本。如果怕泄漏数据那把模型部署到本地即可,这些大模型在消费级显卡上完全是跑得动的。

llm构建数据标注助手的更多相关文章

  1. 破局AI落地难,数据标注行业需率先变革丨曼孚科技

    ​2019年,国内人工智能领域的投融资热情大幅降低,相当数量的AI企业彻底消失在了历史的长河中,“人工智能寒潮已至”甚至成为行业年度热词. 与前几年创业与投资热情齐头并进的盛况相比,近段时间的AI行业 ...

  2. 曼孚科技:数据标注,AI背后的百亿市场

    ​ 1. 两年前,来自山东农村的王磊成为了一位数据标注员.彼时的他,工作内容非常简单且枯燥:识别图片中人的性别. 然而,一段时间之后,他注意到分配给他的任务开始变得越来越复杂:从识别性别到年龄,从框选 ...

  3. 3.基于Label studio的训练数据标注指南:文本分类任务

    文本分类任务Label Studio使用指南 1.基于Label studio的训练数据标注指南:信息抽取(实体关系抽取).文本分类等 2.基于Label studio的训练数据标注指南:(智能文档) ...

  4. 零样本文本分类应用:基于UTC的医疗意图多分类,打通数据标注-模型训练-模型调优-预测部署全流程。

    零样本文本分类应用:基于UTC的医疗意图多分类,打通数据标注-模型训练-模型调优-预测部署全流程. 1.通用文本分类技术UTC介绍 本项目提供基于通用文本分类 UTC(Universal Text C ...

  5. Kafka笔记7(构建数据管道)

    构建数据管道需要考虑的问题: 及时性  可靠性 高吞吐量和动态吞吐量   数据格式  转换    安全性   故障处理能力  耦合性与灵活性 数据管道的构建分为2个阵营,ETL和ELT ETL:提取- ...

  6. 使用Dataset构建数据到lgb中

    训练数据要放到Dataset中供lgb使用,构建数据如下: import lightgbm as lgb import numpy as np # 训练数据,500个样本,10个维度 train_da ...

  7. tableau desktop(三)--构建数据视图(二)

    前段时间忙于工作的事情,好久没有来记录一点东西了,今天利用周末做点记录吧,近期因为工作的原因,也有两三周没实用tableau了.今天继续上一篇构建数据试图(二). 3.7 參考线和參考区间 參考线通经 ...

  8. 分析Python中解析构建数据知识

    分析Python中解析构建数据知识 Python 可以通过各种库去解析我们常见的数据.其中 csv 文件以纯文本形式存储表格数据,以某字符作为分隔值,通常为逗号:xml 可拓展标记语言,很像超文本标记 ...

  9. Dataphin帮助企业构建数据中台系列之--萃取数据中心

    Dataphin作为阿里巴巴数据中台OneData (OneModel.OneID.OneService)方法论的产品载体,帮助企业构建三大数据中心:基于数据集成形成的垂直数据中心.基于数据开发沉淀的 ...

  10. 阿里大数据产品Dataphin上线公共云,将助力更多企业构建数据中台

    日前,由阿里数据打造的智能数据构建与管理Dataphin,重磅上线阿里云-公共云,开启智能研发版本的公共云公测!在此之前,Dataphin以独立部署方式输出并服务线下客户,已助力多家大型客户高效自动化 ...

随机推荐

  1. react 修改页面title - react-document-title

    安装 cnpm install --save react-document-title 引用 import DocumentTitle from 'react-document-title' 代码 & ...

  2. 基于python的环境噪声监测报警系统实例解析

    一 系统简介 1.简介 该系统可以实时显示噪声量大小,并进行一段时间的噪声统计. 2.特性 实现噪声值的统计 实现了噪声显示 完整的主题和样式控制 多线程的运行模式 二 源码解析 1.串口db值获取: ...

  3. Winform DataGridView 添加复选框列

    1.编辑DataGridView的属性: 2.定义列的类型为chekcBox: 3.点击添加: 4.效果: 5.编辑:

  4. 推荐一款idea神级免费插件【Bito-ChatGPT】

    今天推荐一款IDEA 插件神器:Bito-ChatGPT,在 IDEA 中安装直接可以使用 GPT,不需要使用魔法! 还有很重要的一点这个插件完全免费,且不限次数(目前是免费不限制次数). 环境要求: ...

  5. PAT 甲级【1015 Reversible Primes】

    考察素数判断 考察进制转换 import java.io.IOException; import java.io.InputStreamReader; import java.io.StreamTok ...

  6. 瑞云科技联合飞蝶VR教育、大朋VR推出元宇宙 5G VR智慧教育整体解决方案

    近日,瑞云科技3DCAT实时渲染云与飞蝶VR.大朋VR达成深度合作.基于瑞云深度自研的实时渲染云技术.飞蝶VR教育内容资源的深厚积累以及大朋VR优秀的VR硬件产品力,三方针对元宇宙 5G VR智慧教育 ...

  7. django(Ajax、自定义分页器、form组件)

    一.Ajax 1 概述 异步提交局部刷新 例子:github注册 动态获取用户名实时的跟后端确认并实时展示到前端(局部刷新) 朝后端发送请求的方式 1.浏览器地址栏直接输入url回车 GET请求 2. ...

  8. C#无需第三方插件实现json和table互转

    using System; using System.Collections.Generic; using System.Collections; using System.Linq; using S ...

  9. verilog之简单时钟信号的编写

    verilog之简单时钟信号的编写 1.数字时钟信号 在数字电路中,时钟信号是重要的一类信号,一般作为激励源驱动时序电路.掌握时钟信号的编写,对于时序电路的仿真具有重要意义.所有的时序电路都需要设置时 ...

  10. GWD:基于高斯Wasserstein距离的旋转目标检测 | ICML 2021

      论文详细描述了当前旋转目标检测的主要问题,提出将旋转回归目标定义为高斯分布,使用Wasserstein距离度量高斯分布间的距离用于训练.目前,常规目标检测也有很多将回归转化为概率分布函数的做法,本 ...