HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    gpt2模型参数layer

    发布时间:2023-03-19 05:37:25     稿源: 创意岭    阅读: 135        问大家

    大家好!今天让创意岭的小编来大家介绍下关于gpt2模型参数layer的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    本文目录:

    gpt2模型参数layer

    一、gpt怎么解除300字限制

    GPT(Generative Pre-trained Transformer)是一种深度学习模型,主要用于文本生成。它采用预先训练的可调整的变换器架构,可以用来预测文本序列的下一个单词,预测句子的结构等。

    要解除GPT的300字限制,可以增加模型的容量,也就是增加模型参数的数量,这可以通过增加层数、增加每层中神经元的数量,以及增加头数等方式实现。另外,还可以采用双向预测策略,同时从上文和下文预测下一个单词,以提高模型的准确性。

    每次只能输入300字,是因为GPT模型受制于其参数的数量,它的参数越多,模型的容量越大,可以处理的文本越长。

    二、chatgpt衍生工具包括什么

    ChatGPT衍生工具包包括:

    1. ChatGPT模型:一种基于Transformer的聊天机器人模型,可以根据上下文生成自然语言回复。

    2. ChatGPT训练框架:一个基于TensorFlow的训练框架,可以让开发者快速构建和训练聊天机器人模型。

    3. ChatGPT预训练模型:一系列预训练模型,可以帮助开发者快速构建聊天机器人。

    4. ChatGPT模型库:一个模型库,可以让开发者轻松访问和使用ChatGPT模型。

    5. ChatGPT API:一个RESTful API,可以让开发者轻松调用ChatGPT模

    三、BERT详解(附带ELMo、GPT 介绍)

    首先我会详细阐述 BERT 原理,然后简单介绍一下 ELMO 以及 GPT

    BERT 全称为 B idirectional E ncoder R epresentation from T ransformer,是 Google 以 无监督的方式利用大量无标注文本 「炼成」的语言模型,其架构为 Transformer 中的 Encoder(BERT=Encoder of Transformer)

    我在 Transformer 详解 中已经详细的解释了所有 Transformer 的相关概念,这里就不再赘述

    以往为了解决不同的 NLP 任务,我们会为该任务设计一个最合适的神经网络架构并做训练,以下是一些简单的例子

    不同的 NLP 任务通常需要不同的模型,而设计这些模型并测试其 performance 是非常耗成本的(人力,时间,计算资源)。如果有一个能 直接处理各式 NLP 任务的通用架构 该有多好?

    随着时代演进,不少人很自然地有了这样子的想法,而 BERT 就是其中一个将此概念付诸实践的例子

    Google 在预训练 BERT 时让它同时进行两个任务:

    1. 漏字填空

    2. 下个句子预测

    对正常人来说,要完成这两个任务非常简单。只要稍微看一下前后文就知道完形填空任务中 [MASK] 里应该填 退了 ;而 醒醒吧 后面接 你没有妹妹 也十分合理(?)

    接下来我会分别详细介绍论文中这两个任务的设计细节

    在 BERT 中,Masked LM(Masked Language Model)构建了语言模型,简单来说,就是 随机遮盖或替换 一句话里面的任意字或词,然后让模型通过上下文预测那一个被遮盖或替换的部分,之后 做 Loss 的时候也只计算被遮盖部分的 Loss ,这其实是一个很容易理解的任务,实际操作如下:

    这样做的好处是,BERT 并不知道 [MASK] 替换的是哪一个词,而且 任何一个词都有可能是被替换掉的,比如它看到的 apple 可能是被替换的词 。这样强迫模型在编码当前时刻词的时候 不能太依赖当前的词 ,而要考虑它的上下文,甚至根据上下文进行 "纠错"。比如上面的例子中,模型在编码 apple 时,根据上下文 my dog is,应该 把 apple 编码成 hairy 的语义而不是 apple 的语义

    我们首先拿到属于上下文的一对句子,也就是两个句子,之后我们要在这两个句子中加一些特殊的 token: [CLS]上一句话[SEP]下一句话[SEP] 。也就是在句子开头加一个 [CLS] ,在两句话之间和句末加 [SEP] ,具体地如下图所示

    可以看到,上图中的两句话明显是连续的。如果现在有这么一句话 [CLS] 我的狗很可爱 [SEP] 企鹅不擅长飞行 [SEP] ,可见这两句话就 不是连续的 。在实际训练中,我们会让这两种情况出现的数量为** 1:1**

    Token Embedding 就是正常的词向量,即 PyTorch 中的 nn.Embedding()

    Segment Embedding 的作用是用 embedding 的信息让模型 分开上下句 ,我们给上句的 token 全 0,下句的 token 全 1,让模型得以判断上下句的起止位置,例如

    Position Embedding 和 Transformer 中的不一样,不是三角函数,而是 学习出来的

    BERT 预训练阶段实际上是将上述两个任务结合起来,同时进行,然后将所有的 Loss 相加,例如

    BERT 的 Fine-Tuning 共分为 4 种类型,以下内容、图片均来自台大李宏毅老师 Machine Learning 课程 (以下内容 图在上,解释在下)

    为什么要用CLS?

    这里李宏毅老师有一点没讲到,就是为什么要用第一个位置,即 [CLS] 位置的 output。这里我看了网上的一些博客,结合自己的理解解释一下。因为 BERT 内部是 Transformer,而 Transformer 内部又是 Self-Attention, 所以 [CLS] 的 output 里面肯定含有整句话的完整信息 ,这是毋庸置疑的。但是 Self-Attention 向量中,自己和自己的值其实是占大头的,现在假设使用 的 output 做分类,那么这个 output 中实际上会更加看重 ,而 又是一个有实际意义的字或词,这样难免会影响到最终的结果。但是 [CLS] 是没有任何实际意义的,只是一个占位符而已,所以就算 [CLS] 的 output 中自己的值占大头也无所谓。当然你 也可以将所有词的 output 进行 concat,作为最终的 output

    首先将问题和文章通过 [SEP] 分隔,送入 BERT 之后,得到上图中黄色的输出。此时我们还要训练两个 vector,即上图中橙色和黄色的向量。首先将橙色和所有的黄色向量进行 dot product,然后通过 softmax,看哪一个输出的值最大,例如上图中 对应的输出概率最大,那我们就认为 s=2

    同样地,我们用蓝色的向量和所有黄色向量进行 dot product,最终预测得 的概率最大,因此 e=3。最终,答案就是 s=2,e=3

    你可能会觉得这里面有个问题,假设最终的输出 s>e 怎么办,那不就矛盾了吗?其实在某些训练集里,有的问题就是没有答案的,因此此时的预测搞不好是对的,就是没有答案

    以上就是 BERT 的详细介绍,参考以下文章

    ELMo是Embedding from language Model的缩写,它通过无监督的方式对语言模型进行预训练来学习单词表示

    这篇论文的想法其实非常简单,但是效果却很好。它的思路是用 深度的双向 Language Model 在大量未标注数据上训练语言模型 ,如下图所示

    在实际任务中,对于输入的句子,我们使用上面的语言模型来处理它,得到输出向量,因此这可以看作是一种 特征提取 。但是 ELMo 与普通的 Word2Vec 或 GloVe 不同,ELMo 得到的 Embedding 是 有上下文信息

    具体来说,给定一个长度为 N 的句子,假设为 ,语言模型会计算给定 的条件下出现 的概率:

    传统的 N-gram 模型 不能考虑很长的历史 ,因此现在的主流是使用 多层双向 LSTM 。在时刻 ,LSTM 的第 层会输出一个隐状态 ,其中 , 是 LSTM 的层数。最上层是 ,对它进行 softmax 之后得到输出词的概率

    类似的,我们可以用 一个反向 来计算概率:

    通过这个 LSTM,我们可以得到 。我们的损失函数是这两个 LSTM 的 加和 :

    这两个 LSTM 有各自的参数 和 ,而 Word Embedding 参数 和 Softmax 参数 是共享的

    为了用于下游(DownStream)的特定任务,我们会把不同层的隐状态组合起来,具体组合的参数是根据不同的特定任务学习出来的,公式如下:

    GPT 得到的语言模型参数不是固定的,它会根据特定的任务进行调整(通常是微调),这样的到的句子表示能更好的适配特定任务。它的思想也很简单,使用 单向 Transformer 学习一个语言模型 ,对句子进行无监督的 Embedding,然后 根据具体任务对 Transformer 的参数进行微调 。GPT 与 ELMo 有两个主要的区别:

    这里解释一下上面提到的 单向 Transformer 。在 Transformer 的文章中,提到了 Encoder 与 Decoder 使用的 Transformer Block 是不同的。在 Decoder Block 中,使用了 Masked Self-Attention ,即句子中的每个词都只能对 包括自己在内的前面所有词进行 Attention ,这就是单向 Transformer。GPT 使用的 Transformer 结构就是将 Encoder 中的 Self-Attention 替换成了 Masked Self-Attention ,具体结构如下图所示

    训练的过程也非常简单,就是将 n 个词的词嵌入 ( ) 加上位置嵌入 ( ),然后输入到 Transformer 中,n 个输出分别预测该位置的下一个词

    这里的位置编码没有使用传统 Transformer 固定编码的方式,而是动态学习的

    Pretraining 之后,我们还需要针对特定任务进行 Fine-Tuning。假设监督数据集合 的输入 是一个词序列 ,输出是一个分类的标签 ,比如情感分类任务

    我们把 输入 Transformer 模型,得到最上层最后一个时刻的输出 ,将其通过我们新增的一个 Softmax 层(参数为 )进行分类,最后用 CrossEntropyLoss 计算损失,从而根据标准数据调整 Transformer 的参数以及 Softmax 的参数 。这等价于最大似然估计:

    正常来说,我们应该调整参数使得 最大,但是 为了提高训练速度和模型的泛化能力 ,我们使用 Multi-Task Learning,同时让它最大似然 和

    这里使用的 还是之前语言模型的损失(似然),但是使用的数据不是前面无监督的数据 ,而是使用当前任务的数据 ,而且只使用其中的 ,而不需要标签

    针对不同任务,需要简单修改下输入数据的格式,例如对于相似度计算或问答,输入是两个序列,为了能够使用 GPT,我们需要一些特殊的技巧把两个输入序列变成一个输入序列

    ELMo 和 GPT 最大的问题就是 传统的语言模型是单向的 —— 我们根据之前的历史来预测当前词。但是我们不能利用后面的信息。比如句子 The animal didn’t cross the street because it was too tired 。我们在编码 it 的语义的时候需要同时利用前后的信息,因为在这个句子中, it 可能指代 animal 也可能指代 street 。根据 tired ,我们推断它指代的是 animal 。但是如果把 tired 改成 wide ,那么 it 就是指代 street 了。传统的语言模型,都 只能利用单方向的信息 。比如前向的 RNN,在编码 it 的时候它看到了 animal 和 street ,但是它还没有看到 tired ,因此它不能确定 it 到底指代什么。如果是后向的 RNN,在编码的时候它看到了 tired ,但是它还根本没看到 animal ,因此它也不能知道指代的是 animal 。 Transformer 的 Self-Attention 理论上是可以同时关注到这两个词的,但是根据前面的介绍,为了使用 Transformer 学习语言模型,必须 用 Mask 来让它看不到未来的信息 ,所以它也不能解决这个问题的

    根据上文内容预测下一个可能跟随的单词,就是常说的自左向右的语言模型任务,或者反过来也行,就是根据下文预测前面的单词,这种类型的LM被称为自回归语言模型。(GPT,ELMO)GPT 就是典型的自回归语言模型。ELMO尽管看上去利用了上文,也利用了下文,但是本质上仍然是自回归LM,这个跟模型具体怎么实现有关系。ELMO是做了两个方向(从左到右以及从右到左两个方向的语言模型),但是是分别有两个方向的自回归LM,然后把LSTM的两个方向的隐节点状态拼接到一起,来体现双向语言模型这个事情的。所以其实是两个自回归语言模型的拼接,本质上仍然是自回归语言模型。

    自回归语言模型有优点有缺点,缺点是只能利用上文或者下文的信息,不能同时利用上文和下文的信息,当然,貌似ELMO这种双向都做,然后拼接看上去能够解决这个问题,因为融合模式过于简单,所以效果其实并不是太好。它的优点,其实跟下游NLP任务有关,比如生成类NLP任务,比如文本摘要,机器翻译等,在实际生成内容的时候,就是从左向右的, 自回归语言模型天然匹配这个过程 。而Bert这种DAE模式,在生成类NLP任务中,就面临训练过程和应用过程不一致的问题,导致 生成类的NLP任务到目前为止都做不太好

    自回归语言模型只能根据上文预测下一个单词,或者反过来,只能根据下文预测前面一个单词。相比而言,Bert通过 在输入X中随机Mask掉一部分单词 ,然后预训练过程的主要任务之一是根据上下文单词来预测这些被Mask掉的单词,如果你对Denoising Autoencoder比较熟悉的话,会看出,这确实是典型的DAE的思路。那些被Mask掉的单词就是在输入侧加入的所谓噪音。类似Bert这种预训练模式,被称为DAE LM。

    这种DAE LM的优缺点正好和自回归LM反过来,它能比较自然地融入双向语言模型,同时看到被预测单词的上文和下文,这是好处。缺点是啥呢? 主要在输入侧引入[Mask]标记,导致预训练阶段和Fine-tuning阶段不一致的问题 ,因为Fine-tuning阶段是看不到[Mask]标记的。DAE吗,就要引入噪音,[Mask] 标记就是引入噪音的手段,这个正常。

    XLNet的出发点就是:能否 融合自回归LM和DAE LM两者的优点 。就是说如果站在自回归LM的角度,如何引入和双向语言模型等价的效果;如果站在DAE LM的角度看,它本身是融入双向语言模型的,如何抛掉表面的那个[Mask]标记,让预训练和Fine-tuning保持一致。当然,XLNet还讲到了一个Bert被Mask单词之间相互独立的问题。

    四、ai的鸡汤是不是很厉害

    GPT-3是OpenAI最新、最大的语言人工智能模型,由1750亿个参数组成。总部位于旧金山的OpenAI研究实验室今年5月开始逐步推出了该模型,并引起越来越大的反响。这个庞大的语言模型几乎可以胜任所有可以用文字表达的工作:从回答问题、写文章、写诗歌、甚至写代码……无一不包。那么,现实中它究竟有多厉害呢?

    最近,国外一名刚入门GPT-3不久的伯克利大学生利亚姆·波尔(Liam Porr),以一个假名,然后用人工智能模型建了一个完全假的博客。不过,这却成功“骗倒”了一大批内容阅读者。

    这个充满讽刺性和欺骗性的“AI把戏”很快骗过了Hacker News等科技极客圈子,然后真相曝光——瞬间成为了热点话题——这么多人怎么就被一个完全由AI搭建起来的所谓“博客”给诓了?居然还有不少人“订阅”了上面的消息?

    尽管许多人猜测到目前为止最强大的语言生成AI工具——GPT-3会如何影响内容生产,但这种“以假乱真”的程度和效果是他们始料未及的。这是目前唯一一次GPT-3如此真实地展示自己的实力,足以说明这一工具的应用潜力。

    在加州大学伯克利分校(University of California, Berkeley)学习计算机科学的波尔说,这次经历中最突出的一点是:“实际上,它超级简单,这是最可怕的部分。”

    登上头条狂涨粉的“AI鸡汤文”

    虽然GPT-3还没有彻底开放,但波尔却依然轻轻松松获取了接口。波尔提交了一份申请。他填写了一张表格,里面有一份关于他打算使用的简单问卷。但他也没有等上多少时间。在联系了伯克利的人工智能社区的几名成员后,他很快找到了一名已经有此权限的博士生。

    这个博士生同意合作后,波尔很快就写了一个小脚本让他运行。它给了GPT-3一个博客文章的标题和介绍,并给出了几个完整的版本。Porr的第一个帖子(在Hacker News上发布的那个)和之后的每一个帖子都是从一个输出中复制粘贴过来的,几乎没有编辑。

    他说:“从我想到这个想法并与那个博士生取得联系,到我真正创建了这个博客——这大概只花了几个小时。”

    波尔用假名字“adolos”写的第一篇假博客,居然顺顺利利就登上了YC新闻平台Hacker News热门榜第一名!波尔说,他使用了三个独立的账号在Hacker News上提交并投票,试图把他的帖子推得更高。管理员说这个策略不起作用,但他的点击率标题起作用了。

    不需要太多编辑就能生成内容的诀窍是——理解GPT-3的优缺点。波尔说:“它很擅长创造漂亮的语言,但不太擅长逻辑和理性。”因此,他选择了一个不需要严格逻辑的流行博客类别——“鸡汤文”,这样就能实现高效和自助式的产出。

    然后,他按照一个简单的公式来写他的标题:他在Medium和Hacker News上翻来翻去,看看在这些类别中发生了什么,然后把一些相对相似的东西放在一起。《感觉生产力不高?也许你应该停止思虑过多》“”(Feeling unproductive? Maybe you should stop overthinking)他为其中一篇文章写道。《大胆和创造力胜过智慧》(Boldness and creativity trumps intelligence),他又在另一篇文章中写道。有几次,这些标题并没有起到作用。但只要他坚持正确的话题,这个过程就很容易实现,“鸡汤文”成功地帮着博客蹭蹭蹭狂涨粉。

    两周后,他几乎每天都发帖子。随后不久,Hacker News上就有人指责波尔的博客文章是GPT-3写的。另一名用户却回应说,这条评论“不可接受”。甚至有读者读后留言称,“好文!和Ethan Hawke在Ted的演讲一样深刻!”对波尔的假博客持怀疑态度的少数人,居然就这样被社区的其他成员投了反对票,妥妥证明了并非“大众的眼睛都是雪亮的”。

    一大部分人愣是没看出来文章不是人类写的,Medium、YC的新闻平台等多家平台都转载刊发了他的第一篇博客、他的博客居然还疯狂涨粉人气居高不下……这让小哥波尔开始感到不淡定了,不过他自己也感到非常惊讶。

    波尔说,他想证明GPT-3可以冒充人类作家。事实上,尽管该算法的书写模式有些奇怪,偶尔也会出现错误,但在他在Hacker News上发表的最重要的帖子上,只有三四个人怀疑该算法可能是由某个算法产生的。而且,所有这些评论都立即被其他社区成员否决。

    最后,波尔以一条自己写的神秘信息结束了这个项目。标题为《如果我没有道德,我将如何对待GPT-3》,文章将他的过程描述为一个假设。同一天,他还在自己真正的博客上发表了一篇更直白的自白,澄清曝光了“假博客”的始终。

    AI语言工具引发担忧与思考

    根据OpenAI的算力统计单位petaflops/s-days,训练AlphaGoZero需要1800-2000pfs-day,而OpenAI的GPT-3用了3640pfs-day,看来拥有微软无限算力的OpenAI,现在真的是为所欲为了。

    对于专家来说,这一直是这种语言生成算法引起的担忧。自从OpenAI首次发布GPT-2以来,人们就猜测它很容易被滥用。而GPT-3已经成为OpenAI迄今为止推出最新、最大的AI语言模型。在自己的博客文章中,该实验室重点关注了人工智能工具作为大量制造错误信息的武器的潜力。其他人则想知道是否可以用它来大量发布谷歌游戏相关关键词的垃圾帖子。

    去年2月,OpenAI的GPT-2(该算法的早期版本)登上了新闻头条,OpenAI宣布将保留该版本,以防被滥用。这一决定立即引发了强烈反响,研究人员指责该实验室在“搞噱头”。到了11月,该实验室终于改变了立场,发布了这个模型,当时还言之凿凿地称“到目前为止没有发现滥用的有力证据”。这不,这回“翻车”翻得有点厉害了。

    该实验室对GPT-3采取了不同的方法;它既没有拒绝,也没有允许公众访问。取而代之的是,它将算法提供给了那些申请私有测试的研究人员,目的是收集他们的反馈,并在今年年底将这项技术商业化。

    波尔说,他的实验还展示了一个更平凡但仍然令人不安的选择——人们可以使用该工具生成大量的点击诱导内容。他说:“很有可能会出现大量平庸无质量的博客内容,因为现在进入的门槛太低了。”“我认为在线内容的价值将大大降低。”

    波尔计划用GPT-3做更多的实验。但他仍在等待OpenAI的介入。他说:“他们可能对我的所作所为感到不满。”“我是说,这有点傻。”

    背后的“AI大法”OpenAI

    在成立的短短四年时间里,OpenAI已经成为全球领先的人工智能研究实验室之一。与Alphabet旗下的DeepMind等其他人工智能巨头一样,谷歌不断推出引人注目的研究成果,并因此成名。它也是硅谷的宠儿,创始人包括埃隆·马斯克(Elon Musk)和传奇投资者山姆·奥特曼(Sam Altman)。

    最重要的是,它因其使命而受到推崇。它的目标是成为第一个创造人工智能的机器——一个具有人类思维的学习和推理能力的机器。其目的不是统治世界;相反,该实验室想要确保这项技术是安全发展的,并且它的好处能均匀地分配给全世界。

    这意味着,如果AGI技术的发展遵循阻力最小的道路,那么它很容易失控。围绕在我们身边的那种笨拙的人工智能,就是一个例子。问题是,AGI一直都很模糊。该领域内的共识是,这种先进的能力将需要几十年,甚至几个世纪的时间——如果真的有可能发展它们的话。许多人还担心,过分追求这一目标可能会适得其反。

    大多数人第一次听说OpenAI是在2019年2月14日。那天,实验室宣布了一项令人印象深刻的新研究:只需按下一个按钮,就可以生成令人信服的论文和文章。

    但也有一个问题:研究人员说,这种被称为GPT-2的模型释放起来太危险了。如果这样强大的技术落入坏人之手,就很容易被“武器化”,制造大规模的虚假信息。这立即引起了科学家们的强烈反对。

    在持续不断的炒作指控中,OpenAI坚称GPT-2不是噱头。更确切地说,这是一项经过深思熟虑的实验,经过一系列内部讨论和辩论后达成一致。大家一致认为,即使这次的行动稍微有点过火,但它将为处理更危险的研究开创先例。

    但OpenAI与GPT-2的媒体宣传活动也遵循了一种成熟的模式,这种模式让更广泛的人工智能社区产生了怀疑。多年来,该实验室的重大、引人注目的研究公告一再被指责助长了人工智能的炒作周期。批评人士还不止一次地指责该实验室大肆宣扬其研究结果,甚至达到了错误描述的地步。出于这些原因,该领域的许多人都倾向于保持一定的距离。

    GPT-2引发如此强烈的反弹还有另一个原因。人们觉得OpenAI又一次违背了它之前关于开放和透明的承诺,并走上了营利的道路。未公开的研究让人们更加担忧和怀疑——会不会是这项技术一直处于保密状态,为将来获得许可做准备?但是人们并不知道,这不是OpenAI唯一一次选择隐藏它的研究。

    以上就是关于gpt2模型参数layer相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    mbr转gpt后无法开机(mbr改成gpt进不了系统)

    chatGpT英语

    谷歌高管回应ChatGPT(谷歌 高管)

    法国景观设计留学申请流程(法国景观设计留学申请流程及费用)

    切煤什么意思(煤炉mercari网站)