LLM大模型和数据标注

对于那些不精通机器学习的人来说,像 ChatGPT 所基于的 GPT-3.5 这样的大型语言模型似乎是自给自足的。这些模型通过无监督或自我监督学习进行训练。简而言之,只需极少的人工干预,就能生成一个能像人类一样对话的模型。

这就引出了一个问题--数据标注对大型语言模型还有意义吗?

对于机器学习团队、项目经理和企业来说,忽视数据标注的重要性是不明智的。从表面上看,大型语言模型(LLM)似乎能够胜任任何任务,但现实却并非如此。

本文将探讨数据标注与大型语言模型之间的互利关系。

1. 什么是数据标注

在正式开始前我们先简单介绍下数据标注和常用场景

数据标注是对数据中的特定元素进行识别、描述和分类,以训练机器学习模型的过程。标注后的数据将用于处理、预测基础模型或者对真实生活数据进行响应。它有助于模型或神经网络学习并做出决策,从而产生所需的结果。

例如,OCR系统需要识别原始数据中的个人身份信息。为此,标注人员会在训练样本上标注姓名、身份证和联系方式。然后,机器学习工程师用数据集训练模型,以实现OCR实体识别,并从存储的文档中提取个人详细信息。

数据标注看似简单,但各种参数可能会影响标注结果和模型性能。因此,ML 团队使用数据标注软件来支持他们创建准确、高性能的模型。

2. 数据标注常用使用场景

早在LLM或者生成式人工智能出现之前,数据标注就已经在机器学习模型的训练中发挥了关键作用。

  • ML 工程师对数据进行标注,以支持命名实体识别、翻译和情感分析等自然语言处理 (NLP) 任务。
  • 在训练图像识别系统以检测和分类物体时,标注也很有帮助。
  • 医疗保健系统利用标注数据训练神经网络,以便从成像数据中诊断疾病。
  • 金融业利用各种数据集训练模型,以进行欺诈检测和信用评分。
  • 自动驾驶汽车依赖精确的数据集来训练能够实时分析多种传感器数据的模型。

3. 什么是LLM大模型

大型语言模型(LLM)是使用海量数据训练的语言神经网络模型。它们大多基于Transformer 神经网络架构。与前者不同的是,Transformer 能够并行关注多个单词,这使得模型能够理解相距甚远的单词之间的关系。

像 GPT、Bard 和 BERT 这样的语言模型是大型语言模型。因此,它们可以与用户对话,用自然语言构建答案。然而,它们的智能化需要付出高昂的代价,而且需要大量的原始数据。尽管如此,这些模型在下游应用中的功能还是受到了限制,下面我们将对此进行说明。

4. 大语言模型是怎么训练的

在进一步了解之前,我们先来看看机器学习工程师是如何训练 GPT-3 等 LLM 的。

准备和预处理


首先,数据科学家从互联网、书籍和公共数据集等各种来源收集大量原始文本数据。然后,标注员清理数据,确保数据不存在错误、噪音或偏差。之后,通过标记化等预处理步骤,将原始数据转换成模型可以理解的格式。标记化将文本数据转化为由单词或子单词组成的更小的语言单位。

训练和优化


像 GPT3 这样的大型语言模型使用下一标记词预测和mask-level modeling来形成对语言结构的自然理解。

  • 下一个标记词预测使模型能够预测当前一个标记词之后最有可能出现的词或标记词。例如,该模型尝试用 "blue "一词来完成短语 "The ocean is ____"。
  • mask-level modeling包括随机删除句子中的特定单词或短语。然后,提示模型预测适合填入空白处的适当单词或短语。

这两种自然语言处理训练方法都能使模型提高提供最相关输出的概率。它通过将生成的输出结果与预期结果进行比较来实现这一目的。然后,它将差异或错误传递给网络进行后续优化。模型可以通过评估损失梯度来重新调整参数和权重,以弥补产生的差异。这一过程是迭代式的,模型会重复这些步骤,直到达到令人满意的性能为止。

模型评估和微调


最后,经过训练的模型要进行评估测试,即由人工智能工程师向其输入一组带标注的测试数据。根据测试结果,他们可能会进一步调整模型参数,或针对特定目的进行微调。后者涉及监督训练,即向模型提供带标注的数据集。

5. 数据标注在训练大语言模型中的意义

从理论上讲,大型语言模型可以在没有标注数据的情况下实现功能。像 GPT3 这样的模型使用自监督或无监督学习来开发理解自然语言的能力。它不使用标注数据进行训练,而是使用下一个单词预测方法来学习如何以最符合上下文逻辑的方式完成句子。

大型语言模型虽然智能,但并不完美,往往不适合实际应用。原因就在这里。

大型语言模型本身无法执行专业或特定业务任务。例如,您不能使用 ChatGPT 作为您公司的聊天机器人,因为它不是根据您的产品或服务训练出来的。

LLM 容易产生偏差,从而影响其响应的准确性和适当性。在安全、金融和其他关键任务行业,这可能会导致代价高昂的不公平预测。

如果没有额外的规定,GPT 等模型可能会被滥用或误用。作为预先训练好的模型,它们可能会用不恰当的文本、过时的信息或捏造的事实做出回应。

以下是大语言模型功能受限的一些例子

一般来说,LLM 依赖于它们所训练的数据集和自我监督能力。不幸的是,在实际模型中,预期输出和实际性能之间存在差距,这就需要数据标注发挥作用。标注不是训练整个模型,而是帮助优化模型,使其适用于实际应用。

下面,我们将分享标注如何提高 LLM 的整体性能、正确性和实用性。

预训练 Pre Train


虽然大型语言模型在训练过程中不直接使用注释数据,但仍可从人工标注者那里获益。通常情况下,此类模型的重新训练成本过高,这就凸显了人工标注在清除错误信息方面的重要性。标注员可以整理并清除数据集中的噪音和错误,从而提高训练模型的可靠性。

微调 Fine Tune


数据注释对于为特定应用定制大型语言模型至关重要。例如,您可以利用对业务或行业的深入了解对 GPT 模型进行微调。这样,您就可以创建在您的细分领域一个类似于 ChatGPT 的聊天机器人,用最新的产品知识吸引客户。

模型评估 Evaluation


随着研究人员不断推出新的语言模型,他们需要一种公平的方法来评估这些模型的性能。标注数据提供了单一的基本事实,可用于比较模型之间的精确度、召回率或 F1 分数等指标。

语境理解


大型语言模型在理解不同语言语境和细微差别方面通常比其前辈更胜一筹。尽管如此,并不是所有的模型都同样擅长理解人类语言的复杂性。因此,标注有助于提高它们理解和应对不同语言风格的能力。

6. 使用数据标签微调 LLM 的三个步骤: 以 ChatGPT 为例 


预先训练好的 GPT 模型能够将句子连贯地串联在一起,但需要进一步完善以适应特定的目的。ChatGPT 采用了一种名为 "人类反馈强化学习"(RHLF)的技术进行微调,以改进其目的对齐。RHLF 的工作原理是在预训练模型预测标注数据集的可能输出时对其进行奖励。

为了对 ChatGPT 进行微调,OpenAI 的工程师们经历了以下几个步骤。

第一步:监督微调(SFT)
监督微调包括由人类标注团队创建一组提示及其预期输出。然后,工程师使用提示-输出组合训练基础 GPT 模型,生成 SFT 模型。由于这种方法是人工完成的,因此成本高且缺乏可扩展性。此外,标注员创建的数据集不足以彻底微调像 GPT 这样庞大的模型,因此我们需要进行下一步。

第二步:奖励模型
奖励模型克服了 SFT 的扩展能力。工程师不需要从头开始创建数据集,而是使用 SFT 模型为一个提示自动生成多个答案。然后,标注员对答案进行排序,以反映最佳匹配到最不理想匹配。

通过这种方法,OpenAI 的工程师可以生成更大的数据集,而不受人力资源的限制。然后,他们利用这个数据集来训练奖励模型,根据人类的偏好来预测 SFT 模型的得分。

第 3 步:近端策略优化 (PPO)
在最后阶段,工程师创建了一个涉及 PPO 和奖励模型的强化学习机制。PPO 模型是 LLM 模型的一个副本,它产生一个输出,奖励模型为其分配一个分数。根据得分,PPO 模型将在下一次迭代中调整其策略并提高性能。

7.使用 LLM 自动进行数据标注 


ChatGPT 在数据标注方面的应用凸显了后者在对齐 LLM 方面的重要性。同样,这也表明 LLM 对于标注任务非常有用。公司面临着成本和资源压力,需要为日益复杂的深度学习模型创建大量准确的数据集。通过启用 ML 辅助标注,它们可以在标注任务中提高生产力和成本效益。

机器学习如何帮助实现数据标注自动化
LLM 能够自然地理解人类语言。不过,它们同样擅长数据结构、主动学习和生成合成数据。这使得像 GPT 这样的 LLM 能够帮助完成预标注任务。标注者可以使用 LLMs 识别和标注文本数据中的特定实体,而不是手动标注整个数据集。

有些 LLM 具备零次学习或少量学习的能力,这使得模型无需微调即可做出预测。在数据标注方面,这种能力使 LLM 可以执行人工标注任务,而无需进行冗长的准备工作。这样,人工标注人员就可以投入更多时间来查看已标注的数据集。当然,这也为企业节省了时间和成本。

自动化数据标注的工具和技术
现在,您可以利用 ChatGPT 或 GPT 本身来协助您完成预标注任务。为此,您需要及时掌握工程知识,为 ChatGPT 创建适当的指令,以便进行分析、标注并以适当的格式返回结果。另外,ML 工程师也可以使用 OpenAI API 密钥以编程方式访问 GPT 模型。

让我们以 NER 项目为例。在这种情况下,可以要求 LLM 以 JSON 字符串的形式返回实体。采用这种格式后,实体就可以上传到 ML工程师的数据库。

这样,LLM 就能与现有的自动标注管道实现无缝集成。例如,我们在后面讲演示了如何使用 GPT 在 CoNLL2003 数据集上应用命名实体识别标记,并将预先标注的数据导出到我们的标注平台。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/320964.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3.三极管和MOS管

3.三极管和MOS管 基础知识三极管是电流控制型器件MOS管是电压控制型器件 分类及引脚定义电流导通方向基础应用常用MOS管电平转换电路MOS管实现电平转换用MOS管实现的“I2C总线电平转换电路”,实现3.3V电压域与5V电压域间的双向通讯 基础知识 三极管是电流控制型器件…

C语言中关于指针的理解及用法

关于指针意思的参考:https://baike.baidu.com/item/%e6%8c%87%e9%92%88/2878304 指针 指针变量 地址 野指针 野指针就是指针指向的位置是不可知的(随机的,不正确的,没有明确限制的) 以下是导致野指针的原因 1.指针…

ZZULIOJ 1110: 最近共同祖先(函数专题)

题目描述 如上图所示,由正整数1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结 点(编号是1 的结点)都有一条唯一的路径,比如从10 到根结点的路径是(10, 5, 2, 1), 从4 到根结点的路径是(4, 2, 1)&#xff0…

【python playwright 安装及验证】

python playwright pip install playwright pip install playwright -i http://mirrors.aliyun.com/pypi/simple/ playwright codegen -o script.py -b chromium --ignore-https-errors --viewport-size “2560,1440” --proxy-server “http://100.8.64.8:60497” https://w…

xtu oj 1340 wave

题目描述 一个n列的网格,从(0,0)网格点出发,波形存在平波(从(x,y)到(x1,y)),上升波(从(x,y)到(x1,y1)),下降波(从(x,y)到(x1,y−1))三种波形,请问从(0,0)出发,最终到达(n,0)的不同波形有多少种&#xff1f…

x-cmd pkg | jless - 受 Vim 启发的命令行 JSON 查看器

目录 简介首次用户功能特点类似工具与竞品进一步探索 简介 jless 是一个命令行 JSON 查看器,设计用于读取、探索和搜索 JSON 数据。可以使用它来替代 less 、 jq 、 cat 以及您当前用于查看 JSON 文件的编辑器的任何组合。它是用 Rust 编写的,可以作为单…

LINUX基础培训六之磁盘和文件系统管理

前言、本章学习目标 掌握fdisk分区类型和管理分区了解parted分区类型掌握LVM模式文件系统创建、扩展、缩小文件系统 一、磁盘的分区管理 在 Linux 中有专门的分区命令 fdisk 和 parted。其中 fdisk 命令较为常用,但不支持大于 2TB 的分区;如果需要支…

QT上位机开发(usb设备访问)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 利用usb接口访问底层下位机,这是一种很常见的方式。目前比较简单的做法有两种,一种是usb转串口,另外一种是利用…

arcgis javascript api4.x加载天地图web墨卡托(wkid:3857)坐标系

效果&#xff1a; 示例代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv&quo…

BRC20通证的诞生与未来展望!如何导入bitget教程

BRC-20通证是什么&#xff1f; 嘿&#xff01;你知道BRC-20通证吗&#xff1f;这可是比特币区块链上的超级明星&#xff01;它们不依赖智能合约&#xff0c;而是把JSON代码刻在聪上&#xff0c;聪可是比特币的最小单位哦&#xff01;就像在比特币的乐高积木上盖房子&#xff0…

JDK8终将走进历史,Oracle宣布JDK继续免费

目录 前言Oracle 已免费提供 JDKOracle Java SE 产品最新动态 为什么业界中用JDK8那么多Java SE 8 公共更新结束总结 前言 今天想到上个月无意中听闻到的一句话&#xff1a;JDK8之后收费了&#xff0c;所以大家都用JDK8。当时只觉得这个话说得不对&#xff0c;但因为和说话的人…

ubantu系统运维命令,端口相关操作

1、使用sudo ufw status命令查看所有开放的端口&#xff0c;如下图&#xff1a; 2、使用命令sudo ufw allow 8443&#xff0c;打开端口8443.如下图&#xff1a; 3、使用 sudo ufw reload刷新端口配置&#xff0c;如下图&#xff1a;

如何挖掘过期老域名并注册一个 DA 为 10 的高价值老域名

原文来源&#xff1a;https://guomuyu.com/registered-a-high-value-domain.html 最近有一些有意从事外贸的朋友阅读了《2024最新外贸建站&#xff1a;WordPress自建外贸独立站教程》这篇文章。然而&#xff0c;当他们尝试注册与自己所从事行业相关的域名时&#xff0c;却发现…

【电源专题】案例:不同模块同一个管脚默认状态不一样会导致什么异常?

案例背景:在产品设计中,有时候会兼容两个不同供应商同一个方案的模块。比如两个供应商使用的内部方案都是一样的芯片,封装也是兼容的。但是由于专利、LAYOUT方便、软件开发方便等角度来看,可能会存在不同模块供应商的同一个PIN脚对应的芯片内部的管脚不一样。管脚不一样那么…

训练FastestDet(Anchor-Free、参数量仅0.24M),稍改代码使得符合YOLO数据集排布

文章目录 0 参考链接1 准备数据1.1 使用以下代码生成绝对路径的txt文件1.2 在config文件夹下新建一个xxx.names文件 2 配置训练参数3 稍改代码使得符合YOLO数据集排布4 开始训练 0 参考链接 官方的代码&#xff1a;FastestDet 1 准备数据 我已有的数据集排布&#xff1a;&am…

vue3移动端适配

将vue3项目中的 px 单位&#xff0c;自动转换为rem 单位 可以看到这里会根据页面缩小放大变化 需要安装两个插件&#xff0c;看步骤 amfe-flexible --- 默认指向2.2.1版本 npm i -S amfe-flexiblepostcss-pxtorem --- 默认指向6.0.0版本 --save-dev 参数会把依赖包的版本信…

抽象类--java学习笔记

什麽是抽象类&#xff1f; 在java中有一个关键字叫&#xff1a;abstract&#xff0c;它就是抽象的意思&#xff0c;可以用它修饰类、成员方法abstract修饰类&#xff0c;这个类就是抽象类&#xff1b;修饰方法&#xff0c;这个方法就是抽象方法 认识抽象类 抽象类的注意事项…

udf提权

环境&#xff1a; kali:192.168.157.128 linux靶机&#xff1a;192.168.157.130 1.使用nmap对当前网段进行扫描 nmap 192.168.157.0/24 发现靶机IP和开放端口 2.对靶机进行详细的服务探测 -sS&#xff1a;使用 SYN 扫描&#xff08;半开放扫描&#xff09;方式&#xff0c…

webpack执行流程知识点总结

webpack的运行流程 Webpack 的运行流程是一个串行的过程&#xff0c;从启动到结束会依次执行以下流程&#xff1a; 在以上过程中&#xff0c;Webpack 会在特定的时间点广播出特定的事件&#xff0c;插件在监听到感兴趣的事件后会执行特定的逻辑&#xff0c;并且插件可以调用 We…

ArrayBlockingQueue的使用

异步日志打印模型概述 在高并发、高流量并且响应时间要求比较小的系统中同步打印日志已经满足不了需求了&#xff0c;这是因为打印日志本身是需要写磁盘的&#xff0c;写磁盘的操作会暂时阻塞调用打印日志的业务线程&#xff0c;这会造成调用线程的rt增加。 如图所示为同步日…