1. 首页 > 头条 > 百货快讯

大模型落地应用指北

一、大模型概述

1.什么是大模型

本文的大模型特指的是大规模数据训练得到的预训练模型,对于大模型,2021年8月李飞飞联合100多名专家发布了一份研究报告《On the Opportunities and Risk of Foundation Models》,他们将大模型统一命名为 fundation model,也可以称之为基石模型,属于深度学习的一种。此外,从命名就可以看出,大模型的研究已经在AI 领域形成了里程碑式的影响。

那么什么样的模型可以称为大模型,应可以包括3个方面:模型的参数规模大、模型训练用到的数据规模大模型训练用到的机器更多 。

参数规模大(一张卡搞不定):其中参数规模主要与传统的深度学习模型进行比较,传统模型参数量最多也就是百万,而预训练模型则一下子直接突破到了亿这个级别,在此后的模型参数的规模增长呈现了一种指数级的跨越式增长,并且能够实现效果的持续提升。

图1:模型数据量增长趋势

思考:模型是不是越大越好,模型越来越大是不是趋势?

2021年,一整年整个行业都在鼓吹大模型效果,OpenAI在20年5月发布了GPT-3之后仿佛打开了潘多拉魔盒,放出了所有人训练更大模型的“贪欲"。21年1月Google1.6万亿的Switch transformer,6月智源1.75万亿的悟道2.0,11月阿里10万亿的M6。

2021年12月28日,阿里达摩院在《达摩院2022十大科技趋势》提出大模型的性能与能耗提升不成比例。在2021年12月,百度发ERNIE3.0 Titan,模型的规模只有千亿级别。显然模型参数的增量也已经进入了瓶颈期,以参数量的提升来提高模型效果这条路不好走了。大模型整体已经从单纯的拓展参数规模,开始卷向拓展任务复杂程度,提高数据质量与数量。

数据规模大(一台机器处理不完):2018年的 BERT模型,使用了BooksCorpus (单词量 800M),English Wikipedia (单词量 2,500M)进行训练,总体数据量在GB级别,然而到了中文领域,数据量直接飙升到了TB 起步,其中悟道2.0用了3TB 数据,ERNIE3.0用了4TB 数据。

图2:模型训练数据量增长趋势

具体来说,模型应该具备多少参数规模、使用多少数据进行训练,才能称之为大模型?目前业界并没有具体的定论,只要符合具备足够多的模型参数,能够蕴含足够多数据的信息的模型,都可以称为大模型。而超大规模的模型,一般情况下是以GPT3作为标杆,通常超过百亿级别的模型都可以认为是超大规模的模型,这类模型,单机单节点已经无法满足处理要求了。

2.大模型怎么用

自2018年NLP 领域 BERT提出之后,AI 应用进入了一个新纪元。训练范式不再是从使用数据直接训练出模型这样一对一(数据A1对应模型A1)的关系。而是使用“预训练+微调”范式,即提前使用大量无监督数据A2进行训练,得到预训练模型A2(Pretrained Model),然后在不同领域使用数据(B1、B2等),通过对 A2模型在不同类型任务上进行微调可以得到 (B1、B2等)模型的范式,大致方式如下:

图3:fundation model 下游任务应用

当然在上一小节,也说到大模型一台机器训练不了,一张卡放不下。因此,目前大模型更多的是离线应用,在线应用上,还需要考虑知识蒸馏和低精度量化等模型压缩技术、项目实时性等一系列复杂的项目难题。大模型基本形成了一种AI能力的公共基础组件,结合一个或者多个助教模型实现大模型知识的蒸馏学习,实现垂直领域模型的快速定制。

二、大模型的趋势与应用

1.大模型相关政策与发展趋势

2021年12月,国务院印发《“十四五”数字经济发展规划》,指出要增强关键技术创新能力,提高数字技术基础研发能力,加快创新技术的工程化和产业化。而大规模预训练模型属于人工智能新基建领域新兴并快速发展的热点方向之一。

2021年12月,国内超大预训练模型飞速发展。在《2022达摩院十大科技趋势》中,达摩院将其称作“从弱人工智能通向人工智能突破性的探索”。

2022年1月,中国信通院《AI 框架发展白皮书》中提出“AI 框架将着力强化对超大规模 AI 的支持”。同期发布的《AI人工智能白皮书》中指出,超大规模预训练模型也在推动技术效果不断提升,继续朝着规模更大、模态更多的方向发展。

2022年1月,百度研究院发布2022年十大趋势预测,其中超大规模预训练模型居首位,百度表示超大规模预训练模型将逐渐朝着实用化方向发展,呈现知识增强、跨模态统一建模、多学习方式共同演进的趋势。

2022年4月,中国信通院启动大模型系列标准编制工作,从大模型的开发、能力、应用和安全可信等方面进行评估,建立和完善大模型技术和应用评估方法标准体系。

从上面可以看出,在超大规模预训练模型是AI 技术发展的大趋势上基本达成了共识。而工业界,普遍认为超大模型逐步向多模态、实用主义发展。

2.大模型的落地应用分析

相对于一般的厂商来说,云厂商去实现大模型具备了一定的优势,因此可以看到各大云厂商都具备对应的大模型,并且大模型的相关应用也越来越卷,简单罗列了一下几大云厂商的应用关系如下:

图4:部分厂商大模型应用

整体来看,云厂商使用大模型主要有2个层面的应用考虑:

一是提高生产力:包括普适性 AI 应用,即使用大模型完成小模型的快速定制,另外就是快速的将大模型使用到现有产品中去,包括智能问答、服装设计等场景,在不断的使用大模型探索应用的边界。

二是提高影响力:包括可以依赖大模型宣传一波自己的框架(百度的 PaddlePaddle、华为的 MindSpore);借助大模型刷榜,挑战人类智能极限(中文的 CLUE,英文的 GLUE 等);开发出各种好玩但不一定赚钱的应用(AI 写诗、AI 作画,展会特别好用),也许某一天就可以变现了。

三、大模型实现分析

此处只是对大模型的实现进行一个简单的分析,有不靠谱之处敬请谅解。总的来说,如果要吃下大模型大概可以分为数据、技术、资源三个层面进行展开,以下对大模型的整体可行性进行初步的简单评估。

1.大模型训练框架分析

目前大模型对于 Trillion 级别的模型还是很难基于单一模型实现的,超大模型基本都是一些混合模型,而理论基础基本都是基于 Google 提出的 MoE 的理论以及对应的改进。

而对于1T以下的大模型来说,国内目前只有 PaddlePaddle、MindSpore、OneFlow等少数国产框架支持分布式大模型训练,其他的基本都是基于 Tensorflow 或者 Pytorch 的基础上进行开发的分布式框架。也因此,目前大规模分布式模型支持的最好的还是 GPU。除了华为的 MindSpore 是可以支持华为本身的昇腾芯片之外,对于原生芯片的支持目前来看并没有那么好(目前的训练芯片的支持情况均从相关论文以及开源代码中进行梳理)。

图5:部分大模型框架支持情况

目前来看,除了以上整理的框架之外,国内还是有非常多的优秀框架能够完成大模型训练任务的,包括智源提供的OpenBMB、火山引擎(字节)veGiantModel 等框架都可以实现大模型的训练任务,因此模型的训练框架选择还是比较多的,因此在2022年的今年,只要有数据,大模型训练再也不是瓶颈,条条大路通罗马。

2.大模型训练瓶颈分析

从2017年Transformer结构的提出开始,目前模型参数一个比一个大,从图上看,超过10亿参数规模的数据就已不是一张 GPU 卡能够训练优化的了,更大的模型(GPT3、T5)等模型就更别说了。如下图,每隔2年硬件显存大概增长了2倍,但是大模型参数量已经增长了超过240倍。

图6:硬件与模型增量

目前大模型训练框架虽然提出了模型并行、数据并行、流水线并行等多种策略来降低单一节点上显存的占用,从而实现分布式模型的训练,甚至最后衍生出ZeRO这样通过计算时间换空间的降低单一节点显存使用的极致方案,但是大模型的训练依然存在一定的瓶颈。

图7:大模型的并行训练机制

随着数据和模型的不断增大,主要会触碰到两方面的瓶颈,大数据和大模型所产生的显存墙问题(模型是否能跑起来)以及计算墙(能否在合理时间内完成训练)问题。

显存问题:如果不考虑 ZeRO这样极端的参数优化方案,以GPT-2为例,参数量为1.6B,使用Adaw 优化器、以及混合精度进行训练,实际显存占用大约为16倍fp16的参数量,训练时显存占用约为24G(正好一张P40),哪怕使用了一些优化方案。比如,华为盘古大模型使用参数量为200B,实际使用显存约为3500G。

计算问题:OpenAI通过估算,端到端训练一个万亿参数的模型大约需要 5000 ZFLOPs(即 5 后面带有 24 个零)。不考虑显存、调优等问题的话,训练这样一个模型需要 0 张 A100 以 50% 的计算效率运行大约 100 天。哪怕 BERT 这样的基础模型,训练时间也相当长(以天为单位),下面提供的是关于 BERT 模型在微软 DeepSpeed 上的训练时间。

图8:微软 DeepSpeed 上 BERT 的模型训练时间

四、大模型落地分析

大模型要落地,主要从数据、技术、资源、应用上进行分析,并梳理出对应的问题

图9:如果要用大模型应该关注的问题

Problem&Task

数据

1、开源数据集200GB+,包括智源等等都有相关数据可用于训练。

1、数据质量过滤:数据质量参差不齐,需要进行清洗。

2、敏感数据过滤:部分数据存在敏感信息,需要进行脱敏处理。

技术

1、各种语言都存在各种分布式训练框架,可快速进行模型训练。

1、超大模型的分布式推理框架( PaddleServing v0.9.0 刚刚支持了)。

2、超大规模模型如何进行增量训练。

3、超大模型如何有效蒸馏到小模型。

4、超大规模模型训练时间太长,如何选择可靠的训练框架。

资源

1、如果只有一张GTX3080就不想了,如果有2张,也许还是能够试一把的。

1、各大云厂商都有免费资源可以薅,比如百度的算力卡(参与比赛获得),移动云的九天深度学习平台(首次注册300小时)。

应用

1、高价值场景主要为进行快速模型定制,目前这样的场景较少,且模型训练成本较高,一个人搞的话,其实很困难。

2、有趣场景的定制(AI 作诗、AI 写文章),定制成本较低,数据也比较好获取,这个倒是非常适合低成本场景。

五、总结

总体来说,大模型是目前算法技术发展的趋势,大模型可以让数据发挥出更大的价值,大模型可以贯穿数据、平台、业务多个层面的应用。

在技术可行性方面,如果只有一张 GTX3080,对于训练10B 以上的模型还是做不到的。在最优的情况下,应该可以实现1B左右的大模型的训练与优化(当然时间会非常久)。另外,考虑到性价比,如果真的要做大模型还是应该以垂直领域的模型为主。

六、参考文献

[1] AI and Memory Wall

[2] 【预训练大模型】智源大会,预训练大模型落地路

[3] 达摩院十大科技趋势

[4] 大模型的发展与解决的问题

[5] AI框架必懂的AI系统知识

[6] A Roadmap for Big Model

[7] 清华刘知远:大模型「十问」,寻找新范式下的研究方向

[8] 达摩院大模型技术交流会

[9] AI 框架发展白皮书

[10] 人工智能发展白皮书(信通院)

[11] 百度研究院发布2022年十大科技趋势

[12] 大规模训练系列之技术挑战

本文转载自​​,作者:

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://www.jmbhsh.com/baihuokuaixun/33164.html

联系我们

QQ号:***

微信号:***

工作日:9:30-18:30,节假日休息