企业宣传,产品推广,广告招商,广告投放联系seowdb

解读AI大模型 从了解token开局

上次​ ​《科普神文,一次性性讲透AI大模型的**概念》​ ​一文中,我基于联合少量示例及可视化的图形手腕给大家科普了AI大模型的相关算法和**概念。

然而收到不少非技术背景的小同伴反应,相关的算法内容的解释技术性还是太强,很难齐全了解。所以这次,题主从最基础的概念“token”着手,跳过了复杂的算法逻辑,这次必定让你建设起对AI大模型上班原理的明晰认知。

什么是token?最小的语义单元

你或许会猎奇,大规模言语模型是如何上班的呢?它们是如何从数据中学习到言语的呢?它们是如何依据输入来生成正当的文本延续的呢?为了回答这些疑问,咱们须要从最基础的概念开局讲起:token。

在人造言语解决(NLP)中, token是指文本中最小的语义单元 。比如,一个句子可以被宰割成若干个单词,每个单词就是一个token。例如,“I love you”这个句子可以被宰割成三个token:“I”,“love”和“you”。token可以协助咱们把文本合成成更容易解决和剖析的局部。

然而,并不是一切的言语都可以用空格来划分单词。有些言语,比如中文、日语等,没有显著的单词边界。在这种状况下,咱们须要用一些更复杂的方法来启动tokenization(分词)。比如,咱们可以用一些规定或许统计模型来判别哪些字或许字组合导致了一个无心义的token。例如,“我爱你”这个句子可以被宰割成两个token:“我”和“爱你”。当然,这种方法并不完美,有时刻会发生失误或许歧义。

除了单词之外,还有一些其余的符号也可以被视为token。比如,标点符号、数字、表情符号等等。这些符号也可以传播一些消息或许情感。例如,“I love you!”和“I love you?”就不同于“I love you”,由于慨叹号和问号表白了不同的语气和态度。

总之,token就是文本中的最小无心义的单位,它们可以协助咱们把文本合成成更容易解决和剖析的局部。不同的言语和场景或许须要不同的tokenization方法。接上去,咱们要看看GPT系列驳回了什么样的token类型?

GPT系列驳回了什么样的token类型?

GPT系列是一系列基于Transformer的生成式预训练模型,它们可以用来生成各种类型的文本。目前,曾经有了GPT-2、GPT-3和GPT-4等不同版本的模型,它们的区别关键在于模型的大小、训练数据的规模和品质、以及生成才干的强度。

GPT系列的模型都是基于 子词 (subword)来启动tokenization的。子词是指比单词更小的言语单位,它们可以依据语料库中的词频和共现频率来智能划分。比如,一个单词“transformer”可以被划分红两个子词“trans”和“former”,或许三个子词“t”,“rans”和“former”,或许四个子词“t”,“r”,“ans”和“former”,等等。不同的划分方法会发生不同数量和长度的子词。普通来说,子词越多越短,就越能笼罩更多的言语现象,但也会参与模型的计算复杂度;子词越少越长,就越能缩小模型的计算复杂度,但也会损失一些言语消息。

GPT系列驳回了一种叫做 Byte Pair Encoding (BPE)的子词划分方法。BPE是一种基于数据紧缩原理的算法,它可以依据语料库中发生频率最高的字节对(byte pair)来兼并字节,从而生成新的字节。比如,假设语料库中发生频率最高的字节对是“ns”,那么BPE就会把一切的“ns”交流成一个新的字节“Z”,从而缩小字节总数。这个环节可以重复启动,直抵到达预设的字节总数或许没有更多的字节对可以兼并为止。这样,BPE就可以把原始的字节序列转换成一个由新字节组成的子词序列。

例如,“obsessiveness”这个单词可以被BPE转换成以下子词序列:

当然,这只是一个繁难的例子,实践上BPE会依据大规模的语料库来生成更多更复杂的子词。GPT系列经常使用了不同大小的BPE词典来存储一切或许发生的子词。比如,GPT-3经常使用了50,257个子词。

总之,GPT系列驳回了基于BPE算法的子词作为token类型, 关键目标是以无损的形式紧缩文本的内容,从而以保障言语笼罩度和计算效率之间到达一个平衡 。接上去,咱们要看看如何用子词来表示和生成文本?

如何用子词来表示和生成文本?

咱们曾经知道了GPT系列经常使用了子词作为token类型,并且经过上文讲述的BPE或其余相关算法咱们可以将文本内容转换为由子词组合而成的序列,也就是术语中分词环节。

有了子词序列之后,咱们就可以用子词来表示和生成文本了吗?答案能否认的。由于言语模型是基于神经网络的,而神经网络只能解决数值数据,而不能解决文本数据。因此,咱们还须要做第二件事件:将子词序列转换为数值向量。

这里,咱们须要引见两个关键的概念: 编码 (encoding)和 解码 (decoding)。

编码和解码

将子词序列转换为数值向量的环节叫做 编码(Encoding) ,它是言语模型的第二步。编码的目标是将一个个团圆且无序的token映射到一个个延续且有序的向量空间中,从而繁难言语模型启动计算和学习。比如,咱们可以用以下的BPE词典来表示下面的例子:

子词

数值编码

子词

数值编码

那么,编码和解码就可以依照以下的规定启动:

经过编码和解码,咱们就可以成功文本和子词序列向量之间的相互转换。然而,这还不够。咱们还须要让GPT系列能够了解和生成这些子词序列。为了做到这一点,咱们还须要启动另外两个步骤: 嵌入 (embedding)和 预测 (prediction)。

嵌入和预测

咱们曾经知道,子词分词和编解码,可以把文本转换成数字,就像咱们用数字来表示电话号码一样。然而,这样的数字只是一种编码形式,它们并不能通知咱们子词之间有什么相关。比如,咱们怎样知道“猫”和“狗”是两种生物,而“猫”和“桌子”是不同的物品呢?

为了让GPT系列能够了解子词之间的相关,咱们须要启动嵌入(embedding)。嵌入就是把每个子词用一个特色向量来表示,这个特色向量可以反映出子词的含意、用法、情感等方面的消息。

特色向量的计算算法比拟复杂,但计算原理比拟容易了解,GPT只有要基于互联网上少量的文本资料,统计出两个词语在相邻/句子/文章中独特发生的概率并经过权重来汇总计算,就能剖析出某个词语与另外一个词语的亲密度的数值,并将这个数值作为特色向量来形容这个词语。比如,“猫”在互联网的资料中与“生物”等词语一起发生的次数多,所以“猫”的特色向量或许蕴含了它是一种生物、有毛发、青睐吃鱼、会收回喵喵声等消息。

经过嵌入,咱们就可以把每个子词看作是高维空间中的一个点,而这些点之间的距离和方向,就可以表示出子词之间的相似度和差异度。比如,“猫”和“狗”的点由于同为宠物,或许会比拟凑近,相对“狗”而言,“猫”和“牛”的点或许会比拟远离。

在成功嵌入后,咱们就可以启动预测(prediction)。预测就是依据给定的文本,计算出下一个子词发生的概率。比如,假设给定的文本是“我家有一只”,那么下一个子词或许是“猫”或许“狗”,而不太或许是“桌子”或许“电视”。这个概率的计算,就是基于特色向量表启动的。

经过嵌入和预测,咱们就可以成功从数字到文本,或许从文本到数字的转换。然而,这还不够。咱们还须要让GPT系列能够依据给定的文原本生成新的文本。为了做到这一点,咱们还须要启动最后一个步骤: 生成 (generation)。

生成与自回归

生成是指依据给定的文原本生成新的文本的环节。生成可以分为两种形式: 自回归 (autoregressive)和 自编码 (autoencoding),GPT系列关键驳回了自回归形式。

那么什么是自回归?繁难了解就是构想这么一副画面:

一团体在拍连环画,每一页连环画都是前一张连环画的延续。也就是说,人须要看前一张画乃至前多张画才干知道该画什么内容。相似地,自回归模型中的每个期间点都须要前一个期间点的消息才干计算出期间点的输入值。就像拍连环画一样,自回归模型中各个期间点之间存在着严密的咨询和依赖相关,这种咨询在预测期间序列数据时十分有用。

例如,“I love you”这个句子可以被GPT系列生成为以下的文本:

总之,GPT系列经常使用了子词、数值向量、实数向量和Transformer模型来表示和生成文本。经过编码、解码、嵌入、预测和生成等步骤,它可以成功从文本到文本的转换。

全体环节可以参考GPT官网的示用意,如下:

总结

当天,咱们学习了GPT系列是如何用子词来表示和生成文本的。咱们了解了token相关的概念和文本生成的步骤,经过这些概念和步骤,咱们可以了解GPT系列是如何从文本到文本的转换。

本文转载自​​,作者:

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender