GPT系列模型技术路径演进

2023-10-30

前言

在这里插入图片描述
人工智能发展的历程如上图所示,从基于规则统计方法到机器学习的方法使用了近40年的时间,从机器学习到深度学习花费了20年的时间,而基于Transoformer预训练模型的发展时间大概是5年,而类ChatGPT模型的推出又将深度学习向前推进一步。

在自然语言处理领域根据对语言的处理方式的不同,可分为**自然语言理解(NLU)**和 **自然语言生成(NLG)**两个子方向,自然语言理解:是理解语言、文本,从中提取出有用的信息,用于下游任务中,也就是让自然语言结构化。如:文本分类、信息抽取、信息检索等任务;自然语言生成:将输入的文本根据任务形式生成人类可理解的自然语言内容,下游任务如:翻译、摘要总结、生成式对话等任务。

在自然语言处理领域中,基于深度学习的大规模预训练模型架构可分为三部分,基于Transformer的编码器,如:BERT、RoBERTa等自编码(Auto-Encoding)系列模型,该系列模型主要应用于自然语言理解任务;基于Transformer的编码器和解码器,如:T5、Bart等序列到序列(Seq2seq)系列模型,基于Transformer的解码器,如:GPT-1、GPT-2等自回归(Auot-Regressive)系列模型,序列到序列(Seq2seq)和自回归(Auot-Regressive)主要应用于自然语言生成任务。

ChatGPT就是从第三条分支发展得到的,接下来主要介绍GPT系列模型的发展历程。

模型 发布时间 层数 参数量 预训练数据量
GPT-1 2018年6月 12 1.17亿(0.117B) 约5GB
GPT-2 2019年2月 48 15亿(1.5B) 40GB
GPT-3 2020年5月 96 1,750亿(175B) 45TB
InstructGPT 2022年3月 96 1,750亿(175B) 几万条
ChatGPT 2022年12月 ---- ---- ----
GPT-4 2023年3月 ---- ---- ----

GPT系列的模型结构秉承了不断堆叠transformer的思想,通过不断的提升训练语料的规模和质量,提升网络的参数数量来完成GPT系列的迭代更新的。GPT也证明了,通过不断的提升模型容量和语料规模,模型的能力是可以不断提升的。

Transformer

在介绍GPT之前,我们需要稍微回顾一下Transformer,2017年,Google Brain发表了一篇《Attention Is All You Need》论文,提出了一种新型的神经网络模型-Transformer,该模型不需要使用CNN和RNN等传统的序列模型,仅基于注意力机制实现了在自然语言处理领域中的优秀表现。简单的来说,Transformer的提出解决了模型无法数据并行计算序列长期依赖的问题。
在这里插入图片描述
图1 Transformer模型结构图

Transformer特点如下:

1.使用了Attention机制,将序列中的任意两个位置之间的距离缩小为一个常量,Transformer中的自注意力机制允许模型在生成序列时,对输入序列中的任意位置进行关注。这样可以使模型更好地理解输入序列的不同部分之间的关系。

2.抛弃了RNN的顺序结构,因此具有更好的并行能力,符合现有的GPU框架,Transformer相比于传统的基于RNN的模型,具有更快的训练速度和更好的性能表现。

GPT-1

2018年,OpenAI发表了《 Improving Language Understanding by Generative Pre-Training》论文,提出了一种新型的预训练模型-Generative Pre-Training Transformer(GPT),该模型通过大规模无标签文本数据的预训练,可以为了各种下游自然语言处理任务提供良好的特征表示。GPT模型结构,如下图2所示:

在这里插入图片描述
图2 GPT-1模型结构图

在GPT-1之前,传统的NLP模型往往使用大量的数据对有监督的模型进行任务相关的模型训练,但是这样由监督学习的任务存在两个缺点:

1.需要大量的标注数据,高质量的标注数据往往需要花费大量的人工进行标注;

2.当前任务训练的模型很难泛化到其他任务中,该模型只能拟合当前任务的数据;

GPT-1的思想是先通过在无标签的数据上学习一个生成式语言模型,然后再根据特定的任务进行微调,后来这样的思想成为了NLP领域的第三范式 -“预训练+微调”。

预训练阶段,使用BookCorpus数据集来训练语言模型,该数据集包含了7,000本没有发布的书籍。训练任务是语言建模,通过训练模型预测一个给定上下文中的下一个单词。

微调阶段,在下游任务上,GPT-1通过微调来适用不同的任务。但是不同任务的输入是不一致的,有的只有一个输入,有的则有多组形式的输入。对于不同的输入,GPT-1有不同的处理方式,如:分类任务:将起始和终止token加入到原始序列两端,输入GPT-1中得到特征向量,最后经过一个全连接层得到预测的概率分布;自然语言推理:将前提(premise)和假设(hypothesis)通过分隔符(Delimiter)隔开,两端加上起始和终止token。再依次通过transformer和全连接得到预测结果;
在这里插入图片描述
图3 GPT-1微调阶段-不同任务的输入形式

在有监督学习的12个任务中,GPT-1在9个任务上的表现超过了state-of-the-art的模型(当时SOTA是LSTM)。在没有见过数据的zero-shot任务中,GPT-1的模型要比基于LSTM的模型稳定,且随着训练次数的增加,GPT-1的性能也逐渐提升,表明GPT-1有非常强的泛化能力,能够用到和有监督任务无关的其它NLP任务中。

GPT-1在未经微调的任务上虽然也有一定效果,但是其泛化能力远远低于经过微调的有监督任务,说明了GPT-1只是一个简单的领域专家,而非通用的语言学家。

BERT

2018年,Google发表了《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》论文,提出了一种自然语言理解的预训练模型-BERT,论文强调了不再像以往一样采用传统的单向语言模型或者把两个单向语言模型进行浅层拼接的方法进行预训练,BERT模型结构,如下图4所示:
在这里插入图片描述
图4 BERT模型结构图

BERT的训练思想类似于GPT-1,先在大规模无标签数据上学习一个语言模型,然后再根据特定的任务进行微调,与GPT-1不同的是,BERT的预训练任务分为两个:掩码语言模型(Mask Language Model,MLM)和下一句预测(Next Sentence Prediction,NSP)。

  • 掩码语言模型:句子在输入模型前,将中的每个词以15%的概率去遮盖;其中,80%的概率用[MASK]特殊标识符去替换,10%的概率保持不变,10%的概率随机替换为其他词。完成后输入模型,让模型预测[MASK]对应词是什么。
  • 下一句预测,将两个句子用[SEP]特殊标识符拼接,如:A[SEP]B。将拼接好的句子输入到模型中,让模型预测B是否为A的下一句话,如果是则输出1,如果不是则输出0。

通过这两个预训练任务,BERT分别学习句子内与句子之间的语义关系,能够增强在下游任务中的语义编码能力。

微调阶段,根据任务形式不同,BERT也有不同的处理方式,但和GPT-1类似。如下图5所示,分类任务:将起始和终止token加入到原始序列两端,输入BERT中得到特征向量,最后经过一个全连接层得到预测的概率分布;自然语言推理:将前提(premise)和假设(hypothesis)通过分隔符(SEP)隔开,两端加上起始和终止token。再依次通过transformer和全连接得到预测结果;

在这里插入图片描述
图5 BERT微调阶段-不同任务的输入形式

在有监督学习的11个任务中获得了新的state-of-the-art的结果,如下图6所示,可以发现,BERT的效果远高于GPT-1的表现。
在这里插入图片描述
图6 部分榜单展示

GPT-2

2019年,OpenAI发表了《 Language Models are Unsupervised Multitask Learners 》论文,模型被称为GPT-2,其目标旨在训练一个泛化能力更强的词向量模型,它并没有对GPT-1的网络进行过多的结构的创新与设计,采用更多的网络参数和更大的数据集,并且提出了一个更难的任务:zero-shot,零少样本学习,即将预训练好的模型,直接应用到下游任务,模型根据给定的指令理解任务。

GPT-2的文章取自于Reddit上高赞的文章,命名为WebText。数据集共有约800万篇文章,累计体积约40G。

GPT-2的学习目标是使用无监督的预训练模型做有监督的任务。因为文本数据的时序性,一个输出序列可以表示为一系列条件概率的乘积:
p ( x ) = ∏ i = 1 n p ( s n ∣ s 1 , . . . , s n − 1 ) p(x)=\prod_{i=1}^{n}p({s}_{n}|{s}_{1},...,{s}_{n-1}) p(x)=i=1np(sns1,...,sn1)
上述公式的实际意义是根据已知的上文
i n p u t = s 1 , s 2 , . . . , s n − 1 input={{s}_{1},{s}_{2},...,{s}_{n-1}} input=s1,s2,...,sn1
来预测未知的下文
o u t p u t = s n output={s}_{n} output=sn
,因此
p ( o u t p u t ∣ i n p u t ) p(output|input) p(outputinput)
语言模型可表示为,对于一个监督任务来讲,它可以建模为
p ( o u t p u t ∣ i n p u t , t a s k ) p(output|input,task) p(outputinput,task)
的形式。

这样做是希望能够让模型理解任务的本质并给出答案,而不是像GPT-1一样进行微调,可以将分类任务、自然语言推理、语义分析、问答等多个任务统一建模为一个任务形式,无需为每个子任务单独设计一个模型。

例如:在英语到法语的翻译任务中,给模型一个英语句子,后面跟着单词French提示符(=),模型应理解为翻译任务,并给出英语句子的法语对照句;阅读理解任务:不对GPT-2训练,直接输入文本和问题qA:,模型会理解这是一个问答题目,并输出答案。
在这里插入图片描述
图 7 GPT-2统一各类任务形式示意

对比GPT-1,GPT-2并未在模型结构上大作文章,只是使用了更多参数的模型和更多的训练数据。OpenAI作者认为,当一个语言模型的容量足够大时,它就能足以覆盖所有的有监督任务,也就是说所有的有监督学习都是无监督语言模型的一个子集,当模型的容量非常大且数据量足够丰富时,仅仅靠训练语言模型的学习便可以完成其他有监督学习的任务,这个思想也是提示学习(Prompt Learning)的前身。

提示学习的目的是去挖掘语言模型本身具备的知识。提示(Prompt)激发语言模型的补全能力,使其形式上模拟模型预训练过程使用的数据与任务,例如根据上半句生成下半句,或是完形填空等。
例:给女朋友买了这个项链,她很喜欢,这个项链太____了。
在这里插入图片描述
图 8 GPT-2效果图对比

如上图5所示,在8个语言模型任务中,仅仅通过zero-shot学习,GPT-2就有7个超过了state-of-the-art的方法;“LAMBADA”是测试模型捕捉长期依赖的能力的数据集,GPT-2将困惑度从99.8降到了8.6;但是GPT-2在文本总结的表现不理想,但是它的效果也和有监督的模型非常接近。

GPT-2的最大贡献是验证了通过海量数据和大量参数训练出来的词向量模型有迁移到其它类别任务中而不需要额外的训练。但是很多实验也表明,GPT-2的无监督学习的能力还有很大的提升空间,甚至在有些任务上的表现不比随机的好。尽管在有些zero-shot的任务上的表现不错,但是我们仍不清楚GPT-2的这种策略究竟能做成什么样子。GPT-2表明随着模型容量和数据量的增大,其潜能还有进一步开发的空间。

GPT-3

2020年,GPT-3发布,相比之前的GPT,GPT-3的显著特点是参数很多,是一个巨型模型,参数量高达1750亿参数量,如下图所示:
在这里插入图片描述
图 9 历代模型的参数量

GPT-3仅需要zero-shot或者few-shot,GPT-3就可以在下游任务中表现很好,表现好的原因是依赖于GPT-3的1750亿的参数量,45TB的训练数据以及高达1,200万美元的训练费用。

GPT-3尝试在下游任务中不去微调,直接适用预训练模型进行预测,作者提出了三种训练策略,以下策略均不对模型参数进行更新。

zero-shot,直接应用于下游任务
在这里插入图片描述
图 10 Zero-shot图示

one-shot,在预测时将一个例子也作为输入输入模型
在这里插入图片描述
图 11 One-shot图示

few-shot,在预测时将一些例子也作为输入输入模型,也成为上下文学习(in-context learning)
在这里插入图片描述
图 12 Few-shot图示

作者对这3种学习方式分别进行了实验,实验结果表明,三个学习方式的效果都会随着模型容量的上升而上升,且few shot > one shot > zero shot。
在这里插入图片描述
图 13 在Lambda数据集上表现

在大量的语言模型数据集中,GPT-3超过了绝大多数的zero-shot或者few-shot的state-of-the-art方法。另外GPT-3在很多复杂的NLP任务中也超过了微调之后的state-of-the-art方法,例如闭卷问答,模式解析,机器翻译等。除了这些传统的NLP任务,GPT-3在一些其他的领域也取得了非常震惊的效果,例如进行数学加法,文章生成,编写代码等。

但是GPT-3还有一些缺点的:

1.由于40TB海量数据的存在,很难保证GPT-3生成的文章不包含一些非常敏感的内容,例如种族歧视,性别歧视,宗教偏见等;

2.对于一些命题没有意义的问题,GPT-3不会判断命题有效与否,而是拟合一个没有意义的答案出来;

3.受限于transformer的建模能力,GPT-3并不能保证生成的一篇长文章或者一本书籍的连贯性,存在下文不停重复上文的问题。

InstructGPT/ChatGPT

预训练模型自诞生之始,一个备受诟病的问题就是预训练模型的偏见性。因为预训练模型都是通过海量数据在超大参数量级的模型上训练出来的,对比完全由人工规则控制的专家系统来说,预训练模型就像一个黑盒子。没有人能够保证预训练模型不会生成一些包含种族歧视,性别歧视等危险内容,因为它的几十GB甚至几十TB的训练数据里几乎肯定包含类似的训练样本。这也就是InstructGPT和ChatGPT的提出动机,论文中用3H概括了它们的优化目标:

  • 有用的(Helpful);
  • 可信的(Honest);
  • 无害的(Harmless)

2021和2022年OPenAI分别发表InstructCPT和ChatGPT,InstructGPT/ChatGPT整体训练流程如下:

在这里插入图片描述
图 14 InstructGPT/ChatGPT训练流程

从图10中,我们可以看出,InstructGPT/ChatGPT的训练可以分成3步,其中第2步和第3步是的奖励模型和强化学习的SFT模型可以反复迭代优化。

  1. 根据采集的SFT数据集对GPT-3进行有监督的微调(Supervised FineTune,SFT);
  2. 收集人工标注的对比数据,训练奖励模型(Reword Model,RM);
  3. 使用RM(奖励模型)作为强化学习的优化目标,利用PPO算法微调SFT模型。

整体技术路线上,InstructGPT/ChatGPT在效果强大的GPT 3.5大规模语言模型(LLM,Large Language Model)基础上,引入“人工标注数据+强化学习”(RLHF,Reinforcement Learning from Human Feedback ,这里的人工反馈其实就是人工对模型输出进行排序)来不断微调预训练语言模型。

主要目的是让LLM模型学会理解人类的命令指令的含义(比如:给我写一段小作文生成类问题、知识回答类问题、头脑风暴类问题等不同类型的命令),以及让LLM学会判断对于给定的prompt输入指令(用户的问题),什么样的答案是优质的(富含信息、内容丰富、对用户有帮助、无害、不包含歧视信息等多种标准)。

在这里插入图片描述

因为InstructGPT/ChatGPT是在GPT-3.5基础上做的微调,而且因为涉及了人工标注,它们数据总量并不大,如上表展示了三份数据的来源及其数据量。

GPT-4

2023年3月14日,OpenAI发布了《 GPT-4 Technical Report》,并且在官网上说明,GPT-4是OpenAI目前最先进的系统,能生成更有用、更安全的回复。
在这里插入图片描述
相比于ChatGPT,GPT-4具有以下特点

  • 创造性
    GPT-4可以生成、编辑和迭代用户的创意和写作能力,如:创作歌曲、写剧本或者学习用户的写作风格。
    在这里插入图片描述
    更进一步,翻译部分,采用ChatGPT进行翻译,对比百度翻译, ChatGPT翻译更符合语法和流畅性。
    在这里插入图片描述
  • 兼容图片
    GPT-4可以接受图像作为输入,并生成字幕、分类以及分析。
    在这里插入图片描述
  • 更长的输入
    GPT-4能够处理超过25,000个单词的文本,适用于长篇内容创作、长时间的对话以及文档搜索和分析等适用场景。

在这里插入图片描述
当然,GPT-4并不是完美无缺,在一些领域上仍然存在已知的局限性,如:生成幻觉、社会偏见。

类ChatGPT产品

Google Bard(诗人)

发布日期:2023年2月7月

Bard是由LaMDA提供支持的全新实验性对话谷歌AI服务,LaMDA 模型参数多达 137B 个参数,展示了接近人类水平的对话质量。

但发布当前,Bard存在事实错误,生成幻觉问题,谷歌 Demo 的一 GIF 显示,在回答问题「关于詹姆斯韦伯太空望远镜(JWST)有哪些新发现,我可以告诉我 9 岁孩子哪些内容?」Bard 提供了三个要点,其中一个指出「该望远镜拍摄了太阳系外行星的第一张照片。」

然而,推特上的一些天文学家指出这是不正确的,第一张系外行星图像是在 2004 年拍摄的。

在这里插入图片描述

facebook LLaMA(羊驼)

发布日期:2023年2月25日

facebook一次性发布了7B、13B、33B和65B四种参数量级的类GPT模型,所有模型均开源。65B的LLaMA效果超越了GPT-3,它在大多数测试上优于GPT-3。
如:常识推理:
在这里插入图片描述
或者说一些基础问题的解决:
在这里插入图片描述
可部署+微调
但中文能力较差。

低成本复现,效果堪比GPT-3.5
https://github.com/tatsu-lab/stanford_alpaca

复旦 MOSS

发布日期:2023年3月底

参数量规模百亿级别,基于CPT底层模型,CPT是201年邱老师团队提出的中文预训练模型,既可以做NLU也可以做NLG。

待发布+可部署

清华 ChatGLM-6B/130B

发布日期:2023年1月21日

清华大学在2023年1月21日发表《GLM: General Language Model Pretraining with Autoregressive Blank Infilling》论文,提出了GLM大规模预训练模型,同时开源了6B和130B两个参数量级,130B表现优于GPT-3,最重要中文能力更强。
在这里插入图片描述

ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B已经生成相当符合人类偏好的回答。

部署尝试:

  • Text2SQL:将文本转为SQL语句
    在这里插入图片描述
  • 舆情:主体识别和舆情状态分析

在这里插入图片描述
可部署 + 微调

  • 推理:GPU 1张 3090 CPU 10 核20线程10-i900k
  • 训练:GPU 8张 3090 CPU 10核20线程 10-i900k

百度 文心一言

发布日期:2023年3月16日
内测中…
理解能力较差
在这里插入图片描述
知乎评测链接
https://www.zhihu.com/question/589955024/answer/2940079055

支持云服务+私有化部署

总结

从GPT-1的基础模型到GPT-2的大规模预训练和GPT-3的Few-shot Learning到今天的ChatGPT和GPT-4,证明了基于深度学习的方法使用更多的数据和更多的算力能够创建能力越来越强的语言模型。

参考:

ChatChatGPT 研报告GPT 调研报告-哈尔滨工业大学-自然语言处理研究所(HIT-NLP)
https://zhuanlan.zhihu.com/p/350017443
https://zhuanlan.zhihu.com/p/590311003
https://zhuanlan.zhihu.com/p/473001104
https://mp.weixin.qq.com/s/VYv8BRgGnp9ZTuXxaSuFwg
https://mp.weixin.qq.com/s/V0BTumv8Ax5ToMn8V2DdAA
https://openai.com/research/gpt-4
https://mp.weixin.qq.com/s/TcV88Wi2J0SmHNoYfYmUaw
https://mp.weixin.qq.com/s/ZzxsOf8HaNcJUV3xIpWlOw
https://github.com/THUDM/GLM-130B

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GPT系列模型技术路径演进 的相关文章

  • 机器学习_数据处理及模型评估相关资料

    基于sklearn 的auc 计算方法 训练模型填充空值 fill null 的几种方法 在Pandas中像写SQL一样做数据分析
  • Java通过freemarker实现导出PDF

    制作模板 引入依赖 引入所需字体文件 工具类的编写 业务实现 一 模板制作 1 编写html代码 需要替换的值与内容预留出来 用 name 代替 需循环处 表格前加上 lt list listKey as t gt t name 2 将写好
  • 浅谈React浏览器渲染流程

    当浏览器发送一个请求 会得到对应的响应 浏览器会通过HTML解析器去解析HTML会构建DOM树 会通过CSS解析器去解析CSS生成CSS规则树 如果页面中拥有一些JS逻辑 那么往往会通过JS将CSS HTML进行修改的操作 往往造成重排重绘

随机推荐

  • SPADE: Semantic Image Synthesis with Spatially-Adaptive Normalization

    目录 介绍 相关工作 1 Unconditional normalization layers 2 Conditional normalization layers 这一部分挺重要的 方法 3 1 Spatially adaptive de
  • 编译实验(三)目标代码生成

    通过词法分析 语法分析 语义分析 最后产生了四元式 而代码生成则是通过四元式来完成 我们先从简单开始做起 编译实验项目下载链接 http download csdn net download supersmart dong 10224159
  • 源码安装LAMP环境+yii2框架

    当有些新增的软件版本出现 而你想要进行尝试使用 但是在本地用yum安装却不能满足你的需求时 那么朋友 你需要和我一样用源码安装的形式来达成你的目的 因为开发的同事想要一个Apache 2 4 25 Mysql 5 7 17 php7 1 5
  • 设计模式之工厂方法模式

    定义 定义一个用于创建对象的接口 让子类决定实例化哪个类 使用场景 在任何需要生成复杂对象的地方 都可以使用工厂方法模式 复杂对象适合使用工厂模式 public interface Car public void make public v
  • db2实现两个数相减_DB2中求两个日期之间相差多少个月?

    DB2中怎么来求两个日期之间相差多少个月呢 今天在工作中遇到一个问题 就是怎么在DB2中怎么来求两个日期之间相差多少个月呢 结果找到一个方法如下 在DB2中两个日期之间相减会等到一个整数总共有六种情况分别是 select date 2010
  • HTML登录页面

    第一步 构建HTML框架 简介 本文用最通俗的语言 一步步教会大家CSS构建登录页面 首先构建HTML框架 包含用户名 密码 记住密码 注册这几个功能 如果大家HTML不牢固 请看我的这篇博客 https blog csdn net qq
  • nginx系列(十七)nginx下的gzip与vary、预压缩、缓存、反向代理的结合

    size xx large 前言 size 在http的协议里 为了减少网络传输 允许将报文进行gzip压缩以后再传输 虽然网络传输体积减小了 但是服务器压缩和浏览器的解压缩消耗了CPU的计算 后来出现了预压缩技术 就是提前把静态文件进行g
  • Coordinate Attention 论文阅读

    Coordinate Attention 论文阅读 背景 研究表明通道注意力可以显著提升了模型性能 但是在以往的工作中通常忽略了位置信息 而位置信息对于生成空间注意力非常重要 为了利用位置信息 Coordinate Attention 将位
  • 关于示波器引入50HZ工频干扰的解释

    前几天 小白在实验室工作时 听到同事抱怨示波器有问题 上前查看 才知道 小白的那位同事在测量信号波形时 实际与理想相差甚远 在探头什么也不接的情况下 发现示波器本身也存在波形信号 于是乎 便有了前述说的抱怨 由于没有保存当时的波形 事后小白
  • 浏览器输入url后经历的过程(详细)

    页面加载流程 DNS查询 TCP连接 发送HTTP请求 服务器处理HTTP请求并返回HTTP报文 浏览器解析并render页面 HTTP连接断开 1 DNS查询 浏览器查看浏览器缓存 gt 系统缓存 gt 查找本地host文件 gt 本地D
  • vue 中 ref 、$refs 的用法

    ref 的三种用法 1 ref 加在普通的元素上 用this ref name 获取到的是dom元素 2 ref 加在子组件上 用this ref name 获取到的是组件实例 可以使用组件的所有方法 3 如何利用 v for 和 ref
  • 凸优化及拉格朗日对偶问题

    只记录机器学习方法中需要用到的最优化知识 不做系统总结 持续更新ing 文章目录 1 凸优化 1 凸集 2 凸性条件 3 凸规划 4 凸规划性质 5 凸优化问题 2 拉格朗日函数及其对偶问题 1 拉格朗日函数 含KKT条件 2 拉格朗日对偶
  • pnpm:简介

    一 概念 performant npm 意味 高性能的 npm pnpm由npm yarn衍生而来 解决了npm yarn内部潜在的bug 极大的优化了性能 扩展了使用场景 被誉为 最先进的包管理工具 二 特点 速度快 节约磁盘空间 支持m
  • keras测试环境搭建

    使用的是windows 22h2 在windows中测试 目前看 如果所有用到的库都是pip可以安装的 就可以在windows测试 考虑cuda cudnn对于操作系统的影响太大了 所以只测试了DirectML 安装python3 8 安装
  • 密码爆破总结

    密码爆破经验分享 什么是密码爆破 密码爆破 通过不断输入密码试错 直到成功为止 密码爆破原理 原理 通过不断请求连接 修改连接中的参数 把对应密码的参数遍历字典 自己创建 或者网上获取 根据连接返回的参数来确定是否爆破成功 总结 建立连接
  • MacOS提示【您没有权限来打开应用程序“XXX”。】的完美解决办法

    前言 在 macOS Big Sur 系统下运行一些注册机类的应用程序 大概率会提示 您没有权限来打开应用程序 XXX 请联系您的电脑或网络管理员以获得帮助 信息 具体如下图 下面给出解决办法 说明 本人电脑为新款 MacBook Pro
  • vuex内容及使用详解

    Vuex是什么 Vuex 是一个专为 Vue js 应用程序开发的状态管理模式 它采用集中式存储管理应用的所有组件的状态 并以相应的规则保证状态以一种可预测的方式发生变化 说起状态管理模式 就不得不提起一个名词 单向数据流 单向数据流 在V
  • ubuntu vi/vim退出文件

    要退出 但是不保存 按esc先 然后输入 q 回车键即可退出 无法退出 则在 q 加入一个叹号回车键就行了 要退出保存的 则输入 wq 强制保存退出 则输入 wq 看到此时已经退出 在等待命令状态 以nano开头编辑文件的 则要退出 按 C
  • SQL Server学习之复合索引

    概要什么是单一索引 什么又是复合索引呢 何时新建复合索引 复合索引又需要注意些什么呢 本篇文章主要是对网上一些讨论的总结 一 概念单一索引是指索引列为一列的情况 即新建索引的语句只实施在一列上 用户可以在多个列上建立索引 这种索引叫做复合索
  • GPT系列模型技术路径演进

    目录 前言 Transformer GPT 1 BERT GPT 2 GPT 3 InstructGPT ChatGPT GPT 4 类ChatGPT产品 Google Bard 诗人 facebook LLaMA 羊驼 复旦 MOSS 清