大型语言模型如何工作?

news/2024/7/6 7:44:02/文章来源:https://www.cnblogs.com/swindler/p/18275059

引言

本文旨在以浅显易懂的方式,向读者阐释大型语言模型(LLM)的工作原理。

我们首先看一下文档补全器模型的工作原理:

user prompt:
A banana ismodel response:
an elongated, edible fruit

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

user prompt:
I want to buy a new carmodel response:
What kind of car do you want to buy?

了解上面两个模型的不同之处。

第一个模型是文档补全器,只会根据最有可能成为下一个字符的内容来补全提示。这是我们用一部分互联网数据训练的基础模型。

第二个模型是文档生成器,会根据提示问题生成更像人类的回答。这就是 ChatGPT 模型。

ChatGPT 模型是一种推理模型,能够根据提示问题生成响应。它与基础模型的区别在于增加了两个训练步骤:微调和从人类反馈中进行强化学习。

预训练:基础模型

这正是 AI 革命的核心,也是其神奇之处。训练模型的过程是向它提供大量数据,并让它从中学习。

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

但不用担心,我们仍然可以在自己的电脑上学习训练一个小型 GPT 模型。

LLM 训练的创新之处在于引入了 Transformer 架构,这使得模型能够在保留输入各部分之间关键上下文关系的同时,从海量数据中学习。

通过保持这些联系,模型可以基于提供的上下文有效推断新的见解,不论是单词、句子、段落,还是更多。凭借这一能力,LLM 训练为自然语言处理和生成任务开辟了新的可能性,使机器能够更好地理解和回应人类的交流。

以下是用于训练基础模型的 Transformer 架构示意图:

这是一个基于神经网络的模型训练,结合了一些旧的和新的技术,包括:标记化、嵌入、位置编码、前馈、归一化、 softmax 、线性变换,尤其是多头注意力机制。

这是你我都非常感兴趣的部分。我们想要明确了解该架构的理念以及具体的训练过程。因此,从下一篇文章开始,我们将深入探讨用于训练基础模型的论文、代码和数学原理。

微调:训练助手

微调是一种非常巧妙的技术实现。据我所知,OpenAI可能是首个采用这种方法的机构。其核心思想虽然简单,但执行起来非常高效:聘请人工标注员来构建大量的问答对话对(比如达到10万对)。接着,将这些对话对输入到模型中,让模型通过它们进行学习。

这个过程就是所谓的微调。想象一下,当模型经过这10万个对话样本的训练后,它将能够像人类一样进行回应!现在,让我们来审视一下这些经过标注的对话样本:

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.

通过向模型灌输这些回应风格,模型对相关上下文的回应概率将大幅提升,从而能够针对用户的提问给出回应。我们通过让模型在多样化的对话风格中进行训练,提高了它对用户提示给出恰当且相关回答的可能性。

这就是语言模型能够表现得如此聪明且接近人类的原因;它们通过学习模仿现实对话的节奏和模式,能够令人信服地与用户进行互动对话。

下面是一个图表,展示了从基础模型的预训练到助手模型微调过程中的一些关键亮点:

RLHF:根据人类反馈进行强化学习

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

这个问题稍显复杂。核心思想在于让模型通过人类的反馈进行学习。不同于直接提供大约10万个预标记的问答对,我们收集用户提出的问题和模型给出的回答,然后由人类对这些回答进行排序。将这些经过排序的对话作为最理想的问答样本,再次输入模型,让模型学习这些样本以提升其整体性能。

OpenAI在其博客中介绍了这一过程:

为了使我们的模型更加安全、更有帮助、更符合预期,我们采用了一种称为人类反馈强化学习(RLHF)的技术。我们的客户通过API提交提示后,我们的标注者会展示出期望的模型行为,并对我们模型生成的多个回答进行排序。然后,我们利用这些数据对GPT-3进行微调。

以下是一个基础模型与经过微调/RLHF处理后的模型响应的对比示例:

你可以看到,没有fine-tune和RLHF,模型只是一个文档补全器。

Prompt 工程

尽管采用了微调和人类反馈强化学习(RLHF),模型有时仍需额外辅助才能生成我们期望的回答。这正是提示工程大显身手的地方。

简单来说,我们可以通过精心构思提示来引导模型给出我们想要的答案,有时这甚至可以在不进行微调的情况下实现。

如果你不想深入数学和编程的复杂性,那么专注于提示工程是个不错的选择,因为它仅通过更巧妙地设计提示,就能让大型语言模型(LLM)发挥出最佳性能。

现在,让我们通过一个实例来进一步了解:

prompt: The sky is
output: blue.prompt: Complete the sentence:The sky is
output: blue during the day and dark at night.

精心设计的Prompt能够引导模型完成诸如解决数学问题或概括文本等复杂工作。因此,Prompt工程在大型语言模型(LLM)的生态系统中发挥着至关重要的作用

总结

你已经耐心阅读到这里,我确信要完全理解这些信息需要花费一些时间,尤其是对于那些新接触大型语言模型(LLM)领域的读者。

本文由mdnice多平台发布

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

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

相关文章

idea配置sftp连接服务器

一、配置本机密钥,用于连接服务器使用 ssh-keygen命令,一路回车,生成公钥ssh-keygen -t rsa 公钥内容保存在:/Users/yf/.ssh/id_rsa下,并且将生成的文件内容复制到服务器的 ~/.ssh/authorized_keys 文件中,然后就可以在本机使用 ssh root@ip 进行连接服务器了二、配置id…

第三次博客作业-家居强电电路模拟程序3-4 blog-3

一、前言:在完成了家具强电电路模拟程序-1与家具强电电路模拟程序-2的基础上,这套家具强电电路模拟程序又经过了两次迭代,我也和解决之前迭代问题一样,先对增加的需求进行分析,然后设计我的程序,最后编写代码。在难度方面,家具强电电路模拟程序-3相对于家具强电电路模拟…

Linux服务器如何测试存储盘性能是否正常?FIO磁盘压测工具的使用详解

fio是一种I/O工具,用于基准测试和压力/硬件验证。它支持19种不同类型的I/O引擎(sync,mmap,libaio,posixaio,SG v3,splice,null,network,syslet,guasi,solarisaio等)针对磁盘的压力性能测试工具有很多,简单的测试可以通过dd命令实现,而比较专业和强大的磁盘IO测试…

(循环序列DP)牛客小白月赛88 D我不是大富翁

题意:思路: 考虑dp,题目显然提到2个状态:位置和操作次数,因此设置dp[i][j]表示在i位置第j次操作是否合法。 易得状态转移方程: dp[(i + a[j]) % n][j] |= dp[i][j - 1]; dp[((i - a[j]) % n + n) % n][j] |= dp[i][j - 1]; code: #include <bits/stdc++.h> #inclu…

题目集7~8的总结性Blog

7~~8次大作业总结 前言 没有了测试点说明,真是非常的艰难,不知道有什么情况,也不知道哪里的答案错了,就很难找,也很难做出修改。测试样例也是,数量不多,情况不多,特别是最后一次的,测试样例也没错,试了几种情况,都没错,也不知道是哪里错了,最后就不了了之了。 第七…

Python用PyMC3实现贝叶斯线性回归模型

原文链接:http://tecdat.cn/?p=5263 原文出处:拓端数据部落公众号在本文中,我们将在贝叶斯框架中引入回归建模,并使用PyMC3 MCMC库进行推理。 我们将首先回顾经典频率论的多重线性回归方法。然后讨论贝叶斯如何考虑线性回归。 用PyMC3进行贝叶斯线性回归 在本节中,我们将…

SPSS用K均值聚类KMEANS、决策树、逻辑回归和T检验研究通勤出行交通方式选择的影响因素调查数据分析|附代码数据

原文下载链接:http://tecdat.cn/?p=27587 最近我们被客户要求撰写关于通勤出行的研究报告,包括一些图形和统计输出。 某交通工程专业博士生想要研究不同因素对通勤交通方式选择的影响,对成都两个大型小区(高端和普通)居民分别进行了出行调查,各调查了300人 其中 Distanc…

【专题】2024全国主要城市工业互联网发展指数报告合集PDF分享(附原数据表)

原文链接:https://tecdat.cn/?p=36590 原文出处:拓端数据部落公众号 《报告合集》详细分析了全国工业互联网主要城市的产业发展特征,揭示出这些城市在互联网产业上表现出较高水平。据工信部等部门发布的2023年度数据,这些主要城市汇聚了全国94%的双跨平台、92.3%的大数据产…

CodeFormer一款既能图像修复、还能视频增强去码的AI软件(下载介绍)

CodeFormer是一款强大的人工智能工具,主要用于图像和视频的修复和增强。它基于深度学习技术,特别是人脸复原模型,可以轻松修复和增强面部图像,提升照片和视频的质量和视觉效果工作原理 1、通过自动编码器实现人脸的变换,包括色彩化、清晰化、去马赛克修复等功能 2、采用了…

OOP课第三阶段总结

OOP课第三阶段总结 前言:我想说的第一句是:”我感受到了设计上的极大缺陷“,从一开始,我完全就忽略了引脚的存在。因为在第二阶段中,家电模拟大作业一、二在不需要考虑引脚的情况下也可以完成。但是当来到第三次,出现了互斥开关,因为互斥开关的特殊性,它具有1、2、3三个…

头歌实践教学平台-机器学习 --- PCA-答案

非盈利文章,仅提供编辑器内的答案或代码,不提供启动服务及需要命令行的代码 第1关:维数灾难与降维第2关:PCA算法流程import numpy as npdef pca(data, k):对data进行PCA,并将结果返回 :param data:数据集,类型为ndarray :param k:想要降成几维,类型为int :return: 降维…

头歌实践教学平台-机器学习 --- PCA答案

非盈利文章,仅提供过关答案或代码,不提供启动服务及需要命令行的代码 第1关:维数灾难与降维第2关:PCA算法流程import numpy as npdef pca(data, k):对data进行PCA,并将结果返回 :param data:数据集,类型为ndarray :param k:想要降成几维,类型为int :return: 降维后的数…

线段树题单记录

写线段树题单的记录线段树题单记录 线段树的题都很板的,模板敲上去再改改就行 P3372 【模板】线段树 1 题目 Link 为什么模板是绿题,还有下面那道 思路 首先我们要明白它为什么叫线段树: OI Wiki 上的这张图很好理解:从这张图也可以看出来,线段树的每个节点管辖的一个又一…

PTA训练集阶段总结性blog(第三弹)

目录PTA训练集总结blog1.前言2.设计与分析题目集七 7.1家居强电电路模拟系统—3关于设计要求:UML类图及设计分析:部分源码:复杂度分析:题目集八 7.1 家具强电电路模拟系统—8关于设计要求:部分源码:复杂度分析:3.踩坑心得4.改进建议5.总结 PTA训练集总结blog 1.前言 1.这…

智慧工厂视频智能分析系统解决方案 燧机AI算法

视频监控智能分析系统通过安装在工厂生产施工作业现场的各个监控装置,构建智能监控分析预警和防范体系,有效弥补传统方法和技术在管理中的缺陷。智慧工厂视频监控智能分析系统实现对人员、机械、材料、环境的全方位实时监控,变被动“监督”为主动“监控”;真正做到事前预警…

从零开始学Spring Boot系列-集成Spring Security实现用户认证与授权

在Web应用程序中,安全性是一个至关重要的方面。Spring Security是Spring框架的一个子项目,用于提供安全访问控制的功能。通过集成Spring Security,我们可以轻松实现用户认证、授权、加密、会话管理等安全功能。本篇文章将指导大家从零开始,在Spring Boot项目中集成Spring S…

springboot+vue前后端分离项目-vue项目搭建4

1.修改vue布局,app.vue为入口,只引入路由,路由控制页面显示 改造后app.vue 新增layout.vue 修改/router/index.js,默认访问路径 / 对应layout.vue,layout里的路由是嵌套路由,/home匹配到HomeView.vue新增vue/src/views/LoginView.vue 效果以上仅供参考,如有疑问,留言联…

OOP 7-8次作业总结

23201636-曾繁榕 目录前言 设计与分析 踩坑心得 改进建议 总结 前言 本次作业知识点:类与对象的复杂使用,继承的进阶使用,各种接口的实现,复杂电路的处理,一个对象多个数据的储存输出,还主要考察了正则表达式的运用,字符串的提取分割; 个人体会:本次作业难度较难,题量适…

DHCP

DHCP Discover:由客户端发出广播,用来发现DHCP服务器。 DHCP Offer:由DHCP服务器发出,告诉客户端,我可以提供IP地址。 DHCP Request:由客户端发出的广播,告诉对应的DHCP服务器,我需要IP地址。 DHCP ACK:由DHCP服务器发出,提供客户端响应的IP地址,DNS,租期,掩码,网…