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

    gpt模型参数量

    发布时间:2023-03-12 19:22:17     稿源: 创意岭    阅读: 131        问大家

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

    ChatGPT国内免费在线使用,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

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

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

    本文目录:

    gpt模型参数量

    一、1亿的数据大概需要多少硬件资源

    1亿的数据大概需要11.9mb硬件资源

    1000000000÷8÷1024÷1024≈119.21MB

    也就是存储10亿的数据只需要119MB左右的内存空间,这对于现在动辄16G、32G集群版的redis,完全没有问题。

    需要注意的是,如果你的数据量不大,那就不要把起始偏移量搞的很大,这样也是占空间的,比如我们只需要存储几百条数据,但是其中的偏移量却很大,这就会造成了很大的内存空间浪费。

    二、05-ELMo/BERT/GPT-NLP预训练模型

    这里可以参考CSDN上的文章-BERT原理和实践: https://blog.csdn.net/jiaowoshouzi/article/category/9060488

    在解释BERT,ELMO这些预训练模型之前,我们先看一下很久之前的计算机是如何读懂文字的?

    每个字都有自己的独特的编码。但是这样是有弊端的,字和字之间的关联关系是无法得知的,比如计算机无法知道dog和cat都是动物,它反而会觉得bag和dog是比较相近的。

    所以后来就有了Word Class,将一系列的词进行分类然后让一类词语和一类词语之间更有关联,但是这样的方法太过于粗糙,比如dog,cat,bird是一类,看不出哺乳动物鸟类的区别。

    在这个基础之上,我们有了Word Embedding,Word Embedding我们可以想象成是一种soft的word class,每个词都用向量来表示,它的向量维度可能表示这个词汇的某种意思,如图中dog,cat,rabbit的距离相比其他更近。那么word embendding是如何训练出来的,是根据每个词汇的上下文所训练的。

    每个句子都有bank的词汇,四个bank是不同的token,但是同样的type。(注:token-词例, type-词型, class-词类 or token是出现的总次数(还有种理解是token是具有一定的句法语义且独立的最小文本成分。 ),type是出现的不同事物的个数。)

    对于典型的Word Embedding认为,每个词type有一个embedding,所以就算是不同的token只要是一样的type那么word embedding就是一样的,语义也就是一样的。

    而事实上并非如此,1,2句bank指的是银行,3,4为水库。所以我们希望让机器给不同意思的token而且type还一致,给予不同的embedding。在这个问题上,之前的做法是从字典中去查找这个词包含几种意思,但是这样的做法显然跟不上现实中词语的一些隐含的含义。比如bank有银行的意思,与money一起是银行的意思,而与blood一起却是血库的意思。

    所以我们想让机器今天进一步做到每一个word token都可以有自己的embedding(之前是每个type有一个embedding或者有固定的一个或多个embedding),那么怎么知道一个word应该有怎样的embedding呢?我们可以取决于该词的上下文,上下文越相近的token它们就会越相近的embedding。比如之前提到的bank,下面两个句子它们的word token的embedding可能是相近的,而和上面的word token的embedding是相远的。

    所以我们想使用一种能够基于上下文的Contextual word Embedding来解决一词多义的问题。

    这里使用ELMO可以做到这件事情,即每个word token拥有不同的word embedding。(右上角动物是芝麻街(美国公共广播协会(PBS)制作播出的儿童教育电视节目)里的角色)。

    它是基于RNN的预训练模型,它只需要搜集大量语料(句子)且不需要做任何标注,就可以训练这个基于RNN的语言模型,预测下一个token是什么,学习完了之后就得到了上下文的embedding。因为我们可以将RNN的隐藏层中的某一节点拿出来(图中橙蓝色节点),它就是输入当前结点的词汇的word embedding。

    从当计算识别到<BOS>,模型训练开始。首先输入"潮水",然后当作输入输出"退了",退了当做输入输出"就"。

    假设当前要得到”退了”这个词的上下文embedding,首先,因为前边的RNN只考虑到了前文而没有考虑到后文,所以这里就使用了同前文一样的反向的RNN。然后,它从句尾开始进行,比如给它喂”知道”,它就要预测”就”,给它喂”就”,它就要预测”退了”。这时候就不仅考虑每个词汇的前文,还会考虑每个词的后文。最后将正向和逆向得到的两个不同的上下文embedding(因为方向不同训练结果也不一样)拼接起来。

    现在我们训练的程度都会越来越深度,当层数增加,这样就会产生Deep的RNN,因为很多层,而且每一层都会产生上下文Embedding,那么我们到底应该使用哪一层?每一层这种深度LSTM中的每个层都可以生成潜在表示(方框处)。同一个词在不同的层上会产生不同的Embedding,那么我们应该使用哪一层呢?ELMo的策略是每一层得到的上下文embedding都要。

    在上下文embedding的训练模型中,每个词输入进去都会有一个embedding输出来。但是在ELMo中,每个词汇输入进去,都会得到不止一个embedding,因为每层的RNN都会给到一个embedding,ELMo将它们统统加起来一起使用。

    以图中为例,这里假设ELMo有两层RNN,这里是将α1(黄色,第一层得到的embedding)和α2(绿色,第二层得到embedding)加起来得到蓝色的embedding,并做为接下来要进行不同任务的输入。

    但是这里存在一些问题,α1和α2是学习得到的,而且它是根据当前要进行的任务(如QA,POS of tagging ),然后根据接下来要进行的这些任务一起被学习出来。所以就导致不同任务导向下的α1和α2也不一样。

    ELMo的论文中提到,在不同任务下(SRL,Coref,SNLI,SQuAD,SST-5)。蓝色的上下文embedding在经过token(这里为没有经过上下文的embedding),LSTM1,LSTM2后,它在不同阶段需要的weight也不一样。

    BERT相当于是Transformer的Encoder部分,它只需要搜集大量的语料去从中学习而不经过标注(不需要label),就可以将Encoder训练完成。如果之前要训练Encoder,我们需要通过一些任务来驱动学习(如机器翻译)。

    BERT就是句子给进去,每个句子给一个embedding。

    这里可以回忆下,Transformer的Enoder中有self-attention layer,就是给进去一个sequence,输出也得到一个sequence。

    虽然图中使用是用词作为单元进行输入,但是在使用BERT进行中文的训练时,字会是一个更好的选择。比如,我们在给BERT进行输入时,用one-hot给词进行编码,但是词在中文中数量庞大,会导致维度过高。但是,字的话相对会少很多,特别是中文(大约几千个,可以穷举)。这样以字为单位进行输入会占很大优势。

    共有两种方法,一种是Mask LM遮盖语言模型,另一种是Next Sentence Prediction下一句预测。

    下面用上图的例子来理解BERT是怎么样来进行填空的:

    1)这里假设在所有句子中的词汇的第2个位置上设置一个<MASK>;

    2)接下来把所有的词汇输入BERT,然后每个输入的token都会得到一个embedding;

    3)接下来将设置为<MASK>的embedding输入到Linear Multi-class Classifier中中,要求它预测被<MASK>的词汇是哪个词汇?

    但是这个Linear Multi-class Classifier它仅仅是一个线性分类器,所以它的能力十分弱,这也就需要在之前的BERT模型中需要将它的层数等参数设计的相当好,然后得到非常出色的representation,便于线性分类器去训练。

    那么我们怎么知道最后得到的embedding是什么样的呢?如果两个<MASK>下的词汇(输入时设置的<MASK>和最后预测的<MASK>)都放回原来的位置而且没有违和感(就是语句还算通顺),那它们就有类似的embedding(比如退下和落下)。

    如图中,给定两个句子1)醒醒吧 和 2)你没有妹妹。其中特殊符号[SEP]是告诉BERT两个句子的分隔点在哪里。

    特殊符号[CLS]一般放在句子的开头,它用来告诉BERT从这开始分类任务,[CLS]输入BERT后得到embedding然后通过Linear Binary Classifier得出结果说明:经过BERT预测后现在我们要预测的两个句子是接在一起 or 不应该被接在一起。

    这里可能会有疑问,为什么不将[CLS]放在句尾,等BERT训练完两个句子再输出结果?

    对于上图中的任务,BERT现在要做的事情就是给定两个句子,让BERT输出结果这两个句子是不是应该接在一起?

    所以在语料库的大量句子中,我们是知道哪些句子是可以接在一起的,所以也需要我们告诉BERT哪些句子是接在一起的。

    Linear Binary Classifier和BERT是一起被训练的,通过预测下一句这个任务,我们就可以把将BERT部分的最优参数训练出来。

    现在我们知道了任务一和任务二,在原论文中两种任务是要同时进行的,这样才能将BERT的性能发挥到最佳。

    现在我们知道了BERT要做什么事情,那么我们要如何去使用它?共有四种方法。论文中是将【BERT模型和接下来你要进行的任务】结合在一起做训练。

    第一种,假设当前任务是Input一个sentence,out一个class,举例来说输入一句话来判断分类。

    训练流程:1)将做要分类的句子丢给BERT;

    2)需要在句子开始加上分类的特殊符号,这个特殊符号经过BERT输出的embedding经过线性分类器,输出结果为当前的句子属于的类别是真还是假。BERT和Linear Classifier的参数一起进行学习;

    3)这里的Linear Classifier是Trained from Scratch是白手起家从头开始,即它的参数随机初始化设置,然后开始训练;

    4)而BERT则是加上Fine-tune微调策略(一种迁移学习方式*),例如Generative Pre-trained Transformer(OpenAI GPT生成型预训练变换器)(Radford等,2018),引入了最小的任务特定参数,并通过简单地微调预训练参数在下游任务中进行训练。

    *这里不得不提一下迁移学习中的Fine-tune,这里可以参考csdn的一篇文章: https://blog.csdn.net/u013841196/article/details/80919857

    ( https://arxiv.org/abs/1805.12471 )

    第二种,假设当前任务是input一个sentence,输出这个句子中的每个词汇属于正例还是负例。举例现在的任务是slot filling填槽任务(填槽指的是为了让用户意图转化为用户明确的指令而补全信息的过程)(另一种解释是从大规模的语料库中抽取给定实体(query)的被明确定义的属性(slot types)的值(slot fillers))(槽可以理解为实体已明确定义的属性),输入的句子是 arrive Taipei on November 2nd输出的槽是other dest on time time

    训练流程:

    1)将句子输入BERT,句子中的每个词汇都会映射出一个embedding;

    2)每个词汇的embedding输入Linear Classifier,输出结果;

    3)Linear Classifier 白手起家和Bert微调的方式一起去做学习。

    第三种,假设当前任务是input输入两个句子,输出class。举例现在要进行自然语言预测,让机器根据premise前提,预测这个hypothesis假设是True还是False还是unknown不知道。实际上,我们可以把这个任务当成三分类问题。

    训练过程:

    1)在一个sentence前设置特殊符号[CLS],然后在要输入的两个sentence中间设置[SEP]分隔符号;

    2)将两个sentence连同特殊符号一起输入到BERT中;

    3)将[CLS]输入BERT后得到的embedding,再把它输入linear Classifier中,得到class。

    如图所示,假设gravity的token序号是17,即 ,我们现在有一个问题通过QA Model后得到的s=17,e=17,那么答案就是 为gravity;

    同理,假设within a cloud的序号顺序是77到79,即 到 ,我们现在有一个问题通过QA Model后得到的s=77,e=79,那么答案就是 为within a cloud。

    https://arxiv.org/abs/1905.05950

    https://openreview.net/pdf?id=SJzSgnRcKX

    这张图显示了BERT从0-24层的层数在针对不同的NLP任务上的表现。

    https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf

    而所谓的GPT,它其实就是Transformer的Decoder。

    我们简单的描述下GPT的训练过程:这里我们input<BOS>这个token和潮水,想要GPT预测输出“退了”这个词汇。

    1)首先输入[BOS](begin of sentence)和潮水,通过Word Embedding再乘上matrix W变成a 1到a 4,然后把它们丢进self-attention 层中,这时候每一个input都分别乘上3个不同的matrix产生3个不同的vector,分别把它们命名为q,k,v。

    q代表的是query (to match others用来去匹配其它的向量)

    k代表的是key (to be matched用来去被query匹配的向量)

    v代表的是value(information to be extracted用来被抽取的信息的向量)

    2)现在要做的工作就是用每个query q 去对每个 key k做attention(吃2个向量,输出就是告诉你这2个向量有多么匹配或者可以说输入两个向量输出一个分数alpha(而怎么去吃2个向量output一个分数,有很多不同的做法))。这里要预测潮水的下一个词,所以乘 , 乘上 , 乘上 再经过soft-max分别得到 到 。

    3)我们用 和每一个v相乘, 和 相乘加上 和 相乘。以此类推并相加,最终得到 。

    4)然后经过很多层的self-attention,预测得到”退了”这个词汇。

    同理,现在要预测”退了”的下一个词汇,按照前面的流程可以得到 ,然后经过很多层的self-attention层,得到”就”这个词汇。

    GPT的神奇之处在于它可以在完全没有训练数据的情况下,就可以做到阅读理解,摘要,翻译。折线图中显示了它在参数量上升的情况下,F1的值的效果。

    1.Transformer的问题:

    word Embedding 无上下文

    监督数据太少

    解决方法:

    Contextual Word Embedding

    2.ELMo( E mbeddings from L anguages Mo del)

    - 多层双向的LSTM的NNLM

    - RNN-based language models(trained from lots of sentences)

    ELMo的问题:

    Contextual Word Embedding作为特征

    不适合特定任务

    3.OpenAI GPT的改进

    根据任务Fine-Tuning

    使用Transformer替代RNN/LSTM

    OpenAI GPT的问题:

    单向信息流的问题

    Pretraining(1)和Fine-Tuning(2)不匹配

    解决办法:

    Masked LM

    NSP Multi-task Learning

    Encoder again

    Tips:

    - 使用中文模型

    - max_seq_length可以小一点,提高效率

    - 内存不够,需要调整train_batch_size

    - 有足够多的领域数据,可以尝试Pretraining

    三、全球十大数字创新技术出炉

    点击蓝字

    科技 创新世界潮。

    全文共计2520字,预计阅读时间7分钟

    来源 | 数据观综合(转载请注明来源)

    编辑 | 蒲蒲

    日前,联合国教科文组织2021年 Netexplo 创新论坛在网上举行。由技术领域全球知名大学组成的 Netexplo 大学网络历时一年,在全球范围内遴选出了10项极具突破性的数字创新技术,这些创新对 社会 具有深远而持久的影响。

    阿根廷交易平台Abakus

    受疫情影响,阿根廷经济遭受重创,也使该国农业部门的动荡加剧。鉴于此,阿根廷初创企业Abakus与瑞士区块链基础设施提供商CoreLedger推出了一个数字易货平台,旨在帮助农民克服金融波动带来的影响,打造数字易货经济。

    Abakus系统基于一种以实物资产(例如大豆)为索引的加密货币,这种货币可能比本国不断波动的货币更稳定,而代币可以兑换成货物或比索。这两家公司表示,代币化农业资产将有助于农民对冲通货膨胀,并在国内和国际上获得流动性。

    CoreLedger首席执行官Johannes Schweifer表示:“ 在一个饱受通货膨胀困扰的国家,获得有形资产的能力可能是这些农民生存与发展之间的区别。

    Abakus首席执行官Martin Furst表示:“ 由于国有公司的垄断地位,阿根廷的农民们难以生存,这些垄断者决定了农产品贸易的条件并大幅度削减了农产品。农业支持的代币解决了现金和股票储蓄计划固有的波动性和流动性问题。

    英国人工智能AlphaFold 2

    在国际象棋和围棋领域取得巨大成功后,去年年底,人工智能再次大出风头。在国际蛋白质结构预测赛中,AlphaFold 2摘得桂冠,并破解了一个困扰人类50年的难题:预测蛋白质如何折叠。

    据DeepMind官方宣布,该算法能够精确地基于氨基酸序列,预测蛋白质的3D结构,其准确性可以与使用冷冻电子显微镜(CryoEM)、核磁共振或X射线晶体学等实验技术解析的3D结构相媲美。

    在过去50年中,“蛋白质折叠问题”一直是生物学界的重大挑战。此前,生物学家主要利用X射线晶体学或冷冻电镜等实验技术来破译蛋白质的三维结构,但这类方法耗时长、成本高。而AlphaFold 2不仅预测准确且效率高,有望促进医学领域不断取得进步。

    美国图像生成系统Dall-E

    美国人工智能非营利组织Open AI于今年1月份推出Dall—E,这是一个可以根据书面文字生成图像的人工智能系统。取名DALL-E,是为了向艺术家萨尔瓦多-达利(Salvador Dali )和皮克斯的机器人WALL-E致敬。

    DALL-E是OpenAI基于GPT-3开发的一种新型神经网络。它是GPT-3的一个小版本,使用了120亿个参数,而不是1750亿个参数。但它已经经过专门训练,可以从文本描述生成图像,使用的是文本-图像对的数据集,而不是像GPT-3这样非常广泛的数据集。它可以使用自然语言从文字说明中创建图像,就像GPT-3创建网站和故事一样。

    德国文本AI模型GPT-Neo

    OpenAI的GPT—3被认为是目前最好的人工智能文本生成器,其拥有1750亿个参数,现已被数万开发者用于300多个不同的应用程序,每天输出45亿词之多。

    但它是收费的,这阻碍了更多开发人员的采用,也不利于文本AI的快速发展。有鉴于此,德国Eleuther人工智能公司于今年3月下旬推出开源的文本AI模型GPT—Neo,以弥补这方面的缺憾。研究人员称,GPT—Neo的推出将会催生出一大批崭新应用,也会以更为低廉的成本释放人们对人工智能未来的想象力。

    本质上,GPT-Neo有点像是GPT系列的“高仿”项目:GPT-Neo中的各种模型,设计原理接近GPT系列,但代码并不一样。作者们打算尝试各种结构和注意力类型,最终扩展出GPT-3大小的大语言模型。为了实现这一目标,他们从复现GPT系列的模型开始,不断尝试各种模型架构、和各种注意力机制的实现方式。

    中国量子计算机“九章”

    “九章”是由中国科学技术大学潘建伟、陆朝阳等学者研制的76个光子的量子计算原型机。

    实验显示,当求解5000万个样本的高斯玻色取样时,“九章”需200秒,而目前世界最快的超级计算机“富岳”需6亿年。等效来看,“九章”的计算速度比“悬铃木”快100亿倍,并弥补了“悬铃木”依赖样本数量的技术漏洞。

    这一成果使得我国成功达到了量子计算研究的第一个里程碑:量子计算优越性(国外也称之为“量子霸权”),并牢固确立了我国在国际量子计算研究中的第一方阵地位,为未来实现可解决具有重大实用价值问题的规模化量子模拟机奠定了技术基础。

    对于“九章”的突破,《科学》杂志审稿人评价该工作是“一个最先进的实验”(astate-of-the-artexperiment),“一个重大成就”(a major achievement)。

    美国人工智能“神经破译”

    “神经破译”是由MIT CSAIL和谷歌大脑的研究者携手开发的一款人工智能软件,基于语言进化原理,可以在不知道语言来源的情况下破译古代语言,并揭示某种语言和其他语言之间的关联。

    研究者们利用同一语族内不同语言之间的联系,用该人工智能破译了两种失传的语言:乌加里特文和线性文字B,堪称现代版的“罗塞塔石碑”!(PS:罗塞塔石碑是一块用3种语言写了同一个内容的石碑,帮助语言学家们读懂古文字。)

    乌加里特文(Ugaritic),是一种楔形文字,属于闪米特语族。从字面上来看,就知道它是一个叫做乌加里特(Ugarit)的文明使用的语言,这个文明位于当今地中海沿岸的叙利亚,在公元前6000年前后就初现踪迹,在公元前1190年前后灭亡。

    线性文字B(Linear B),由一种人类还没有破译出来的线性文字A演化而来,主要存活于公元前1500年到公元前1200年的克里特岛和希腊南部,是希腊语的一种古代书写形式。

    未来,在这项研究起作用的情况下,或许可以像借助罗曼语族三种语言的数据库一样,直接用机器借助其他已知的人类语言,实现暴力破解。

    印度区块链应用程序Smashboard

    Smashboard网站称自己是一个“另类的社交媒体网络,为性侵受害者提供独特的功能,目的是通过减少报案带来的心理创伤,让他们的生活更轻松”。

    借助区块链技术,Smashboard允许用户创建他们所遭受犯罪的私人和加密账本,并将其安全地存储在网上。例如,Smashboard为用户提供了收集材料的选项,“这些材料可作为日记,也可作为加密个人空间中的时间戳证据”。更重要的是,该应用程序允许性虐待受害者找到法律顾问或律师,并与他们私下互动。受害者还可以与女权主义新闻工作者建立联系,甚至可以给他们匿名举报。

    目前,Smashboard的另一个障碍是应用的覆盖范围。该应用程序目前只能使用三种语言-英语,法语和西班牙语。这意味着该应用无法覆盖使用印度当地语言的性虐待受害者。

    澳大利亚人工智能“蠕虫大脑驱动器”

    研究人员从蠕虫微小的大脑中获得灵感,开发出一种能够控制自动驾驶 汽车 的人工智能系统“蠕虫大脑驱动器”。与大多数网络中使用数百万个神经元相比,该系统只需要几个神经元。

    该系统只用了控制电路中的19个神经元和7.5万个参数,就成功控制了一辆 汽车 。研究小组相信他们的新方法可减少训练时间,并使人工智能在相对简单的系统中实现成为可能。

    四、只需要十分之一数据,就能通关四大视觉任务,居然还开源了

    Github链接:https://github.com/opengvlab

    家人们,你们有没有这种苦恼?

    搬一次家就换一次家具,那些又贵又重的家具既不好搬运,又不好全部带走。

    下一次又重新购置一遍家具,浪费钱不说,关键是来来回回都做一样的事情!家具还没用过几次,利用率不高呀!

    这种搬家的苦恼,就好比AI领域,做几个任务就需要开发几个高度定制的模型,不仅所需的数据采集量非常大,每次还都得从头标注。既提不起数据的学习效率,又耗费巨大的数据获取成本。

    光是AI前端研究就耗费如此巨大的精力,更别提应用场景中数以万计的长尾任务。

    那怎么办?

    做一款通用的深度学习模型,才是关键。

    1 通用,才是技术根本

    目前,通用语言模型(GLM)已经取得了令人瞩目的进展,比如BERT、T5和GPT-3,它们在应对广泛的语言下游任务时已经游刃有余。

    相形之下,通用视觉模型(GVM)的研究迟迟未交出一份令人满意的答卷。

    以往的大多数 GVM 研究主要利用一种监督信号来源,如 ViT-G/14 采用有标签监督,SEER 采用样本的不同增强之间的对比学习,CLIP采用图片文本对进行监督。如果是在单个监督信号下进行的预训练,这几种范式确实能够生成在固定场景下表现良好的模型。但如果用在场景多元、任务多样的下游场景,这些模型就难以胜任了。

    比如现在最火的自动驾驶, 汽车 处于移动状态,既要看到路况,又要看到红绿灯,还要注意行人,甚至在智能座舱兴起后,还要和语言技术、LBS场景服务协同,这么多的感知数据与协同任务,这么多随机的新任务,无论在体量还是维度方面,都对视觉模型的要求极大提高。

    这时,打造一款通用视觉模型,降低研发门槛,尤其是学术界的时间成本、资金成本,才能畅享下游的极致场景体验。

    去年11月,上海人工智能实验室联合商汤 科技 、香港中文大学、上海交通大学发布通用视觉技术体系“书生”(INTERN),一套持续学习框架,用于系统化解决当下人工智能视觉领域中存在的任务通用、场景泛化和数据效率等一系列瓶颈问题。

    前不久,上海人工智能实验室联合商汤 科技 发布通用视觉开源平台OpenGVLab,面向学术界和产业界开放其超高效预训练模型、超大规模公开数据集,以及业内首个针对通用视觉模型的评测基准。

    这些开源技术,究竟有何魔力?

    2 大力出奇迹,打造通用视觉模型

    “书生” (INTERN),就是练就通用视觉能力的底层技术。

    从技术实现上讲,“书生”技术体系由由七大模块组成,包括三个基础设施模块和四个训练阶段构成。

    书生(INTERN)结构图

    首先,通用视觉数据系统。

    这是一个超大规模的精标数据集,拥有100亿个样本和各种监督信号,并依照四大视觉任务分别设置了四个数据子集:多模态数据GV-D- 10B分类标注的GV-Dc-36M、检测标注的GV-Dd-3M、分割标注的GV-Ds-143K。

    另外,这一数据集还包含11.9万的标签系统,不仅涵盖了自然界的众多领域和目前计算机视觉研究中的几乎所有标签,还扩充了大量细粒度标签,涵盖各类图像中的属性、状态等。

    而这,就是书生“大力出奇迹”的一大注脚。

    其次,通用视觉模型结构。

    它是由一个具有CNN和Transformer的统一搜索空间构建而成。

    为何要建立这样的混合结构?要知道,多年来,卷积神经网络(CNN)一直主导着视觉表征学习,并在图像分类、目标检测和语义分割等下游任务中表现出稳定的可迁移性。但最近几年,Vision Transformer (ViT)仅使用普通的Transformer结构就能作为图像编码模型在ImageNet-1k上取得媲美 CNN 的性能,在大规模数据集上 ViT 更是展示出比 CNN 更大的潜力。

    尽管ViT在性能上有优点,但纯Transformer网络相比卷积神经网络缺乏某些归纳偏置(inductive biases),因此需要更多的数据和计算资源。此外,自注意的计算成本相对于输入的数量是平方的,限制了对高输入分辨率的应用。因此,将CNN和Transformer和MLP结合起来,平衡效率和有效性两个方面,才是模型通用的关键。

    这种兼具更好的泛化能力和更高的模型容量的模型结构名为MetaNet。在MetaNet网络结构族里面进行网络结构搜索,从而得到最优的一个模型训练结构。

    统一搜索的MetaNet架构:Conv和Trans分别表示卷积和Transformer。C和S为每一阶输出通道数和步幅。

    具体来看,MetaNet不仅基于强化学习 的PPO算法提出了统一搜索架构,并且,为了避免传统的下采样模块会成为模型性能的瓶颈,“书生“结合了包含 local-global-DSM (LG_DSM) 和 global-DSM (G-DSM)的context-aware down-sampling modules (DSM),用来代替原本的下采样模块。

    因此,在浅层,模型依然使用卷积来提取特征,但在深层,模型却能将Transformer模块和LG-DSM结合使用,以便于更好地提取全局信息。

    同时,书生还基于最大的MetaNet-B15蒸馏出了多达13种不同的模型结构,共24种不同的模型权重,现已全部开源。

    这些模型结构基本涵盖了现有市面上大部分的主流backbone,不仅能够很轻易地迁移到所需要的算法框架作为新网络预训练的初始化,而且只需要更短的训练时间就可以达到比原来更好的训练效果。

    MetaNet 模型与其他模型结构比较,结果如下:

    基于卷积、Transformer和两者混合的结构,分别用C,T和H表示,可以看出,在图像分类性能上,MetaNet系列的MN-B1,MN-B4和MN-B7,和其他的SOTA模型相比,不仅有更高的精度,还有更低的FLOPS和参数量。

    除了分类任务,把MetaNet做为检测和分割的backbone,在COCO数据集上使用Mask R-CNN结构训练,结果发现:在模型参数量更小的前提下,MN-B4比Swin-T精度高出2到4个点。另外还在ADE20K数据集上进行了语义分割任务,MN-B4的mIoU指标比Swin-T高出5个点之多。

    上述两个实验结果表明,MetaNet系列模型结构,在模型精度与计算量之间,都达到了新的SOTA!

    最后,通用视觉评测基准。

    视觉评测基准GV-B ,就像是一个「擂台」。

    如下表所示,测评基准收集了 26 个下游任务数据集,囊括了 4 种视觉任务类型:分类,检测,分割和深度估计。

    在设置上,该基准引入了百分比样本(percentage-shot),只需要选取整个数据集的一部分,例如 10%、20% ,对比缩小下游任务的训练数据量后的模型性能。

    与传统的少样本设置相比,这种百分比样本设置可以很好地保留原始数据集的长尾分布等属性,并减轻对样本选择的敏感性。因为有一些数据集样本类别分布不平衡,比如下表中的VOC07+12,百分比数据的划分方式却会继承这种分布情况。

    右侧三列avg,min和max,分别表示在10%的数据中,不同类别样本数量的平均值,最小值和最大值。

    结合上述数据集和任务类型,论文选取了一些具有代表性的模型来做评测对比。为了比较公平性,该对比使用了这些模型的官方预训练权重。这些模型包括:

    有了超大精标数据集、模型结构,以及评测基准后,已经是万事俱备,只欠训练。

    书生作为中国古代读书人的经典形象,代表着一个通过不断学习、不断成长进而拥有各方面才能的人格化角色:从基础的知识技能学习开始,到对多种专业知识触类旁通,进而成长为拥有通用知识的通才。借此意象,“书生”(INTERN)系统可通过持续学习,举一反三,逐步实现通用视觉领域的融会贯通,最终实现灵活高效的模型部署。

    下面就来看看,这套系统是如何通过训练,一步步从生手变成专家再到多面手,最终在各种任务中大显身手。

    第一阶段,训练的是基础能力,被称为“基础模型”(Amateur)。

    然而CLIP需要400M的图像-文本对进行前训练,囿于极大的数据量,CLIP很难进一步发展。但“书生”提出了一种新的训练范式,DeCLIP(Data efficient CLIP ),能够同时使用来自图像-文本、图像-图像和文本-文本对的监督信号进行模型预训练,从而更有效地实现通用性。

    此外,为了充分利用大规模多模态数据获取基础模型的优势,这一阶段提出了Upstream-Amateur (Up-A)视觉语言预训练框架,同时挖掘模态内和跨模态知识。

    这一训练框架分为两个预训练阶段:Upstream-Amateur for Global Representation (Up-A-G)和Upstream-Amateur for Local Representation (Up-A-L)。

    其中,Up-A-G(左)使用群体监督功能,从更丰富的监督中学习。Up-A-L(右)采用局部自我监督学习方法,对训练好的视觉-语言模型进行调整,从而提高自身在密集预测CV任务中的表现。

    Upstream-Amateur的框架

    得益于这些内在的监督,DeCLIP-ResNet50可以在ImageNet上实现60.4%的zero-shot 精度第一。这比CLIP-ResNet50高出0.8%,数据使用量少了81%。当迁移到下游任务时,DeCLIP-ResNet50在11个视觉数据集中有8个优于CLIP。

    更关键的是,训练完成的Upstream-Amateur为后续的训练阶段提供了一个很高的起点。

    第二阶段,训练的是专业能力,被称为“专家模型”(Expert)。

    Up-A阶段得到的基础模型,在一般的视觉识别问题上显示出优异的性能。但要完全掌握检测、分割等更具体的任务,还需要在每个任务中进行更专业的预训练,这就促成了第二个阶段的到来,专家模型。

    对于每个专家,“书生”采用了一种简单的多头设计,每个头是一个特定数据集的子网络,从一个公共的、共享的“主干”分支出来。比如Up-E (C)、Up-E (D)和Up-E (S),分别用于图像分类、对象检测和语义分割。

    第三阶段,训练的是组合能力,被称为“通才模型”(Generalist)。

    上述的多任务是指不同数据集(如ImageNet和CIFAR)的一个视觉问题(如分类),或一个数据集的多个视觉问题(如分类和检测)。但关键是,如何将专家整合到一个统一的模型中,获得一个更加通用的视觉模型。因此,在预训练“专家”阶段之后,又将“通才”作为第三个预训练阶段,以进一步统一特征表示。

    “书生”提出了一个新的范式,名为“混合参数共享”,从而开发一个名为“多面手”的通才模型。

    具体来说,由于专家捕获的知识是相互关联的,当专家的特征融合为一个共享的表示形式时,再利用基于软共享的跨任务知识转移和基于硬共享的通用表示学习的方法,在不引入任务冲突的情况下在专家之间传递信息(特征转移),从而进一步提高了多任务训练的模型(专家)性能,即“通才”能力。

    在结构上,通才模型是所有专家的一个相互关联的版本,因此可以把每个“专家主干”称为“通才分支”。此外,我们还可以根据训练相应专家的任务将通才中的每个分支分为图像、补丁和像素。但无论是软共享还是硬共享,都意味着从专家模型到通才模型的一次跃升。

    在经历了前三个训练阶段模块后,终于来到最后的任务迁移阶段 (Adaptation)。

    这个阶段属于技术链条的下游,用来解决各式各样不同类型的任务,而这也是最考验“书生”举一反三能力的时刻。它需要在这个阶段把之前学到的通用知识,融会贯通地应用到不同特定任务中。

    在此之前,很多迁移学习方法确实取得了很多进步,但问题是,这些方法既没有利用上游预训练中的隐含信息,也没有考虑到下游数据在少镜头场景中的不足。

    因此,“书生”提出了一种Multi-stage Fine-tuning (MF)方法,缓解在数据较少的情况下传输的困难,再通过将上游数据编码成生成模型,即VQ-GAN,可以将预训练的模型转移到多个任务和领域,而无需每次都使用上游数据,而这也使得“书生”更具通用性和可扩展性。

    多级微调(MF)概述:VQ-GAN模型首先在第一阶段使用上游数据进行训练,然后在第二阶段由它重构下游数据。在此之后,第三阶段只对新增任务的特定参数进行重新表示的图像训练,第四阶段则通过下游数据对整个模型进行微调。

    至此,一个具有持续学习能力的通用视觉模型终于出世。

    而具体有哪些提升,不如看一下更直观的实验数据对比!

    3 一网打尽视觉领域四大任务

    视觉领域,任务繁多,主流任务包含分类、目标检测、语义分割、深度估计四大类型。

    在这四大任务中,最强大的视觉模型还是去年OpenAI发布的CLIP模型。但相比较而言,“书生”则在准确率和数据使用效率上都有所提升。

    1、精度表现

    通过对“书生”训练出的模型在GV-B上的评测对比,发现经过多阶段预训练的MetaNet精度表现优异。

    在ImageNet等26个最具代表性的下游场景中, “书生”在分类、目标检测、语义分割及深度估计等四大任务上,平均错误率分别降低了40.2%、47.3%、34.8%和9.4%。

    书生(INTERN)与CLIP-R50x16在不同样本量上的性能对比,正确率展示

    2、数据使用效率

    “书生”在数据效率方面的提升尤为瞩目:只需要1/10的下游数据,就能超过CLIP基于完整下游数据训练的准确度。

    以CLIP-R50x16和Up-G MN-B15在GV-B的评测对比为例,分别在分类、目标检测、语义分割、深度估计四大类型的26个下游任务数据集上进行了评测,仅使用了10%数据进行训练的Up-G MN-B15模型,在绝大部分数据集上都能比使用了全部训练数据的CLIP-R50有更好的精度表现。这表明,经过多阶段预训练的MetaNet具有极强的泛化能力,能够在仅有少量的训练样本情况下,达到SOTA的精度表现。

    在下游视觉场景中,小样本训练带来的是极高的训练速度,以及极低的训练成本。

    例如在花卉种类识别任务上,“书生“只需要每一类型的花卉提供两个训练样本,就能实现99.7%的准确率。

    这个花卉数据集由102种英国常见的花组成,每个类别有40至258张图片。其中包含有很大的比例、姿势和光线变化。

    102个类别的花卉数据集:

    https://www.robots.ox.ac.uk/~vgg/data/flowers/102/index.html

    4 通用视觉平台,已正式开源

    如此强大的通用视觉训练模型已经正式开源!

    更关键的是,连同上述讲到的标签数据集、网络结构以及评测基准,均在OpenGVLab被统一打包开源。

    其中的网络结构除了MetaNet,还包含大家普遍使用的ResNet, MobileNet, ViT, EfficientNet等,以满足不同场景的应用,赋能计算机视觉。

    然而,「书生」的布局不止于此。

    OpenGVLab将与上海人工智能实验室此前发布的OpenMMLab、OpenDILab一道,共同构筑开源体系OpenXLab,持续推进通用人工智能的技术突破和生态构建。

    一位已经使用过此次开源平台的自动驾驶算法研究员表示:“书生系列模型充分覆盖了从移动可部署的小模型,到超大规模自研结构,为行业带来了希望,尤其是它的收敛速度,大幅节省了训练开销,是技术落地的一大助推器。“

    不仅是自动驾驶领域,智慧城市、智慧医疗、智慧交通,以及千千万万其他的智能化领域,都将获得通用视觉模型带来的技术红利。

    一位腾讯研究员大赞OpenGVLab:“能把这么大的工作开源出来真的是业界良心。简单用了一下,确实比CLIP要更fine-grained(细粒度更高)。”

    而来自学界的师生也对此感慨有加:“OpenGVLab集成了大量各种量级的state-of-the-art(先进)模型,使用起来更得心应手,省去了对不同codebase、不同模型繁琐调研的烦恼。”

    换句话说,当那些代码和公式脱去了枯燥乏味的外衣,人们才发现了真正的创造力。而这,也是技术创新与平台开源的魅力所在。

    往近了说,用这款通用视觉模型打比赛,怕不是奖金多到飞起!在技术生产力的道路上,又诞生了一个致富小妙招!

    目前,“书生”技术报告《INTERN: A New Learning Paradigm Towards General Vision》已在arXiv平台发布。

    论文地址:arxiv.org/abs/2111.08687

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


    推荐阅读:

    ChatGPT怎么在手机里安装(安装chattr)

    chatGPT用什么邮箱注册(chesscom注册要用什么邮箱)

    微信怎么用ChatGPT

    郑州景观设计软件班

    中国航天徽章(中国航天徽章设计内涵)