大语言模型(LLM)快速理解

news2024/9/24 15:16:32

自2022年,ChatGPT发布之后,大语言模型(Large Language Model),简称LLM掀起了一波狂潮。作为学习理解LLM的开始,先来整体理解一下大语言模型。


一、发展历史

大语言模型的发展历史可以追溯到早期的语言模型和机器翻译系统,但其真正的起点可以说是随着深度学习技术的兴起而开始。

1.1 统计语言模型

在深度学习技术出现之前,语言模型主要基于传统的统计方法,也称为统计语言模型(SLM)。

SLMs是基于统计语言方法开始,基本思想是基于马尔可夫假设建立词预测模型,如根据最近的上下文预测下一个词。具有固定上下文长度n的SLM也称为n—gram语言模型。

然而这些模型虽然简单,但在处理长文本序列时存在着词汇稀疏性和上下文理解能力有限等问题。

1.2 神经语言模型

随着神经网络技术的发展,Bengio等人于2003年提出了神经语言模型,将语言模型建模问题转化为了一个神经网络的学习问题。

循环神经网络(RNN)和长短期记忆网络(LSTM)的提出进一步增强了神经语言模型对文本序列的建模能力。这些模型能够捕捉到文本序列中的长程依赖关系,从而提高了语言模型的性能。

2013年,Google提出了Word2Vec模型,通过词嵌入(Word Embedding)的方式将单词映射到连续的向量空间中,提高了语言模型对单词语义的理解能力。

2017年,谷歌提出了Transformer模型,该模型通过自注意力机制(Self-Attention)实现了并行计算,大大提高了模型的训练速度。

1.3 预训练语言模型

2018年,OpenAI发布了第一个版本的GPT模型,利用Transformer结构进行预训练,这是首个成功利用大规模无监督学习方法来预训练通用语言表示的模型。

2018年,Google提出了BERT模型,与GPT的区别是GPT采用了单向的自回归方式进行预训练,而BERT通过MLM和NSP实现双向上下文建模。使得预训练语言模型的性能得到了进一步的提升。

随后就激发了后续一系列的预训练模型的发展,如XLNet、RoBERTTa、T5、 GPT-2、GPT-3、GPT 3.5、GPT-4 等等。而大语言模型也是在此过程中被定义下来的。


二、什么是大语言模型

2.1 定义

从大语言模型字面意思来理解,“语言”和“模型”很好理解,就是代表着在自然语言处理上的AI模型。而这个大指的是神经网络很大,包括模型的参数数量、训练数据量、计算资源等。

参数数量

大语言模型通常含有数十亿到数千亿个参数,使得模型能够有更强的语言理解、推理和生成能力。

如果只通过 GPT(生成式预训练 Transformer)模型的演进规模来看:

2018年发布的GPT-1包含 1.17 亿个参数,9.85 亿个单词。``2019年发布的GPT-2包含15亿个参数。``2020年发布的GPT-3包含1750亿个参数。ChatGPT 就是基于这个模型。``2023年发布的GPT-4据爆料它可能包含1.8万亿个参数

训练数据

训练大语言模型通常需要大规模的文本语料库。这些语料库可以包括来自互联网、书籍、新闻等各种来源的文本数据,从而确保模型能够学习到丰富和多样化的语言知识。

如GPT-3,它是在混合数据集上进行训练的;PaLM使用了一个有社交媒体对话、过滤后的网页、书籍、Github、多语言维基百科和新闻组成的预训练数据集。

计算资源

训练大型语言模型需要大量的计算资源,包括高性能的计算机集群、大容量的存储设备以及高速的网络连接。

英伟达价格高昂但依然一卡难求的高性能GPU H100,长期霸占着LLM领域的热门话题,可以说,英伟达垄断了目前的AI算力市场。马斯克甚至戏言:GPU现在比drug还紧俏。

2.2 大语言模型训练方式

现有的神经网络在进行训练时,一般基于反向传播算法(BP算法),先对网络中的参数进行随机初始化,再利用随机梯度下降(SGD)等优化算法不断优化模型参数。

大语言模型的训练通常采用两阶段方法:预训练(pre-training)和微调(fine-tuning)

预训练(Pre-training):

  • 在预训练阶段,模型使用大规模无监督的文本数据进行训练,学习文本数据中的语言表示。

  • 通常采用自监督学习方法,即使用文本数据自身作为标签来训练模型。

  • 训练过程中,模型通过最小化损失函数来优化参数,以使得模型能够更好地表示文本中的语义和语法信息。

微调(Fine-tuning):

  • 在预训练完成后,可以将预训练好的模型参数应用于特定的下游任务,如文本生成、文本分类、情感分析等。

  • 在微调阶段,通常使用带标签的数据集对模型进行进一步训练,以适应特定任务的需求。微调可以在预训练模型的顶部添加一个或多个额外的层,并使用标签数据对这些层进行训练。

  • 微调的目标是调整模型参数,使得模型能够更好地适应特定任务的特征和标签,从而提高任务性能。

在微调阶段,模型在与目标任务或领域相关的更具体、更小的数据集上进一步训练。这有助于模型微调其理解,并适应任务的特殊要求。


三、预训练

3.1 数据收集及处理

3.1.1 数据来源

无论是怎样的模型,数据的质量都是相当重要的。现有的大语言模型主要混合各种公共文本数据集作为预训练语料库。如下为一些代表性模型的预训练数据来源的分布情况。

语料库的来源可以广义分为通用文本数据和专用文本数据。通用指的就是如网页、书籍和对话文本等广泛可获取的,可以增强模型的泛化能力;专用文本数据就是在想让模型更加专注某一专业领域时所用的,如科学数据、代码等。

如上图中的模型中,就大部分都是使用了通用的预训练数据。

3.1.2 数据预处理

收集数据之后,由于不确定性,所以需要对数据进行预处理,尤其是噪声、荣誉、无关或有害的数据。预处理过程如下:

(1) 质量过滤(Quality Filtering)

删除低质量数据,常采用基于分类器和基于启发式两种方法。

分类器就是使用用高质量数据训练好的二分类的模型来对数据进行分类,不过可能会删除方言、口语和社会语言的高质量文本。

基于启发式就是设计一组精心设计的规则来消除低质量文本,如基于语言、生成文本的评估度量、统计特征、关键词等。

(2)去重(De-duplication)

重复数据会降低语言模型的多样性,所以需要进行去重处理。
从数据颗粒上来说,可以分为在句子级、文档级和数据集级等进行去重;

(3)隐私去除(Privary Reduction)

如涉及敏感个人信息的隐私内容,也是需要去除的,很简单有效的就是用基于如姓名、地址、电话号码等关键词的方法。

(4)分词(Tokenization)

非常关键的步骤,将原始文本分割成词序列。

3.2 架构

3.2.1 编码器-解码器架构(Encoder-Decoder)

在这里插入图片描述

如传统Transformer 模型就是建立在此结构上。它使用了6层的Encoder和Decoder

3.2.2 因果编码器架构(Causal decoder)

这时当前主流使用的,采用单向注意力掩码,以确保每个输入标记只能关注过去的标记和它本身。输入输出标记通过解码器以相同的方式处理。典型的模型有 GPT1/23, OPT, BLOOM, Gopher。

3.2.3 前缀解码器架构(Prefix decoder)

修正了因果解码器的掩码机制,以使其能够对前缀标记执行双向注意力,并仅对生成的标记执行单向注意力。
这样与编码器-解码器架构类似,前缀解码器可以双向编码前缀序列并自回归地逐个预测输出标记,其中在编码和解码过程中共享相同的参数。

总的来说,Encoder-Decoder适用于序列到序列的任务,Causal Decoder适用于需要生成自回归序列的任务,而Prefix Decoder适用于需要根据特定前缀生成序列的任务。

3.3 模型训练

在数据处理好,模型搭建好之后,就要开始对模型进行训练。


四、微调和强化学习

在预训练后,大语言模型可以获得解决各种任务的通用能力。然而,还可以通过特定目标进一步调整,也就是微调(Instruction Tuning)

4.1 指令微调

通过在特定的指令性任务数据集上进行训练,提高模型对于指令类输入的理解和响应。

指令的意思,举个例子,对聊天机器人的指令,需要包括如“今天天气如何”和对应的回答,供模型学习。

也就是说需要包含明确指令的数据集,一个指令需要包括一个任务描述、一个输入输出对以及少量实例(可选)。

常用的指令实例格式化方法有格式化已有的数据集还有格式化人类需求。

指令微调对模型的性能改进和任务泛化能够起到很好的作用

4.2 对齐微调

大语言模型有时可能表现出意外的行为,例如制造虚假信息、追求不准确的目标,以及产生有害的、误导性的和偏见性的表达。为了避免这些意外行为,研究提出了人类对齐,使大语言模型行为能够符合人类的期望也就是对齐微调。

在预训练阶段使用的训练语料库是没有对模型的主观定性评估的。所以可以在使用人类反馈的数据进行微调,这个过程称为强化学。


五、应用

大语言模型作为具有广泛应用的变革工具而受到重视。

  • 文本生成:这些模型具有理解上下文、含义和语言的微妙复杂性的固有能力。因此,他们可以生成连贯且上下文相关的文本。

  • 问答与信息检索:大语言模型在问答和信息检索领域正在快速发展。他们理解人类语言的卓越能力使他们能够从庞大的数据存储库中提取相关细节。

  • 情感分析与意见挖掘:了解人类的情感和观点在不同的环境中都具有巨大的意义,从塑造品牌认知到进行市场分析。像在社交媒体监控和品牌认知分析领域的应用。

  • 辅助代码生成:如GitHub Copilot、通义灵码

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

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

相关文章

视频孪生:如何有效利用智慧机房里的视频监控系统?

机房是存储设备和数据的重要场所。常见的机房安全隐患有电源不稳定、设备温度异常、空调及新风系统故障、机房漏水等,因此需要管理人员全天轮班值守巡检。传统机房运维工作繁琐且效率低下,对监控设备的利用率不高,而视频孪生技术能很好地解决…

02 pip指令的使用

pip 是一个现代的,通用的 Python 包管理工具 。提供了对Python 包的查找、下载、安装、卸载的功能。 1. 在安装好的python环境下,进入以下目录可以查看到pip命令。 同样在windows命令窗口进行测试,pip命令是否可用。WindowsR键,使…

“职场中,不要和上司作对”,真的很重要吗?你认同这句话吗?

在职场上,领导对下属的期望永远都只有两个字,不是忠诚,也不是能力,而是省心。 领导对下属的要求就是别让我操心。 在职场中,通常面临的首要问题就是如何与领导相处。 把职场中的前辈当作老师来尊重,你尊…

基础复习(多线程)

线程创建方式 1.继承Thread类 2.实现Runable接口 3.Callable接口实现有返回值的线程 (1)第一种 提供了一个类叫做Thread,此类的对象用来表示线程。创建线程并执行线程的步骤如下 1.定义一个子类继承Thread类,并重写run方法 2.创建…

无密码sudo

文件路径:/etc/sudoers 修改sudoers文件 进去root 权限:sudo su 加入sudoers 写权限:chmod w sudoers 修改sudoers文件:vim sudoers 根据下面图片修改 wq退出编辑

华为LTC流程体系详解

LTC,全称Lead to Cash,中文翻译为从线索到现金,是一种企业运营管理思想,也是一个集成的业务流程。它涵盖了企业从接触客户到收到客户回款的整个流程,通过科学化管理,实现更高效地将线索客户转化为付费客户。…

学习web前端三大件之HTML篇

HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形…

每日一面系列之美团面试拷打:ConcurrentHashMap 为何不能插入 null?HashMap 为何可以

ConcurrentHashMap 为什么 key 和 value 不能为 null? ConcurrentHashMap 的 key 和 value 不能为 null 主要是为了避免二义性。null 是一个特殊的值,表示没有对象或没有引用。如果你用 null 作为键,那么你就无法区分这个键是否存在于 Concu…

1. shiro的基本使用

一、现存问题 1. 认证(登录):认证操作流程都差不多,但是每次都需要手动的基于业务代码去实现,很麻烦! 2. 授权:如果权限控制粒度比较粗,可以自身去实现,但是如果控制粒度…

fastadmin插件市场暂不可用,是否切换到本地插件

今天调试时需要安装一个富文本插件,结果在插件管理模块提示如下错误: 经过参考网上资料,最终解决方案: 修改backend/config目录下,fastadmin.php 中代码: //API接口地址 api_url > https://api.iuok.c…

canopenfestival生成字典使用的总结

添加地图变量 1、不带索引计数的 子索引的值类型固定 2、带索引计数 子索引的值类型固定,子索引名字不可更改 3、带索引计数 子索引的值类型不固定,子索引名字可更改

HarmonyOS多目标产物构建最佳实践

背景 在Android或iOS开发时经常会有打“马甲”包的场景,就是一套代码打出不同主题的包,一个公司的产品可能针对不同用户提供不同的应用,比如抖音有国内版也有国外版,滴滴有个人版还有企业版,同样的在鸿蒙平台也有类似…

百元内性价比最高的随身WiFi!格行随身WiFiVS京东云VS先机随身WiFi真实测评!哪个随身WiFi网速最快?口碑最好的随身WiFi!

随身WiFi是大家都熟知的便携式上网设备不管是出差旅行✈还是学生党租房都非常合适。但是现在市面上的随身WiFi产品良莠不齐‼价格也千差万别!今天给大家挑选三款百元内性价比最高的随身WiFi出期测评看下哪款最好用——先机、格行和京东云的详细测评,帮助…

深度学习6--深度神经网络

1.VGG网络 在图像分 类这个领域中,深度卷积网络一般由卷积模块和全连接模块组成。 (1)卷积模块包含卷积层、池化层、Dropout 层、激活函数等。普遍认为,卷积模块是对 图像特征的提取,并不是对图像进行分类。 (2)全连接模块跟在卷积模块之后&…

Selenium安装WebDriver:ChromeDriver谷歌浏览器驱动下载安装与使用最新版116/117/118/119/120/121/122/123

Selenium安装WebDriver:ChromeDriver谷歌浏览器驱动下载安装与使用最新版116/117/118/119/120/121/122/123 文章目录 Selenium安装WebDriver:ChromeDriver谷歌浏览器驱动下载安装与使用最新版116/117/118/119/120/121/122/1230. 背景1. 确定Chrome版本2.…

大模型系统和应用——自然语言处理大模型基础_大模型和自然语言处理的相互影响

引言 最近在公众号中了解到了刘知远团队退出的视频课程《大模型交叉研讨课》,看了目录觉得不错,因此拜读一下。 观看地址: https://www.bilibili.com/video/BV1UG411p7zv 目录: 自然语言处理&大模型基础神经网络基础Transf…

新款奔驰G350升级动态通风按摩座椅有哪些功能

奔驰大 G350 升级通风按摩座椅的作用主要包括以下方面: 通风座椅的作用: • 改善空气流通:在炎热天气下,即使车内空调温度设定较低,乘客坐在座椅上时,身体与椅面紧密接触的部分仍可能会感到闷热&#xff…

人大高瓴发布Think-on-Graph 2.0,基于知识图的大模型推理再升级!

经常参加高考的朋友可能会体会到,比起死记硬背知识点,将知识整理成脉络往往会获得事半功倍的效果。其实对于大模型来说也是如此,哪怕被允许“开卷作答”,即通过检索增强(Retrieval-augmented generation,RA…

【前端面试3+1】20 css三栏布局6种实现方式、多行文本溢出怎么实现、token过期了怎么处理、【二叉树的中序遍历】

一、css三栏布局6种实现方式 1.浮动布局(Floats) .container {overflow: auto; /* 清除浮动 */ }.left, .right {width: 20%; /* 左右栏宽度 */float: left; }.middle {width: 60%; /* 中间栏宽度 */margin: 0 20%; /* 左右栏宽度 */ } 2.Flexbox .conta…

面试经典 222. 完全二叉树的节点个数

二叉树我最近刷的特别多,差不多快刷完了,但是有一种题型差点给我忽略了,那就是完全二叉树,这也是一个很重要的题型,今天刚好有一道题目可以来复习一下完全二叉树的特性 题目链接如下:https://leetcode.cn/…