告别人工!智谱AI新神器将数据标注成本卷到接近0

科技有夕小瑶 2024-06-02 07:00:46

“有多少人工就有多少智能!”

这是2018年~2022年在人工智能圈子里(尤其是工业界)大家高度认同的一句话。

倒不是人工智能服务背后是人工,而是说,人工智能模型有多聪明,主要取决于背后的AI公司为这个模型投入了多少数据标注的人力。

这句话甚至直接催生了一个百亿的市场——

2022年中国数据标注市场总规模达50.8亿元,较2021年增长17.3%[1]数据标注市场预计将保持快速增长,2022-2029年复合年增长率达22%[1]预计到2025年,中国人工智能数据采集、标注服务市场规模将达到123.4亿元[2]

与此同时,互联网大厂的算法工程师也常常为数据标注困扰——

为了提升AI模型的准确率,不仅要不断参与优化数据标注标准,而且要不断的跟人工数据标注团队对齐标准、培训、验收准确率、打回重标等,一轮轮的操作下来费心费力,钱花了不少,效果还不一定好。

3.5研究测试:hujiaoai.cn4研究测试:askmanyai.cn Claude-3研究测试:hiclaude3.com

关键是,人工数据标注的时间周期太长了!

对于NLP、CV领域的典型任务如文本分配、文本匹配、图像分类、目标检测等,相对成体系的情况下,数万条的数据标注往往都是以周为单位进行,非常制约AI模型的迭代速度。对于新奇的数据标注任务,人工标注的拉扯成本更是算法打工人直呼想跳槽。

但如今,大家发现大模型的玩法上限真的太高了,尤其对于「高重复性的脑力劳动」,简直就是落地的不二之选。

这不,智谱AI就盯上了数据标注这个高度重复的场景,宣布提出Batch API来利用大模型技术解决数据标注问题。

Batch API官方文档:https://open.bigmodel.cn/dev/howuse/batchapi

这个Batch API 适用于无需即时反馈并需使用大模型处理大量请求的场景。通过 Batch API,开发者可以通过文件提交大量大模型推理任务,价格比传统调用降低50%,且无并发限制,并在24小时内完成任务处理。

一句话总结,简直就是为数据标注场景量身定制的。

典型数据标注场景包括:

文章分类(textification):为大量文章、帖子或产品描述添加分类标签文本匹配&语义向量(text matching):判断两段文本的相似度情感分析(sentiment analysis):评估客户反馈、社交媒体帖子和商品评价的情感倾向文档处理(document analysis):为大量文档生成摘要、提炼关键信息或进行翻译信息提取(information extraction):从文本数据中识别和抽取关键内容图像分类(imagesification):为给定的图像添加类别标签图像描述(image caption):为给定的图片添加描述/文本标题信息文生图(text-to-image):基于文本描述生成图像...

目前,智谱AI的几大核心模型均已实现Batch API的支持:

GLM-4(文本模型)GLM-4V(视觉+文本模型)GLM-3-Turbo(文本模型)Cogview-3(文生图模型)Embedding-2(文本向量模型)

值得强调的是,从5月23日至6月9日,所有通过 Batch API 发出的请求将完全免费,不计任何费用。

ps:此时不薅更待何时

为了直观,笔者在GLM4的网页端简单跑了几个数据标注的case:

看起来非常靠谱!

当然,实际批量跑的话,通过提交json文件的方式一次性批量请求标注就OK了(一个json文件可以提交5万条),标注标准则可以直接通过prompt engineer的方式来不断迭代优化——终于不用再一次次的重复人员培训的过程了。

json文件样例如下:

{"custom_id": "request-1", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4", "messages": [{"role": "system", "content": "你是一个意图分类器."},{"role": "user", "content": "#任务:对以下用户评论进行情感分类和特定问题标签标注,只输出结果,# 评论:review = \"订单处理速度太慢,等了很久才发货。\"# 输出格式:'''{\"分类标签\": \" \", \"特定问题标注\": \" \" } '''"}]}}{"custom_id": "request-2", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4", "messages": [{"role": "system", "content": "你是一个意图分类器."},{"role": "user", "content": "#任务:对以下用户评论进行情感分类和特定问题标签标注,只输出结果,# 评论:review = \",商品有点小瑕疵,不过客服处理得很快,总体满意。\",# 输出格式:'''{\",分类标签\": \" \", \"特定问题标注\": \" \" } '''"}]}}{"custom_id": "request-3", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4", "messages": [{"role": "system", "content": "你是一个意图分类器."},{"role": "user", "content": "#任务:对以下用户评论进行情感分类和特定问题标签标注,只输出结果,# 评论:review = \"这款产品性价比很高,非常满意。\"# 输出格式:'''{\"分类标签\": \" \", \"特定问题标注\": \" \" } '''"}]}}{"custom_id": "request-4", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4", "messages": [{"role": "system", "content": "你是一个意图分类器."},{"role": "user", "content": "#任务:对以下用户评论进行情感分类和特定问题标签标注,只输出结果,# 评论:review = \"说明书写得不清楚,看了半天也不知道怎么用。\"# 输出格式:'''{\"分类标签\": \" \", \"特定问题标注\": \" \" } '''"}]}}{"custom_id": "request-5", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4", "messages": [{"role": "system", "content": "你是一个意图分类器."},{"role": "user", "content": "#任务:对以下用户评论进行情感分类和特定问题标签标注,只输出结果,# 评论:review = \"总体还不错,但价格偏高,不太划算。\"# 输出格式:'''{\"分类标签\": \" \", \"特定问题标注\": \" \" } '''"}]}}{"custom_id": "request-6", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4", "messages": [{"role": "system", "content": "你是一个意图分类器."},{"role": "user", "content": "#任务:对以下用户评论进行情感分类和特定问题标签标注,只输出结果,# 评论:review = \"物流速度很慢,等了两个星期才收到货 \"# 输出格式:'''{\"分类标签\": \" \", \"特定问题标注\": \" \" } '''"}]}}{"custom_id": "request-7", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4", "messages": [{"role": "system", "content": "你是一个意图分类器."},{"role": "user", "content": "#任务:对以下用户评论进行情感分类和特定问题标签标注,只输出结果,# 评论:review = \"收到的产品跟描述不符,有些失望。\"# 输出格式:'''{\"分类标签\": \" \", \"特定问题标注\": \" \" } '''"}]}}{"custom_id": "request-8", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4", "messages": [{"role": "system", "content": "你是一个意图分类器."},{"role": "user", "content": "#任务:对以下用户评论进行情感分类和特定问题标签标注,只输出结果,# 评论:review = \"客服很耐心,解决问题很快,感谢!\"# 输出格式:'''{\"分类标签\": \" \", \"特定问题标注\": \" \" } '''"}]}}{"custom_id": "request-9", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4", "messages": [{"role": "system", "content": "你是一个意图分类器."},{"role": "user", "content": "#任务:对以下用户评论进行情感分类和特定问题标签标注,只输出结果,# 评论:review = \"包装太简单,商品在运输过程中被压坏了。\"# 输出格式:'''{\"分类标签\": \" \", \"特定问题标注\": \" \" } '''"}]}}{"custom_id": "request-10", "method": "POST", "url": "/v4/chat/completions", "body": {"model": "glm-4", "messages": [{"role": "system", "content": "你是一个意图分类器."},{"role": "user", "content": "#任务:对以下用户评论进行情感分类和特定问题标签标注,只输出结果,# 评论:review = \"产品质量不错,但是颜色和图片上的不一样\"# 输出格式:'''{\"分类标签\": \" \", \"特定问题标注\": \" \" } '''"}]}}

api调用样例:

from zhipuai import ZhipuAI client = ZhipuAI(api_key="") # 请填写您自己的APIKey# 第一步:上传文件,获取文件IDresult = client.files.create( file=open("product_reviews.jsonl", "rb"), purpose="batch")# 第二步:创建 Batch 任务create = client.batches.create( input_file_id=result.id, endpoint="/v4/chat/completions", completion_window="24h", #完成时间只支持 24 小时 metadata={ "description": "Sentimentification" })print(create)# 第三步:检查 Batch 状态batch_job = client.batches.retrieve("batch_id")print(batch_job)# 第四步:下载 Batch 结果content = client.files.content("file-456") # 输出结果写入文件content.write_to_file("write_to_file_batchoutput.jsonl")

24小时内处理完成,标注完的结果如下:

{"response":{"status_code":200,"body":{"created":1715959701,"usage":{"completion_tokens":26,"prompt_tokens":89,"total_tokens":115},"model":"glm-4","id":"8668357533850320547","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"```json\n{\n \"分类标签\": \"负面\",\n \"特定问题标注\": \"订单处理慢\"\n}\n```"}}],"request_id":"615-request-1"}},"custom_id":"request-1","id":"batch_1791490810192076800"}{"response":{"status_code":200,"body":{"created":1715959701,"usage":{"completion_tokens":22,"prompt_tokens":94,"total_tokens":116},"model":"glm-4","id":"8668368425887509080","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"```json\n{\n \"分类标签\": \"负面\",\n \"特定问题标注\": \"产品缺陷\"\n}\n```"}}],"request_id":"616-request-2"}},"custom_id":"request-2","id":"batch_1791490810192076800"}{"response":{"status_code":200,"body":{"created":1715959701,"usage":{"completion_tokens":25,"prompt_tokens":86,"total_tokens":111},"model":"glm-4","id":"8668355815863214980","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"```json\n{\n \"分类标签\": \"正面\",\n \"特定问题标注\": \"性价比\"\n}\n```"}}],"request_id":"617-request-3"}},"custom_id":"request-3","id":"batch_1791490810192076800"}{"response":{"status_code":200,"body":{"created":1715959701,"usage":{"completion_tokens":28,"prompt_tokens":89,"total_tokens":117},"model":"glm-4","id":"8668355815863214981","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"```json\n{\n \"分类标签\": \"负面\",\n \"特定问题标注\": \"说明文档不清晰\"\n}\n```"}}],"request_id":"618-request-4"}},"custom_id":"request-4","id":"batch_1791490810192076800"}{"response":{"status_code":200,"body":{"created":1715959701,"usage":{"completion_tokens":26,"prompt_tokens":88,"total_tokens":114},"model":"glm-4","id":"8668357533850320546","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"```json\n{\n \"分类标签\": \"中性\",\n \"特定问题标注\": \"价格问题\"\n}\n```"}}],"request_id":"619-request-5"}},"custom_id":"request-5","id":"batch_1791490810192076800"}{"response":{"status_code":200,"body":{"created":1715959701,"usage":{"completion_tokens":26,"prompt_tokens":90,"total_tokens":116},"model":"glm-4","id":"8668356159460662846","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"```json\n{\n \"分类标签\": \"负面\",\n \"特定问题标注\": \"配送延迟\"\n}\n```"}}],"request_id":"620-request-6"}},"custom_id":"request-6","id":"batch_1791490810192076800"}{"response":{"status_code":200,"body":{"created":1715959701,"usage":{"completion_tokens":27,"prompt_tokens":88,"total_tokens":115},"model":"glm-4","id":"8668357671289274638","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"```json\n{\n \"分类标签\": \"负面\",\n \"特定问题标注\": \"产品描述不符\"\n}\n```"}}],"request_id":"621-request-7"}},"custom_id":"request-7","id":"batch_1791490810192076800"}{"response":{"status_code":200,"body":{"created":1715959702,"usage":{"completion_tokens":26,"prompt_tokens":87,"total_tokens":113},"model":"glm-4","id":"8668355644064514872","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"```json\n{\n \"分类标签\": \"正面\",\n \"特定问题标注\": \"客服态度\"\n}\n```"}}],"request_id":"622-request-8"}},"custom_id":"request-8","id":"batch_1791490810192076800"}{"response":{"status_code":200,"body":{"created":1715959701,"usage":{"completion_tokens":29,"prompt_tokens":90,"total_tokens":119},"model":"glm-4","id":"8668357671289274639","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"```json\n{\n \"分类标签\": \"负面\",\n \"特定问题标注\": \"包装问题, 产品损坏\"\n}\n```"}}],"request_id":"623-request-9"}},"custom_id":"request-9","id":"batch_1791490810192076800"}{"response":{"status_code":200,"body":{"created":1715959701,"usage":{"completion_tokens":27,"prompt_tokens":87,"total_tokens":114},"model":"glm-4","id":"8668355644064514871","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"```json\n{\n \"分类标签\": \"正面\",\n \"特定问题标注\": \"产品描述不符\"\n}\n```"}}],"request_id":"624-request-10"}},"custom_id":"request-10","id":"batch_1791490810192076800"}

简直不要太方便!

有了Batch API ,数据标注的效率肉眼可见地变高了,算法工程师可以将更多的精力放在模型的优化和迭代上。

更重要的是,Batch API的应用场景非常广泛,从文本分类、情感分析到信息提取等,几乎涵盖了NLP和CV领域的所有典型任务。

这意味着,无论是哪个行业的AI公司,都可以通过Batch API来加速自己的模型开发和应用落地。

当然,Batch API的推出也引发了笔者的一些思考。随着大模型技术的不断进步,未来是否还需要大量的人工标注数据?

AI模型是否可以通过自监督学习等方式,实现无监督或半监督的训练?

这些都是值得探讨的问题。

可以肯定的是,人工智能的发展已经进入了一个新的阶段,那就是从"人工"走向"智能"。

最后贴下Batch API传送门,抓住机会把羊毛薅起来:

https://open.bigmodel.cn/dev/howuse/batchapi

参考资料 [1]https://www.chinabaogao.com/baogao/202305/634064.html[2]https://www.sohu.com/a/707957888_121756597[3]https://open.bigmodel.cn/dev/howuse/batchapi[4]https://mp.weixin.qq.com/s/pS6ViMhw8oBgUVdrc-Bju

0 阅读:0
科技有夕小瑶

科技有夕小瑶

感谢大家的关注