LLM大模型和数据标注

news2024/10/1 21:39:36

对于那些不精通机器学习的人来说,像 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.coloradmin.cn/o/1378294.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# 关于多态性学习

前言 我相信大家都对面向对象的三个特征封装、继承、多态很熟悉,每个人都能说上一两句,但是大多数都仅仅是知道这些是什么,今天这篇文章是对C# 的多态性学习一下,巩固自己的基础,我们都知道同一操作作用于不同的对象&…

内 存 取 证

1.用户密码 从内存中获取到用户admin的密码并且破解密码,以Flag{admin,password}形式提交(密码为6位); 1)查看帮助 -h ./volatility_2.6_lin64_standalone -h 2)获取内存镜像文件的信息 imageinfo ./volatility_2.6_lin64_stand…

详解java多态

目录 一、多态的概念 二、多态实现条件 三、重写 3.1重写概念 3.2重写规则 3.3重载和重写的区别?(面试重点) 四、静态绑定和动态绑定 五、 向上转移和向下转型 5.1 向上转型 5.2 向下转型 六、多态的优缺点 6.1使用多态的好处 6…

VSCode 搭建Java开发环境

笔者使用最多的语言是C,也使用过不少其它语言,像Erlang,Python,Lua,C#等等,目前项目中在使用Go,但是没使用过Java。最近看到C#夺冠,首次荣获 TIOBE 年度编程语言,同时也看…

vscode中文插件以及运行php代码

vscode中文版插件 vscode运行php代码 1.插件安装 2.配置项 左上角文件——首选项——设置——输入php.validate.executablePath {"workbench.colorTheme": "Default Dark Modern","php.validate.executablePath": "E:/phpstudy/php.exe&q…

Pytorch基础:数据读取与预处理——调用PyTorch官方数据集

数据读取与预处理——调用PyTorch官方数据集 1. 从网络端下载 FashionMNIST 数据集到本地2. 数据集可视化 1. 从网络端下载 FashionMNIST 数据集到本地 (base) PS C:\Users\孙明阳> conda activate yang (yang) PS C:\Users\孙明阳> python Python 3.11.5 | packaged by…

Vue-9、Vue事件修饰符

1、prevent 阻止默认事件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>事件修饰符</title><!--引入vue--><script type"text/javascript" src"https://cdn.jsdeliv…

创建了使用说明书之后,怎样才能监测用户的行为和反馈?

在当今数字化的时代&#xff0c;了解用户的行为和反馈对于产品和服务的质量提升至关重要。对于使用说明书而言&#xff0c;仅仅创建出来是远远不够的&#xff0c;还需要持续地监测用户的行为和反馈&#xff0c;以便不断优化和改进。那怎样才能有效地监测用户的行为和反馈呢&…

Java十大经典算法—KMP

字符串匹配问题&#xff1a; 1.暴力匹配 public class ViolenceMatch {public static void main(String[] args) {String str1 "硅硅谷 尚硅谷你尚硅 尚硅谷你尚硅谷你尚硅你好";String str2 "尚硅谷你尚硅你好";int index violenceMatch(str1, str2);S…

Web开发:SQLsugar的安装和使用

一、安装 第一步&#xff0c;在你的项目中找到解决方案&#xff0c;右键-管理解决方案的Nuget 第二步&#xff0c;下载对应的包&#xff0c;注意你的框架是哪个就下载哪个的包&#xff0c;一个项目安装一次包即可 点击应用和确定 安装好后会显示sqlsugar的包 二、使用&#xf…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux网络编程第一天-socket编程(物联技术666)

更多配套资料CSDN地址:点赞+关注,功德无量。更多配套资料,欢迎私信。 物联技术666-CSDN博客物联技术666擅长嵌入式C语言开发,嵌入式培训笔记,嵌入式硬件,等方面的知识,物联技术666关注机器学习,arm开发,物联网,嵌入式硬件,单片机领域.https://blog.csdn.net/weixin_3980490…

Unity Shader 开发入门3 —— 坐标空间变换

文章目录 一、变换矩阵1.1 齐次坐标1.2 平移矩阵1.3 旋转矩阵1.4 缩放矩阵1.5 复合变换 二、世界空间变换三、观察空间变换四、裁剪空间变换4.1 视椎体4.2 齐次裁剪空间4.3 视椎体投影方式 五、屏幕空间变换 ​ 在 Shader 开发中存在不同的坐标空间&#xff0c;包括&#xff1a…

代码随想录 516. 最长回文子序列

题目 给你一个字符串 s &#xff0c;找出其中最长的回文子序列&#xff0c;并返回该序列的长度。 子序列定义为&#xff1a;不改变剩余字符顺序的情况下&#xff0c;删除某些字符或者不删除任何字符形成的一个序列。 示例 1&#xff1a; 输入&#xff1a;s “bbbab” 输出&…

docker容器运行elaticsearch和kibana,又把ECS跑爆了

就运行了两个容器一个elasticsearch应一个就是可视化的kibana 开始还好好的后来cpu又爆了 最后只有重启ECS然后再启动这两个服务就好了 去网上找了下解决方法。说是正常情况Kibana第一加载非常耗资源。

openssl快速生成自签名证书

系统&#xff1a;Centos 7.6 确保已安装openssl openssl version生成私钥文件 private.key &#xff08;文件名自定义&#xff09; openssl genpkey -algorithm RSA -out private.key -pkeyopt rsa_keygen_bits:2048-out private.key&#xff1a;生成的私钥文件-algorithm RS…

Vue-14、Vue绑定style样式

1、对象写法 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>绑定css样式</title><!--引入vue--><script type"text/javascript" src"https://cdn.jsdelivr.net/npm/v…

Win10系统读不出U盘的四种解决方法

有用户特别喜欢用U盘来保存重要的内容&#xff0c;但有用户反映自己的Win10电脑读取不了U盘&#xff0c;这样用户就不能将Win10电脑上的内容传输到U盘了。下面小编带来四种简单有效的解决方法&#xff0c;解决后Win10电脑上的U盘就能被正常识别&#xff0c;从而恢复对U盘的使用…

揭露欧拉骗局4.“Σ1/n²=π²/6”里的猫腻

自然数平方倒数求和Σ1/n是一个并不复杂的问题&#xff0c;但它困扰了欧洲大陆整整90年&#xff0c;在欧系数学里它被称为“巴塞尔级数”。 解决巴塞尔级数让欧拉一战成名&#xff0c;然而欧拉采用的方法对数学这门学问是严重的侮辱。数学是工具学科&#xff0c;数学的宗旨是化…

NAND Separate Command Address (SCA) 接口数据传输解读

在采用Separate Command Address (SCA) 接口的存储产品中&#xff0c;DQ input burst和DQ output burst又是什么样的策略呢&#xff1f; DQ Input Burst: 在读取操作期间&#xff0c;数据以一种快速并行的方式通过DQ总线传送到控制器。在SCA接口下&#xff0c;虽然命令和地址信…

AI绘画软件Stable Diffusion模型/Lora/VAE文件存放位置

型下载说明&#xff08;下载模型后输入对应参数即可生成&#xff09; 建议直接去civitai.com找模型&#xff0c;如果无法找到可以在幕后模型区找也可以去&#xff0c; 下载好后放入对应的文件夹。进入127.0.0.1:7680 左上角刷新即可看到新的模型。 模型种类 大模型 大模型特…