大型语言模型的工作原理(LLM:从零学起)

目录

一、说明

二、LLM如何运作

三、预训练:基本模型

四、微调:培训助手

五、RLHF:从人类反馈中强化学习

六、提示工程

七、总结


一、说明

        这是我们谈论LLM系列的第二篇文章。在本文中,我们旨在为大型语言模型 (LLM) 的运行方式提供易于理解的解释。

二、LLM如何运作

        让我们首先看一下文档完成器模型的工作原理:

用户提示:

>A banana is 

模型响应:

>an elongated, edible fruit 

然后,文档生成器模型的工作方式如下:

用户提示:

I want to buy a new car 

        模型响应:

>What kind of car do you want to buy? 

        请注意上述两者之间的差异。

        第一个模型只是一个文档完成器,它只会用它找到最有可能成为下一个字符的内容来完成提示。这是我们在互联网数据块上训练的模型,它被称为基础模型

        第二个模型是一个文档生成器,它将根据提示问题生成更像人类的响应。这是 ChatGPT 模型

        ChatGPT模型是一种推理模型,可以根据提示问题生成响应。我会说它 99% 是基本模型,但有两个额外的训练步骤:微调步骤和从人类反馈步骤中强化学习

三、预训练:基本模型

        这构成了人工智能革命的核心,也是真正的魔力所在。

        训练模型是一个向它提供大量数据并让它从中学习的过程。

        正如 GPT-3 论文中所述,基础模型是在大量互联网数据上训练的。对于像你我这样的人来说,这不是一件容易的事。它不仅需要获取数据,还需要大量的计算能力,如GPU和TPU。

        但别担心,我们仍然可以学习在自己的计算机上训练一个小型 GPT 模型。我将在下一个主题中向您展示如何执行此操作。

        LLM 训练背后的创新在于引入了 Transformer 架构,该架构使模型能够从大量数据中学习,同时保留输入不同部分之间的关键上下文关系

        通过保持这些联系,该模型可以根据提供的上下文有效地推断出新的见解,无论它们是单个单词、句子、段落还是其他内容。凭借这种能力,LLM培训为自然语言处理和生成任务开辟了新的机会,使机器能够更好地理解和响应人类交流。

        用于训练基本模型的转换器架构如下所示:

这是一个基于神经网络的模型训练,采用了一些新旧技术:标记化、嵌入、位置编码、前馈、归一化、softmax、线性变换,以及最重要的多头注意力。

        这部分是你我最感兴趣的。我们希望清楚地了解架构背后的想法以及培训的确切方式。因此,从下一篇文章开始,我们将开始深入研究用于训练基础模型的论文、代码和数学。

四、微调:培训助手

        微调是一种非常聪明的实现方式。我想它首先是由 OpenAI 完成的。这个想法非常简单,但工作原理很智能:雇用人工标记人员来创建大量问答对话对(如 100k 对话)。然后向模型提供对话对,并让它从中学习。

        此过程称为微调。您知道将这 100k 个示例对话训练到模型中后会发生什么吗?模型将像人类一样开始响应!

        让我们看一下那些带有标签的对话示例:

>Human labeled Q&AQ: What is your name?
A: My name is John. 
>Human labeled Q&AQ: What's the capital of China?
A: China's capital is Beijing. 
>Human labeled Q&AQ: Summarize the plot of the movie Titanic.
A: The movie Titanic is about a ship that sinks in the ocean. 

        哇,这些示例问答是在嘲笑我们彼此交谈的方式。

        通过向模型传授这些响应样式,相关上下文响应的概率将变得非常高,并成为对用户提示的响应。通过以各种对话风格训练模型,我们增加了它为提示提供相关且上下文适当的响应的可能性。

        这就是语言模型如何显得如此智能和像人类的原因;通过学习模仿现实世界对话的节奏和模式,他们可以令人信服地模拟与用户的来回对话。

        在这一步,我们可以说我们得到了一个助手模型

        下图显示了从预训练基础模型到微调助手模型的一些亮点:

(摘自 Andrej Karpathy 从头开始构建 GPT 模型))

五、RLHF:从人类反馈中强化学习

        2022 年 1 月,OpenAI 发表了他们关于调整语言模型以遵循指令的工作。在他们的博客文章中,他们描述了该模型是如何根据人类反馈进行微调的:

        这个有点棘手。这个想法是让模型从人类反馈中学习。他们不是提供 ~100k 标记的问答对,而是收集用户的提示和模型响应,然后让人类对它们进行排名。将排名对话作为最需要的问答样本,然后再次将它们提供给模型,让它从中学习以提高其整体性能。

        OpenAI 在其博客上介绍了此过程:

        为了使我们的模型更安全、更有用、更一致,我们使用了一种称为从人类反馈中强化学习 (RLHF) 的现有技术。根据客户提交给 API 的提示,我们的贴标器会提供所需模型行为的演示,并对模型的多个输出进行排名。然后,我们使用这些数据来微调 GPT-3。

        以下是基本模型与微调/RLHF 响应比较:

        您可以看到,在没有微调和 RLHF 的情况下,该模型只是一个文档完成器。

六、提示工程

        即使进行了微调和 RLHF,该模型仍然需要一些帮助才能获得所需的响应。这就是提示工程的用武之地。

        简单来说,我们可以仔细设计提示,从模型中获得所需的响应(有时甚至不需要微调)。

        如果你不想过多地研究数学和代码,那么提示工程是更多关注的好方法,因为它可以通过键入更好的提示来充分利用 LLM 模型。

        现在让我们看一个例子:

提示:

>The sky is 

输出:

>blue. 

让我们试着改进一下:

提示:

>Complete the sentence:
The sky is 

输出:

>blue during the day and dark at night. 

通过在提示中包含一些指令,模型将知道该做什么以及该响应什么。

让我们看另一个有趣的例子:

提示:

>When I was 6 my sister was half my age. Now
I’m 70 how old is my sister? 

输出:

>35 

答案是错误的。正确答案应为67。看起来模型理解了这些问题,但指的是数学计算而不是逻辑推理。

无需微调和 RLHF,我们只需在提示中添加更多示例说明即可获得正确答案:

提示:

Q: There are 15 trees in the grove. Grove workers will plant trees in the grove today. After they are done,
there will be 21 trees. How many trees did the grove workers plant today?
A: We start with 15 trees. Later we have 21 trees. The difference must be the number of trees they planted.
So, they must have planted 21 - 15 = 6 trees. The answer is 6.
Q: If there are 3 cars in the parking lot and 2 more cars arrive, how many cars are in the parking lot?
A: There are 3 cars in the parking lot already. 2 more arrive. Now there are 3 + 2 = 5 cars. The answer is 5.
Q: Leah had 32 chocolates and her sister had 42. If they ate 35, how many pieces do they have left in total?
A: Leah had 32 chocolates and Leah’s sister had 42. That means there were originally 32 + 42 = 74
chocolates. 35 have been eaten. So in total they still have 74 - 35 = 39 chocolates. The answer is 39.
Q: Jason had 20 lollipops. He gave Denny some lollipops. Now Jason has 12 lollipops. How many lollipops
did Jason give to Denny?
A: Jason had 20 lollipops. Since he only has 12 now, he must have given the rest to Denny. The number of
lollipops he has given to Denny must have been 20 - 12 = 8 lollipops. The answer is 8.
Q: Shawn has five toys. For Christmas, he got two toys each from his mom and dad. How many toys does
he have now?
A: He has 5 toys. He got 2 from mom, so after that he has 5 + 2 = 7 toys. Then he got 2 more from dad, so
in total he has 7 + 2 = 9 toys. The answer is 9.
Q: There were nine computers in the server room. Five more computers were installed each day, from
monday to thursday. How many computers are now in the server room?
A: There are 4 days from monday to thursday. 5 computers were added each day. That means in total 4 * 5 =
20 computers were added. There were 9 computers in the beginning, so now there are 9 + 20 = 29 computers.
The answer is 29.
Q: Michael had 58 golf balls. On tuesday, he lost 23 golf balls. On wednesday, he lost 2 more. How many
golf balls did he have at the end of wednesday?
A: Michael initially had 58 balls. He lost 23 on Tuesday, so after that he has 58 - 23 = 35 balls. On
Wednesday he lost 2 more so now he has 35 - 2 = 33 balls. The answer is 33.
Q: Olivia has $23. She bought five bagels for $3 each. How much money does she have left?
A: She bought 5 bagels for $3 each. This means she spent $15. She has $8 left.
Q: When I was 6 my sister was half my age. Now I’m 70 how old is my sister?
A:

输出:

>When I was 6 my sister was half my age, so she was 3. Now I am 70, so she is 70 - 3 = 67. The answer is 67. 

输出 2:

>When the narrator was 6, his sister was half his age, which is 3. Now that the narrator is 70, his sister would be 70 - 3 = 67 years old. The answer is 67. 

        两个答案都是正确的!我们只是在提示中添加一些示例作为逻辑解释,然后再次提出相同的问题。模型现在可以理解问题并正确回答。 

        强提示可用于指导模型执行复杂的任务,例如解决数学问题或总结文本。所以即时工程在LLM生态系统中也扮演着非常重要的角色。

        有关提示工程的更多信息,这里有一个很好的提示指南教程。

七、总结

        你一直在读这里,我相信你花了一段时间来消化所有的信息,特别是对于那些刚接触LLM世界的人来说。

        现在,我认为我们在基本概念和背景信息方面已经涵盖了足够的基础。现在是我们开始准备构建我们自己的大型语言模型的时候了。理论已经够多了,我们将在下一篇文章中继续讨论变形金刚架构的关键组件。

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

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

相关文章

企业微信hook接口协议,ipad协议http,chatid转群id

chatid转群id 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信 请求示例 {"uuid":"3240fde0-45e2-48c0-90e8-cb098d0ebe43","chatid":"wrO9o4EAAAeR_nSlmjeX1RWrKAKxN8jQ" } 返回示例 {&…

【银河麒麟V10服务器OS-系统根分区扩容】指导教程手册

【银河麒麟V10服务器OS-系统根分区扩容】指导教程手册 环境信息:VMware虚拟软件16.0 首先查看KylinOS服务器版本:nkvers 备注: (Tercel) 版本是 V10 SP1 版本, (Sword) 版本是 V10 SP2 版本, (Lance) 版本是 V10 …

UE4 使用样条线做鱼儿封闭路径动画

描述:鱼儿的游动动画的特点 1.通常是始终保持Y (Pitch)轴角度不变 2.调头的时候改变的是Z轴角度 效果:调头的时候比较自然 蓝图: 最后为了让鱼儿有恒定的游动速度,增加以下蓝图节点,游动速度为50

CTFHUB-技能树-web-web前置技能-HTTP协议全

目录 1.请求方式 2.302跳转 3.Cookie 4.基础认证 5.响应包源码 1.请求方式 curl -v -X http://challenge-3022c877a8dcedeb.sandbox.ctfhub.com:10800/index.php 2.302跳转 参考链接:http://t.csdnimg.cn/aqdNG 301——永久性重定向。该状态码表示请求的资源已…

Avue-data数据大屏显示柱状图(附Demo讲解)

目录 前言1. 接口方式2. SQL查询 前言 由于网上对这部分的知识点相对较少,研究半天的框架最终输出结果 此文主要以记录总结的方式展示如何使用数据库以及接口方式 需要明白柱状图的返回数据格式: #柱状图数据格式 {"categories": ["苹…

组织是什么,为什么需要组织,为什么需要公司

垂直组织 组织架构设计,曾经咱们多个章节进行沟通,今天再回到组织本身。不妨可以思考一个这样的问题,或者随访身边的老板或者朋友,让他们绘制一个组织架构图,或者绘制一个本组织一个视图,得到以下图的示意…

[Redis]Set类型

集合类型也是保存多个字符串类型的元素的,但和列表类型不同的是,集合中 1)元素之间是无序的 2)元素不允许重复 一个集合中最多可以存储2^32-1个元素。 Redis 除了支持集合内的增删查改操作,同时还支持多个集合取交…

盲盒小程序库存管理的关键策略

随着盲盒经济的兴起,越来越多的商家开始投入盲盒小程序的开发与运营。然而,在享受市场红利的同时,库存管理的问题也随之而来。合理的库存管理不仅能够满足用户需求,还能有效优化库存周转率,提升商家的盈利能力。本文将…

有光摄影分享网站系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,基础数据管理,论坛管理,足球资讯管理,球队管理 前台账户功能包括:系统首页,个人中心,活动,论坛…

HCIA--OSPF实验(复习)

实验拓扑&#xff1a; 实验思路&#xff1a; 1.规划IP&#xff0c;配置环回&#xff0c;接口IP 2.把R1&#xff0c;R2优先级改为0&#xff0c;让R1、R2放弃选举&#xff0c; [r1]interface g0/0/0 [r1-GigabitEthernet0/0/0]ospf dr-priority 0 <r1>reset ospf…

数据结构——哈希表、哈希桶

哈希概念 顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关系&#xff0c;因此在查找一个元素时&#xff0c;必须要经过关键码的多次比较&#xff0c;顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(logN),搜索的效率取决于搜索过程种元素的比较次…

ElasticSearch学习笔记之一:介绍及EFK部署

1. 系统概述 The Elastic Stack&#xff0c;包括Elasticsearch、Kibana、Beats和Logstash&#xff08;也成为ELK Stack&#xff09; Elasticsearch&#xff1a;简称ES&#xff0c;是一个开源的高扩展的分布式全文搜索引擎&#xff0c;是整个Elastic Stack技术栈的核心。它可以…

docker安装redis以及持久化

为了避免当虚拟机关机后redis数据丢失的情况&#xff0c;redis需要持久化。所以要挂载数据卷 创建数据和配置存放的目录 [root192 data]# pwd /root/data [root192 data]# mkdir -p /root/data/redis/conf && chmod 777 /root/data/redis/conf [root192 data]# mkdir …

怎么找抖音视频素材?下载抖音的素材视频网站分享给你

在这个视觉印象至关重要的时代&#xff0c;选用高质量的视频素材对于制作抖音视频来说是关键。如果你正在寻找适合的视频素材来丰富你的抖音创作&#xff0c;以下这份详细的视频素材网站指南将帮助你迈出第一步。 蛙学府网 蛙学府网提供了丰富多样的视频素材&#xff0c;包括动…

香橙派Orange AI Pro / 华为昇腾310芯片 部署自己训练的yolov8模型进行中国象棋识别

香橙派Orange AI Pro / 华为昇腾310芯片 部署自己训练的yolov8模型进行中国象棋识别 一、香橙派简介1.1、香橙派 AI Pro 硬件资源介绍1.2、华为昇腾310&#xff08;Ascend310&#xff09; 简介1.3、 昇腾310AI能力和CANN 简介昇腾310 NPU简介 二、远程环境配置2.1、ssh2.2、vnc…

沈阳 2024年 融资融券怎么开通,利率多少?

融资融券是什么&#xff0c;为什么能赚钱&#xff0c;怎么赚更多&#xff0c;怎么少付利息 100个4.2% 如果你发现了好股票、好机会&#xff0c;但目前券商的融资利率较高&#xff0c;可以考虑转户并选择低利率的券商&#xff0c; 同时需要注意开通条件和转户产生的成本费用。…

新书推荐:1.3 内存管理模式

本节必须掌握的知识点&#xff1a; 4GB虚拟空间 虚拟内存 多任务切换 1.3.1 4GB虚拟空间 ■Win16操作系统 Windows1.0版本为16位操作系统&#xff0c;支持16位处理器实模式&#xff0c;最大寻址空间为1MB。Win16操作系统的内存管理非常简单&#xff0c;采用分段内存管理模式…

I.MX RT1170之MIPI DSI初始化和显示流程详解

MIPI DSI&#xff08;Mobile Industry Processor Interface Display Serial Interface&#xff09;是一种广泛应用于移动设备显示屏的接口标准。由MIPI联盟制定&#xff0c;DSI接口旨在提供高效、低功耗的显示屏数据传输解决方案。 本节来就通过学习I.MX RT1170单片机中的MIPI…

【Linux】Linux项目自动化构建工具——make/Makefile

1.背景 会不会写makefile&#xff0c;从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;makefile定义了一系列的 规则来指定&#xff0c;哪些文件需要先编译&#xff0c;哪些文件需…

Java集合思维导图

详细内容请看链接内容 Java集合面试题集——2024最新大厂面试