LLM大语言模型-AI大模型全面介绍

news2024/11/13 4:31:07

简介: 大语言模型(LLM)是深度学习的产物,包含数十亿至数万亿参数,通过大规模数据训练,能处理多种自然语言任务。LLM基于Transformer架构,利用多头注意力机制处理长距离依赖,经过预训练和微调,擅长文本生成、问答等。发展经历了从概率模型到神经网络,再到预训练和大模型的演变。虽然强大,但存在生成不当内容、偏见等问题,需要研究者解决。评估指标包括BLEU、ROUGE和困惑度PPL。

大语言模型 (LLM) 背景

🍹大语言模型 (Large Language Model) 是一种人工智能模型, 它们通常包含数千亿甚至更多的参数,并在大规模数据集上进行训练。大语言模型可以处理多种自然语言任务,如文本分类、问答、翻译、对话等等。

  • 自然语言模型的发展经历了从概率模型到神经网络模型,再到大型语言模型的过程。在这个过程中,关键技术的发展推动了模型的演进和性能的提升。
  • LLM通常建立在Transformer架构之上,这种架构使用了多头注意力机制,能够处理长距离的依赖关系。这些模型通过堆叠多个注意力层来提高其处理复杂语言任务的能力。
  • 随着模型参数数量的增加,LLM展现出了小模型所不具备的特殊能力,如上下文学习能力和逐步推理能力。这些能力的涌现使得LLM在多项任务中取得了显著的效果提升。
  • LLM的训练过程通常包括预训练和微调两个阶段。在预训练阶段,模型在大量无标签数据上学习语言的一般性规律;在微调阶段,模型通过有标签数据进行调优,以适应特定的下游任务。
  • LLM的应用产生了深远的影响,例如ChatGPT等模型展现出了强大的人机对话能力和任务求解能力,这对整个AI研究社区产生了重大影响。
  • 尽管LLM在多方面展现出了强大的能力,但同时也带来了一些风险和挑战,如生成不当内容、偏见放大等问题,这些都需要研究者在模型设计和训练过程中予以重视和解决。

🍹语言模型发展的三个阶段 :

  • 第一阶段 :设计一系列的自监督训练目标(MLM、NSP等),设计新颖的模型架构(Transformer),遵循Pre-training和Fine-tuning范式。典型代表是BERT、GPT、XLNet等;
  • 第二阶段 :逐步扩大模型参数和训练语料规模,探索不同类型的架构。典型代表是BART、T5、GPT-3等;
  • 第三阶段 :走向AIGC(Artificial Intelligent Generated Content)时代,模型参数规模步入千万亿,模型架构为自回归架构,大模型走向对话式、生成式、多模态时代,更加注重与人类交互进行对齐,实现可靠、安全、无毒的模型。典型代表是InstructionGPT、ChatGPT、Bard、GPT-4等。

语言模型通俗理解:用来计算一个句子的概率的模型,也就是判断一句话是否是人话的概率 。

标准定义:对于某个句子序列, 如S = {W1, W2, W3, …, Wn}, 语言模型就是计算该序列发生的概率,如果给定的词序列符合语用习惯, 则给出高概率, 否则给出低概率。

🥂让我们通过一些具体的例子来理解语言模型如何计算句子的概率,并判断一句话是否符合自然语言的语用习惯。

假设有一个非常简单的语言模型,它基于词频来计算句子的概率。这个模型会统计每个单词在大量文本中出现的次数,然后用这些频率来估计概率。例如,如果单词 “the” 在训练集中出现了非常多次,那么 P(the) 就会很高。对于句子 “The quick brown fox jumps over the lazy dog,” 模型会计算每个单词的概率,并将它们相乘得到整个句子的概率 P(S)。

P(S)=P(The)×P(quick)×P(brown)×…timesP(dog)

更复杂的语言模型,如n-gram模型,不仅考虑单个单词的频率,还考虑单词序列的频率。例如,一个bi-gram模型会考虑像 “quick brown” 这样的词对在文本中共同出现的频率。这样,它可以捕捉到一些单词之间的概率依赖关系,比如 “quick” 后面很可能会跟着 “brown”。

P(S)=P(The)×P(quick∣The)×P(brown∣quick)×…×P(dog)

现代语言模型,如基于Transformer的模型,使用深度学习来捕捉更加复杂的语言结构。这些模型可以处理长距离的依赖关系,并且能够根据上下文来预测下一个单词。例如,如果你输入了 “The cat is on the”, 模型可能会预测下一个单词是 “mat”,因为它学会了 “on the mat” 是一个常见的短语。

基于语言模型技术的发展,可以将语言模型分为四种类型:

  • 基于规则和统计的语言模型

  • 神经语言模型

  • 预训练语言模型

  • 大语言模型

  1. 基于规则和统计的语言模型:早期的语音识别系统多采用这种语言模型,它通过计算词序列出现的概率来评估句子的合理性。N-gram模型就是一种典型的基于统计的语言模型,它利用大量文本数据来计算单词序列出现的频率。
  2. 神经语言模型:随着深度学习的发展,神经语言模型(Neural Language Model, NLM)开始兴起。这类模型通常使用神经网络结构,如前馈神经网络(FeedForward Neural Network LM)、循环神经网络(RNN LM)等,能够捕捉到更为复杂的语言模式和上下文信息。
  3. 预训练语言模型:预训练语言模型(Pre-trained Language Model, PLM)是在大规模数据集上进行无监督预训练的模型,然后再针对特定任务进行微调。BERT(Bidirectional Encoder Representations from Transformers)就是一个著名的预训练语言模型,它通过预训练获得丰富的语义表示,适用于多种自然语言处理任务。
  4. 大语言模型:大规模语言模型(Large Language Model, LLM)通常拥有数十亿到数万亿个参数,能够处理各种自然语言处理任务,如自然语言生成、文本分类、文本摘要、机器翻译、语音识别等。这些模型基于深度学习技术,使用互联网上的海量文本数据进行训练,具有强大的语言理解和生成能力。

N-gram

N-gram是一种基于统计的语言模型算法,用于预测下一个词或字符出现的概率💡。

N-gram模型的核心思想是将文本分割成连续的n个词(或字符)的序列,这些序列被称为grams。然后,模型统计这些n-grams在文本中出现的频率,以此作为预测下一个词或字符出现概率的依据。这里的n是一个正整数,表示词组中词的个数。例如,在句子“我喜欢学习自然语言处理”中,1-gram(unigram)是单个词,如“我”、“喜欢”、“学习”等;2-gram(bigram)是两个连续的词,如“我喜欢”、“喜欢学习”等;而3-gram(trigram)则是三个连续的词,如“我喜欢学习”、“喜欢学习自然”等。为了解决参数空间过大问题,引入马尔科夫假设:随意一个词出现的概率只与它前面出现的有限的一个或者几个词有关。

  • 如果一个词的出现与它周围的词是独立的,那么我们就称之为unigram也就是一元语言模型:P(S) = P(W_1)P(W_2)…*P(W_n)
  • 如果一个词的出现仅依赖于它前面出现的一个词,那么我们就称之为bigram:P(S) = P(W_1)*P(W_2|W_1)P(W_3|W_2)…*P(W_n|W_{n-1})
  • 如果一个词的出现仅依赖于它前面出现的两个词,那么我们就称之为trigram:P(S) = P(W_1)*P(W_2|W_1)P(W_3|W_2,W_1)…*P(W_n|W_{n-1},W_{n-2})

在实践中用的最多的就是bigram和trigram,接下来以bigram语言模型为例,理解其工作原理:

首先我们准备一个语料库(数据集),为了计算对应的二元模型的参数,即 P ( W i ∣ W i − 1 ) P(W_i|W{i-1}) P(WiWi1),我们要先计数即 C ( W i − 1 , W i ) C(W{i-1},W_i) C(Wi1,Wi),然后计数 C ( W i − 1 ) C(W_{i-1}) C(Wi1) , 再用除法可得到概率。

根据给定的计数结果,我们可以计算bigram语言模型的参数。首先,我们需要将计数结果转换为概率形式,计算一个句子的概率 :

N-gram语言模型的特点:

  • 优点:采用极大似然估计, 参数易训练; 完全包含了前n-1个词的全部信息; 可解释性强, 直观易理解。

  • 缺点:缺乏长期以来,只能建模到前n-1个词; 随着n的增大,参数空间呈指数增长。数据稀疏,难免会出现OOV问题; 单纯的基于统计频次,泛化能力差。

神经网络语言模型

伴随着神经网络技术的发展,人们开始尝试使用神经网络来建立语言模型进而解决N-gram语言模型存在的问题。

  • 模型的输入: w t − n + 1 , … , w t − 2 , w t − 1 w{t-n+1}, …, w{t-2}, w_{t-1} wtn+1,,wt2,wt1就是前n-1个词。现在需要根据这已知的n-1个词预测下一个词 w t w_t wt C ( w ) C(w) C(w)表示 w w w所对应的词向量。
  • 网络的第一层(输入层)是将 C ( w t − n + 1 ) , … , C ( w t − 2 ) , C ( w t − 1 ) C(w{t-n+1}),…,C(w{t-2}), C(w_{t-1}) C(wtn+1),,C(wt2),C(wt1)这n-1个向量首尾拼接起来形成一个 ( n − 1 ) ∗ m (n-1)*m (n1)m大小的向量,记作 x x x
  • 网络的第二层(隐藏层)就如同普通的神经网络,直接使用一个全连接层, 通过全连接层后再使用 t a n h tanh tanh这个激活函数进行处理。
  • 网络的第三层(输出层)一共有 V V V个节点 ( V V V 代表语料的词汇),本质上这个输出层也是一个全连接层。每个输出节点 y i y_i yi表示下一个词语为 i i i 的未归一化log 概率。最后使用 softmax 激活函数将输出值 y y y进行归一化。得到最大概率值,就是我们需要预测的结果。

基于Transformer的预训练语言模型

基于Transformer的预训练语言模型(T-PTLM)是自然语言处理领域的一大创新,它们通过在大量无标注文本数据上进行预训练来学习通用的语言表征,并能够将这些知识迁移到各种下游任务中,以下是一些重要的T-PTLM及其特点:

  1. GPT(Generative Pre-training Transformer):GPT是一种生成型预训练语言模型,它使用Transformer架构从大规模语料库中学习语言的内在结构和语义信息。GPT的核心思想是自回归建模,即通过逐词预测下一个词的方式来生成整个句子或文本。
  2. BERT(Bidirectional Encoder Representations from Transformers):BERT是一个双向的Transformer编码器,它通过预训练任务(如遮蔽语言模型和下一句预测)来捕捉文本中的上下文信息。BERT模型在多种NLP任务中取得了显著的性能提升。
  3. XLNet:XLNet是一种改进的自回归模型,它在GPT的基础上引入了Transformer-XL中的相对位置编码和段级重复机制,旨在克服GPT在长距离依赖学习和复制机制上的不足。

大语言模型

随着对预训练语言模型研究的开展,人们逐渐发现可能存在一种标度定律,随着预训练模型参数的指数级提升,其语言模型性能也会线性上升。2020年,OpenAI发布了参数量高达1750亿的GPT-3,首次展示了大语言模型的性能。

大语言模型的特点💡:

  • 优点:具备了能与人类沟通聊天的能力,甚至具备了使用插件进行自动信息检索的能力。

  • 缺点:参数量大,算力(进行模型训练和推理所需的计算能力)要求高、生成部分有害的、有偏见的内容等等。

语言模型的评估指标

BLEU

BLEU (Bilingual Evaluation Understudy) 是一种广泛使用的评估机器翻译系统输出质量的指标。它通过比较机器翻译的结果和一组参考翻译(通常由人工翻译或被认为是准确的翻译)来计算翻译的准确性。BLEU算法实际上就是在判断两个句子的相似程度.,BLEU 的分数取值范围是 0~1,分数越接近1,说明翻译的质量越高。

在实际应用中,通常会计算BLEU-1到BLEU-4的值,并对它们进行加权平均以得到一个综合的BLEU分数。这样做的原因是不同的n-gram级别能够捕捉翻译质量的不同方面:BLEU-1更侧重于词汇的准确性,而BLEU-2、BLEU-3和BLEU-4则能够更好地衡量句子的流畅性和结构一致性。

candidate: {it, is, a, nice, day, today}

reference: {today, is, a, nice, day}

☕️

其中{today, is, a, nice, day}匹配,所以匹配度为5/6

candidate: {it is, is a, a nice, nice day, day today}

reference: {today is, is a, a nice, nice day}

☕️

其中{is a, a nice, nice day}匹配,所以匹配度为3/5

candidate: {it is a, is a nice, a nice day, nice day today}

reference: {today is a, is a nice, a nice day}

☕️

其中{is a nice, a nice day}匹配,所以匹配度为2/4

candidate: the the the the

reference: The cat is standing on the ground

如果按照1-gram的方法进行匹配,则匹配度为1,显然是不合理的,所以计算某个词的出现次数进行改进。

ROUGE

ROUGE(Recall-Oriented Understudy for Gisting Evaluation)是一种评估自动文本摘要或机器翻译输出质量的指标,它通过比较生成的摘要与一组参考摘要(通常由人工创建)之间的相似度来衡量。与BLEU类似,ROUGE也使用n-gram的概念,但它们的计算方式和侧重点有所不同。

ROUGE指标通常报告为召回率,因为它更关注生成摘要中包含多少参考摘要的信息,而BLEU则更注重精确率,即生成摘要的准确性。

ROUGE分为四种方法:ROUGE-N, ROUGE-L, ROUGE-W, ROUGE-S。

  1. ROUGE-N (ROUGE-n): 计算生成摘要中n-gram(连续的n个单词)在参考摘要中出现的频率。ROUGE-N通常用于计算Unigram(N=1),Bigram(N=2)和Trigram(N=3)。

  2. ROUGE-L (ROUGE-L): 基于最长公共子序列(Longest Common Subsequence, LCS)的方法,计算生成摘要与参考摘要之间的LCS长度与参考摘要长度的比例。

  3. ROUGE-W (ROUGE-W): 基于最长公共子串(Longest Common Substring, LCS)的方法,计算生成摘要与参考摘要之间的LCS数量与参考摘要中的单词总数之比。

  4. ROUGE-S (ROUGE-S): 基于序列的匹配,允许间隔性的词匹配,而不是连续的n-gram匹配。

困惑度PPL

困惑度(Perplexity)是衡量概率模型预测样本的好坏程度的一种指标。在自然语言处理中,它常用于评估语言模型的性能。困惑度越低,表示模型的预测能力越好。

PPL=exp(−fraclog(P(X))N),其中,P(X) 是模型对整个数据集的概率分布的连乘积,N 是数据集中的总词数。困惑度能够衡量语言模型对文本的生成能力,即模型预测单词序列的概率分布的准确性~

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

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

相关文章

一个土木工程专业背景的开发者,讲述开源带给他的力量

在前段时间我们举办的“TDengine Open Day”第一季技术沙龙中,TDengine 应用研发高级工程师谭雪峰进行的“开源之路:程序员的成长与探索”主题分享获得了众多参会者的好评。谭雪峰从自身独特的职业发展经历出发,分享了自己在开源领域的种种收…

DM达梦数据库字符串函数整理

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

视觉理解与图片问答,学习如何使用 GPT-4o (GPT-4 Omni) 来理解图像

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、引言 OpenAI 最新发布的 GPT-4 Omni 模型,也被称为 GPT-4o,是一个多模态 AI 模型,旨在提供更加自然和全面的人机交互体验。 GPT-4o 与 GPT-4 Turbo 都具备视觉功…

3d中模型显示黑色给不了材质---模大狮模型网

如果3D模型显示黑色,而且无法给它添加材质,可能有以下几种原因: 一:模型没有UV贴图 UV贴图是3D模型表面纹理的一种方式,如果模型没有正确的UV贴图,渲染时可能会显示黑色。在大多数3D建模软件中&#xff0c…

Telnet远程登录(Cisco)

Telnet 基于TCP/IP协议族 远程终端协议 在Internet上远程登录 VTY(Virtual Teletype) 通过IP连接物理上的终端 实现在Internet上 登陆和配置远程目标终端 A Router>enable Router#config Router(config)#hostname A A(config)#interface gigabitEthernet 0/0 A(confi…

归并排序与快速排序总结-c++

一,归并排序 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法分治法(Divide and Conquer)的一个非常典型的应用。 作为一种典型的分而治之思想的算法应用,归并排序的实现由两种方法…

机器学习/pytorch笔记:time2vec

1 概念部分 对于给定的标量时间概念 t,Time2Vec 的表示 t2v(t)是一个大小为 k1的向量,定义如下: 其中,t2v(t)[i]是 t2v(t)的第 i 个元素,F是一个周期性激活函数,ω和 ϕ是可学习的参数。 以下是个人理解&am…

最热门的智能猫砂盆好不好用?这期统统告诉你!

身为上班族的我们,常常被工作和出差填满日程。忘记给猫咪铲屎也不是一次两次了。但我们必须意识到,不及时清理猫砂盆不仅会让猫咪感到不适,还可能引发泌尿系统感染、皮肤疾病等健康问题。为了解决这个问题,越来越多的铲屎官开始将…

JavaWeb——MySQL:navicate客户端工具简单使用

目录 1. 连接 2. 新建数据库 3. 使用数据库 4. 新建表 5.使用表 6. 导出数据库 我这里是英文版,没有进行汉化。 1. 连接 点击左上角Connection,选择MySQL,(我连接的是自己计算机上的数据库)连接名输入&#x…

Java面试题:聚簇索引和非聚簇索引

聚簇索引和非聚簇索引 聚簇索引(聚集索引) 将数据的存储和索引放在一块,索引结构的叶子节点保存了行数据 索引字段必须存在,且只能存在一个 非聚集索引(二级索引) 将数据和索引分开存储,索引结构的叶子节点关联的是对应的主键 索引字段可以存在多个 索引的选取规则 如果…

Unity2D - 碰撞检测及边界检测

1. 地面检测 1.1 地面检测的逻辑及代码 一般情况下,对于手人物进行事件处理或动作处理时,我们需要判定人物是否在地面上,这个时候最好的方式是设定地面碰撞器,只有角色在地面时才可以进行跳跃; 我们可以想象物体的重心向地面延伸…

Java的gui开发-Swing如何一键打包exe、dmg等

java的gui开发其实很方便,性能也不错,知名的idea开发工具也是java-swing开发,只是用的人少,看了我的例子3分钟就能学会,分分钟写桌面端,下面教你如何一键打包windows端exe Java-Swing-Template java的gui开…

解决SD卡被写保护问题

存储卡在使用过程中,有时会遇到写保护问题,导致无法写入或删除数据。这可能会对用户的正常使用造成困扰。MK米客方德将为您介绍几种常见的解决方法,帮助用户解除存储卡的写保护。 一、检查物理写保护开关 许多存储卡,如SD卡&…

深入剖析Tomcat(十二) 详解StandardContext

StandardContext是Context容器的一个标准实现,一般情况下,Tomcat都是使用StandardContext类来创建Context容器。前面讲过,Context容器代表了一个Web应用,Tomcat本身支持部署多个应用,相应的每个应用都会有一个Standard…

解锁小红书新玩法:中小企业出海营销的集成策略

随着全球数字化浪潮的推进,小红书作为生活方式分享平台的崛起,为中小企业提供了一个全新的营销舞台。NetFarmer,作为专注于企业数字化出海的服务商,深谙小红书的营销策略,并致力于通过HubSpot产品销售与实施&#xff0…

spring boot jar 启动报错 Zip64 archives are not supported

spring boot jar 启动报错 Zip64 archives are not supported 原因、解决方案问题为什么 spring boot 不支持 zip64zip、zip64 功能上的区别zip 的文件格式spring-boot-loader 是如何判断是否是 zip64 的? 参考 spring boot 版本是 2.1.8.RELEASE,引入以…

Chrome开发者工具学习

打开开发者工具: 可以通过在网页上点击右键并选择“检查”来打开。 或者使用快捷键Ctrl Shift I(在Windows/Linux上)或Command Option I(在Mac上)。 界面概览: 熟悉DevTools的基本面板,如“…

Mongo Express 未授权访问漏洞

【产品&&漏洞简述】 Mongo Express 是一个基于 Node.js 和 express 的开源的 MongoDB Web管理界面。Mongo Express存在未授权访问漏洞,攻击者可通过该漏洞获取用户信息或修改系统数据。 【资产测绘Query】 title"Home - Mongo Express" 【产品界…

期货交易中的几种常见心态管理

期货交易通常涉及到风险和收益的权衡,因此参与者的心态可以显著影响他们的决策和最终结果。以下是一些炒期货的常见心态: 1. 利润最大化心态:持有这种心态的投资者不关心风险,只考虑高利润。他们可能会盲目追求高回报&#xff0…

【D3.js in Action 3 精译】1.1.3 D3.js 的工作原理

译者注 上一节我们探讨了 D3.js 的适用场景——需要高度定制化、可以尽情释放想象力的复杂图表。这一节我们再跟随作者的视角,看看 D3.js 的工作原理究竟是怎样的。 1.1.3 D3.js 的工作原理 您可能已经体验过 D3 并且发现它不太容易上手。这也许是因为您把它当成了…