大模型
1.大模型简介-什么是大模型
2017年Transformer结构的提出,使得深度学习模型参数突破了1亿。深度学习的神经网络从Lenet、Alexnet、ResNet开始,模型参数一个比一个大,到了BERT网络模型的提出,使得参数量首次超过3亿规模,GPT-3模型超过百亿,鹏程盘古实现千亿稠密的规模、Switch Transformer的问世还一举突破万亿规模。
AI专家将大模型统一命名为Foundation
Models,可以翻译为基础模型或者是基石模型,论文肯定了Foundation Models对智能体基本认知能力的推动作用,同时也指出大模型呈现出「涌现」与「同质化」的特性。所谓「涌现」代表一个系统的行为是隐性推动的,而不是显式构建的;「同质化」是指基础模型的能力是智能的中心与核心,大模型的任何一点改进会迅速覆盖整个社区,但其缺陷也会被所有下游模型所继承。
以GPT系列为例:
1)GPT-1是上亿规模的参数量,数据集使用了1万本书的BookCorpus,25亿单词量;
2)GPT-2参数量达到了15亿规模,其中数据来自于互联网,使用了800万在Reddit被链接过的网页数据,清洗后约40GB(WebText);
3)GPT-3参数规模首次突破百亿,数据集上将语料规模扩大到570GB的CC数据集(4千亿词)+WebText2(190亿词)+BookCorpus(670亿词)+维基百科(30亿词)。
[if !vml]
[endif]
可以看到,数据上面,每一代均相比前一代有了数量级的飞跃,无论是语料的覆盖范围、丰富度上都是绝对规模的增长。可以预测到,下一代万亿模型,使用的数据如果相比GPT-3在质量、来源和规模上没有量级的变化,很难有质的提升。
大模型在产学各界掀起一阵阵巨浪,背后彰显的除了分布式并行和对AI算法的掌控能力,还是一次大公司通过AI工程的创举,利用大规模AI集群来进行掰手腕的故事。随着网络模型越来越大,单机单卡、一机多卡、甚至多机多卡的小规模集群,只要网络模型参数量一旦超过十亿以上的规模,就很难用现有的资源训练了。于是有的研究者就会提出质疑:一味的让模型变大、让参数量爆炸式增长,真的能让AI模型学习变得更好吗?真的能带来真正的智能吗?甚至有的同学还会挑战,小学数学题都解不好?生成的文字内容不合逻辑?给出的医疗建议不靠谱!
目前类似于GPT-3这样的大模型,在零样本和小样本的学习能力,主要来源于预训练阶段对海量语料的大量记忆,其次是语义编码能力、远距离依赖关系建模能力和文本生成能力的强化,以及自然语言进行任务描述等设计。而在训练目标方面,并没有显式的引导模型去学习小样本泛化能力,因此在一些小众的语料、逻辑理解、数学求解等语言任务上出现翻车的现象也是能理解的。虽然大模型刚提出的时候,质疑的声音会有,但不可否认的是,大模型做到了早期预训练模型做不到、做不好的事情,就好像自然语言处理中的文字生成、文本理解、自动问答等下游任务,不仅生成的文本更加流畅,甚至内容的诉实性也有了显著的改善。当然,大模型最终能否走向通用人工智能仍是一个未知数,只是,大模型真的是有希望带领下一个很重要的人工智能赛道。
2.大模型的作用
下面显示了深度学习技术在ImageNet图像数据集,随着新模型的提出,准确率不断取得突破的趋势。右图显示在网络预训练模型出来以后,机器对自然语言理解能力的不断提升。
虽然深度学习使得很多通用领域的精度和准确率得到很大的提升,但是AI模型目前存在很多挑战,最首要的问题是模型的通用性不高,也就是A模型往往专用于特定A领域,应用到领域B时效果并不好。
1) 模型碎片化,大模型提供预训练方案
目前AI面对行业、业务场景很多,人工智能需求正呈现出碎片化、多样化的特点。从开发、调参、优化、迭代到应用,AI模型研发成本极高,且难以满足市场定制化需求,所以网上有的人会说现阶段的AI模型研发处于手工作坊式。基本上一个公司想要用AI赋能自身的业务,多多少少也得招聘懂AI的研发人员。为了解决手工作坊式走向工场模式,大模型提供了一种可行方案,也就是“预训练大模型+下游任务微调”的方式。大规模预训练可以有效地从大量标记和未标记的数据中捕获知识,通过将知识存储到大量的参数中并对特定任务进行微调,极大地扩展了模型的泛化能力。例如,在NLP领域,预训练大模型共享了预训任务和部分下游任务的参数,在一定程度上解决了通用性的难题,可以被应用于翻译,问答,文本生成等自然语言任务。
NLP领域的大规模预训练模型可谓是发展快速,从 BERT 到 GPT-3,再到万亿规模的 Switch
Transformer,无论是模型大小、数据量,还是计算资源占用都在疾速增长。规模大到什么程度呢?GPT-3的参数量达到了 1750 亿,训练数据超过了 45TB,需要的算力Flops是 BERT 的 1900 多倍,3.14E23 FLOPS。在惊人的数据量和可怕的网络模型参数下,在实际NLP榜单SuperGLUE,在该基准上 FLOP-matched Switch Transformer 相比 T5-Base 和 T5-Large 的性能分别提升了 4.4% 和 2%。整体而言,Switch Transformer 模型在多项推理和知识任务中带来了显著性能提升。这说明该超大模型架构不只对预训练有用,还可以通过微调将质量改进迁移至下游任务中。
2)大模型具备自监督学习功能,降低训练研发成本
大模型的自监督学习方法,可以减少数据标注,在一定程度上解决了人工标注成本高、周期长、准确度不高的问题。由于减少了数据标准的成本,使得小样本的学习也能达到比以前更好的能力,并且模型参数规模越大,优势越明显,避免开发人员再进行大规模的训练,使用小样本就可以训练自己所需模型,极大降低开发使用成本。
2018年Bert首次提出,便一举击败 11 个 NLP 任务的 State-of-the-art 结果,成为了 NLP 界新的里程碑,同时为模型训练和NLP领域打开了新的思路:在未标注的数据上深入挖掘,可以极大地改善各种任务的效果。要知道,数据标注依赖于昂贵的人工成本,而在互联网和移动互联网时代,大量的未标注数据却很容易获得。
3)大模型有望进一步突破现有模型结构的精度局限
从深度学习发展前10年的历程来看,模型精度提升,主要依赖网络在结构上的变革。例如,从AlexNet到ResNet50,再到NAS搜索出来的EfficientNet,ImageNet Top-1 精度从58提升到了84。但是,随着神经网络结构设计技术,逐渐成熟并趋于收敛,想要通过优化神经网络结构从而打破精度局限非常困难。近年来,随着数据规模和模型规模的不断增大,模型精度也得到了进一步提升,研究实验表明,模型和数据规模的增大确实能突破现有精度的一个局限。
以谷歌2021年发布的视觉迁移模型Big Transfer,BiT为例。扩大数据规模也能带来精度提升,例如使用ILSVRC-2012(128 万张图片,1000 个类别)和JFT-300M(3亿张图片,18291个类别)两个数据集来训练ResNet50,精度分别是77%和79%。另外使用 JFT-300M训练ResNet152x4,精度可以上升到87.5%,相比ILSVRC-2012+ResNet50结构提升了10.5%。
虽然目前为止,大模型主要是以NLP为主,因为NLP抛弃了RNN序列依赖的问题,采用了Attention is All you need的Transformer结构,使得NLP能够演变出更多大模型。但是在最新的研究当做,图像领域也不甘示弱,CNN大模型也开始陆续涌现。例如ResNeXt WSL拥有8亿参数、GPipe拥有6亿参数规模,Google也通过EfficientNet-L2发布了4.8亿参数规模的网络模型,并且在JFT-300M数据集刷新了ImageNet的榜单,Top-1 Acc首次突破90。要知道在2020年,也就是1年前,大部分CNN网络模型规模都没有超过1亿,Top-1 Acc最高在87-89之间。
3.大模型典型应用案例
3.1数字人-自动手语生成
既然大模型能突破训练精度的极限,还能够兼容下游任务。那有没有一些具体的应用场景介绍呢?智源研究院针对2021年北京冬奥会,提出了“悟道”大模型用于冬奥手语播报数字人,提供智能化的数字人手语生成服务,方便听障人士也能收看赛事专题报道,提升他们的社会参与度和幸福感。这个项目还得到了北京市残疾人联合会和市残联聋人协会的大力支持。
3.2图像标注
华为盘古CV大模型主要是针对无人机电力智能巡检这个场景,以国网重庆永川供电公司为例,无人机智能巡检开发主要面临两个挑战:一是如何对海量数据进行高效标注;二是缺陷种类多达上百种,需要数十个AI识别模型。盘古CV大模型在数据标注方面,利用海量无标注电力数据进行预训练,结合少量标注样本进行微调,使得样本筛选效率提升约30倍,以永川供电每天采集5万张高清图片为例,可节省人工标注时间170人天。在模型通用性方面,可以做到一个模型适配上百种缺陷,替代原有20多个小模型,减少了模型维护成本,平均精度提升18.4%,开发成本降低90%。
3.3智能客服
双十一是淘宝系统服务最繁忙的一天,如何有效地应对成千上亿的用户咨询?基于达摩院开发的M6大模型智能生成内容文案,方便智能客服进行上下文理解和问题回答生成。另外大模型的多模态特征提取能力,也能进行商品属性标签补充、认知召回等下游任务。
3.4聊天机器人
最具代表性的OpenAI研发的聊天机器人ChatGPT。是按照OpenAI官方的说法“我们已经训练了一个名为ChatGPT 的模型,它以对话的方式进行交互。对话模式使 ChatGPT 能够回答连续的问题、承认错误、质疑不正确的前提并拒绝不恰当的请求。ChatGPT 是InstructGPT的兄弟模型,InstructGPT模型被训练为遵循对话中的指令并提供详细的响应。
ChatGPT是基于GPT3.5优化的一个模型,可以理解为是一个通用聊天机器人。根据 OpenAI 的说法,GPT-3.5通过吸收大量来自网络的内容,包括成千上万的维基百科条目、社交媒体帖子和新闻文章,来学习句子、单词和部分单词之间的关系。
读者可以发挥自己的想象力,去让ChatGPT完成很多奇思妙想的任务。例如让它用鲁迅的口吻写总结报告,用金庸的笔法写文案等。
3.5文本生成
编写新闻文稿、内容创作。大模型在创造性写作任务中表现尤为突出,甚至可以一步步打磨其作品。这些写作任务包括头脑风暴任务、故事/诗歌生成、演讲生成等。
3.6编程辅助
大模型chatGPT可以完成代码编写任务,目前掌握的编程语言python、goLang(go)、Java、C++、C、前端编程语言html、CSS、JavaScript,也可以编写单片机程序编写。
Google安排“面试ChatGPT”,发现它的编写程序能力已和Google三级工程师实力相当。内部文件透露,即便三级工程师被认为是Google工程团队的入门级职务,但也不是一项简单的工作,ChatGPT仍可胜任平均年薪18.3万美元的职位。