聊聊对大模型的一些看法


MLNLP社区是国内外知名的机器学习与自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。
社区的愿景是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。转载自 | 极市平台

作者丨杨军@知乎

来源丨https://zhuanlan.zhihu.com/p/607680446

ChatGPT的火热带起了一股对LLM的讨论,也有很多国内的大厂在努力希望能追上这一股技术的潮流,而一个LLM模型的需要多少资源条件,我们与美的差距在哪,需要先对现实条件进行认知,但是相信我们已经在路上。最近关于大模型(这里主要指LLM,即Large Language Model)的讨论足够多了,不再对背景进行赘述,可以直接参考这里(https://www.nvidia.com/en-us/deep-learning-ai/solutions/large-language-models/),还有这里(https://en.wikipedia.org/wiki/Wikipedia:Large_language_models)的一些背景介绍。很长一段时间,我对于大模型带来的业务价值持有一种"信念上的认同,现实上的怀疑"的态度(其实我所知道的国内不少大厂里技术团队资源分配的决策者对于大模型也持有类似的态度,所以在看不到明显短期收益的情况下也显著影响到了对这个方向的投入的强度)。信念上的认同是因为我确实一直认可通过超级算力以及大规模数据的统计拟合,能够对现实世界进行更准确的刻划,进而让AI具备越来越强大的能力。现实上的怀疑是因为在自己有限的从业经历里,或直接经历或间接听到看到的,有太多用大模型来做宣传,但没有真正诉诸落地的case,再加上自己的背景还是更偏系统多一些,对于没有看到充分证真的事物,还是会多了一些怀疑。所以自己一直在关注,从事相关的工作,但很大程度上,说这是一种技术信念驱动的,并不知道何时会开花结果的心理感受也不为过。毕竟自己没有处在最刀尖峰口要为大模型建模效果负责的位置,无论模型大小,都需要相当一部分相通的AI系统底层的支持,所以也能做的比较踏实和兴奋。去年出现的ChatGPT,确实更新了自己的认识。外行看热闹,内行看门道。虽然不是纯建模出身,但是对于评估一个AI模型能力的尺度还是会有一些自己的准则。逻辑链的把握,对长程上下文的捕捉和适应,以及生成语句的通顺度,这几点在自己试验过的大量的case里都得到了验证,于是自己对于大模型这个技术方向"现实上的怀疑"也开始被打消了。我曾经对ChatGPT这类技术(技术演进其实是有草蛇飞线,而不是断裂式的,ChatGPT背后的支撑技术,其实在两三年前都已经有了端倪,从最早的word2vec甚至更早的NNLM,再到近一些的InstructionGPT,甚至RETRO,都从不同角度为这一技术族的演进提供了基础材料,所以能够越过一个高光现象背后,去探究背后技术原理的演进,对于实际行业可能会有更大的帮助,避免高估,也避免低估)实际线上serving的计算成本做过一个大略的推算,以GPT3-175B模型为例,一台DGX A100 8卡服务器可以完成serving,所以用NV开源的FasterTransformer的推理性能作为参考,以Azure的8卡A100的服务器三年包年价格为基准(预付费更划算) ,参考这个链接(https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/)里头的NDm A100 v4 series),选取batch size为128, 输入文本长度=200, 输出文本长度=200的性能数字,最终计算下来生成1000个tokent的成本是大约是0.3美分( 10000月租 / 30天 / 24小时 / 3600秒 * 20秒推理延时 / (128 batch size* 200输出文本长度) * 1000 tokens) 的样子。这个估算会有上下浮动的偏差,比如1 平均输入(200)输出(200)文本长度的分布和真实情况未必相符。2 这里选取的batch size 128实际上是对成本更有利的一种配置,因为更有利于把GPU打满,而实时互动场景往往batch size为1,对应的serving成本会更高。3 OpenAI或微软内部的推理服务的大概率不是直接基于FT来完成的,所以这里的延时更多是一个近似参考,而非真实的业务延时数字。4 真实业务场景里可能在GPT3-175B模型之外,还可能引入了一些上下游的系统模块来保证推理效果(比如干预模块)以及减少推理成本(比如cache)。但这个成本大体和之前OpenAI提供的公开数字是相近的。所以,不考虑业务型态的演化,这3美分规模的成本,如果能够被其业务上带来的收益吸纳掉,就可以将这类技术不断进行扩展,对各行各业进行改造。这算是判断大模型技术应用于真实业务里可能带来的业务收益的一个成本底线思维。如果再来看一下大模型的训练成本,通常训练LLM,一个直观的计算尺度是以达到模型预期效果所需消耗的训练token数量为计算总任务需求,结合GPU上训练过程中的token吞吐能力,来计算在限定时间内完成一个满足要求的训练过程,需要多少块GPU,进而推算出需要多少成本。为了达到满意的模型效果所需的训练token数是一个建模问题,需要交给AI模型的专家来给出合适的答案。一个比较简便的参考是以公开资料为基础,比如NVIDIA Megatron-LM团队在2021年发表的这篇文章(https://arxiv.org/pdf/2104.04473.pdf)里针对包含175B参数的GPT-3模型,在包含300 Billion tokens的训练语料上只过一个epoch的E2E的训练时间大体上可以化简为6TP/nX(实际训练语料的epoch数量是一个有些tricky的混合体,部分语料会过多个epochs,部分语料不会过完整的epoch,不过从计算吞吐的角度,并不影响这里的推导,所以不再展开,感兴趣的同学可以自行检索GPT-3的原始论文,其中T是Token数(300B),P是参数数量(175B), n是GPU数量(这里设的是使用1024张80GB显存且支持NVLink互联的A100),X是GPU在训练过程中能达到的有效计算吞吐(以这篇论文的A100所能提供的有效计算吞吐为参考,是140TFlops,严格来说,这个数字不已经不再是这个方向的SOTA,但考虑到真实大模型训练过程中,模型结构的微调变化,训练过程的调整,都可能导致硬件计算效率打折扣,所以以这个2021年的SOTA数字为参考还算合理),注意这里我给的公式里的分母是6TP,而不是文章里的8TP,是因为文章里包含了为了优化显存的full recomputation的开销,这两年行业的技术进展,对于显存优化有过一些新的工作,所以我把这部分计算开销给去除掉了。按照这个计算公式,175B的GPT模型,在300B token的训练语料上完成一个epoch的训练需要26天的时间,这不包含任何长时间训练过程中出错的调试重启开销。我们再以上面Azure售卖链接中8卡A100服务器的租赁成本为基础,一台8卡A100的月租金在比较理想(比如三年包年)的情况下,租金是1W美金,为了能够在一个月完成一次完整模型的训练,所需要消耗的成本 > 128万美元/月。如果考虑到未必能拿到理想的三年包年的租赁价(因为一次性投入过高),改为一年一租,成本会上升到 > 256万美元/月。模型训练的过程,出现意外情况总是难免的,调模型结构,尝试不同的训练策略,以及数据集的变更,再加上大规模训练过程中不可避免的硬件故障,所以不考虑研发投入,在上述计算的硬件投入的基础成本上再乘以10% 的一个额外开销不算是非常过分的数字。再考虑到为了支撑这种规模的模型训练,还需要有一支比较精干的AI系统工程团队来完成分布式训练调优,系统容错处理、算子计算调优,并且要配合模型团队随着模型结构和训练策略的变化,对训练系统实现进行必要的调整,不妨按照一年一千万的人力成本投入来核算。这样算下来,保证一年能够充分进行模型训练迭代所需要的总成本大约是
[128 * 1.1 * 12 * 6.8(汇率) + 1000, 256 * 1.1 * 12 * 6.8(汇率) + 1000] = [1.2亿人民币,2.4亿人民币]
其中AI系统的人力成本只占其中不到10%的比例,实际上是一个很低的人力成本预估,如果再考虑到还需要经验丰富的AI模型训练专家的投入,一年下来总成本投入会继续增加。再考虑到1024张卡只能保障进行一组实验,如果为了进一步提升实验迭代效率,进行并行实验探索,增加一倍的硬件投入,一年的总成本会达到2亿到5亿之间的程度。这就是支持大模型技术探索所需要付出的成本规格。再考虑到数据采集标注的成本,以及要有足够的耐性给这支团队来进行无边界的试错探索,假定能够有5年时间在不考虑商业回报的情况下持续投入,那么整体下来的投入成本会达到10亿到25亿的规模。这已经达到了一家比较高潜的大芯片公司所需的投入规模了。在中国的环境下,如果真的想支持大模型这类技术工作,不论是投资机构,还是国家基金,做好五年30亿以上不计回报投入的准备,会是一个资金上的保底。我不知道有多少风投机构是有这种耐性和耐力。实际上,在我有限的阅历里,看到了不少风投一开始说支持情怀,随着时间推移,会对于变现和接盘退出呈现出越来越饥渴的要求,最终以各种方式干预到经营团队的执行过程,带来了不少困扰。这是支持大模型这类不确定性较强的技术,在整个行业层面所需要克服的了。假设能找到合适的资金投入,能够在经营回报上不设预期,并且能保障资金投入的规模满足运营要求,下一步的挑战就是人了。过去几年时间,国内在大模型上其实是有过比较多的工作的,但比较遗憾的是,大多数工作似乎还是停留在汇报和PR的阶段,能够像ChatGPT或Google的工作那样,可以拉出来进行各种角度的play的,还没有看到,或者能够拉出来评测的,效果还是有着明显的差距。而我知道的一些这个行业里比较资深的模型从业人士,似乎很多都因为背付了投资方的压力,更多考虑的是商业变现,而不是底层技术的创新和突破,这会比较让人担心最终在不确定性强的技术创新上的投入和坚持 。人才储备上相对确定性强一些的反而是AI系统领域的软件人才资源,是相对有保障的。但决定大模型成功最关键的部分,其实不在于AI软件系统,而在于AI建模方向细节的把握,包括数据集的选取设计,模型结构的拿捏,训练策略的考究,结合底层AI系统能力的全栈适配联合调优。缺乏了有强AI建模把控能力的顶层设计人员,会对大模型整体的推进效率有着重要的影响。假设无论是建模相关的人才,还是系统相关的人才,都找到了。更关键的一步是硬件资源了。这两年中美关系的演化,确实对于国内获得高端算力带来了越来越严峻的挑战(想象一下如果OpenAI/Cohere/Google/DeepMind在使用H100进行大模型训练,而国内只能使用H800或A800来进行大模型训练,会对整体训练迭代过程带来的影响)。从行业整体的维度来说,抽调出现有资源池里已有的2000甚至5000张A100计算卡资源(几大云厂商,以及政府背景单位的库存都还是能够腾挪出这种规模的资源的),是一件可行的事情,但如何进行行业层面的这个协调,如何把这些资源给到合适的技术团队,则是另一件事情了。我想,只有对上述挑战的客观性,有着清晰的认识之后,还愿意投入到这个方向,对这个领域才可能带来比较关键的帮助。很期望大模型技术在国内能取得更关键的突破和进展,也很不希望最近整个行业对大模型的反应过于躁动,把这个方向的发展潜力以一种不健康的方式过早消耗掉,反而影响到了后续的发展。我对美国的AI科研机制很欣赏的地方是,对创新试错的容忍的大环境,以及能够超越短期KPI的技术坚持(依赖于前者,机制上可能要上溯到《无尽前沿》法案那个年代打下的基础),再加上有真正hands-on的人来主持技术方向的演化(这一点很重要),这些因素在我看来,对于类似ChatGPT技术的产生起着至关重要的作用。我们还有不少方面需要追赶。也相信我们已经在路上。
技术交流群邀请函

△长按添加小助手

扫描二维码添加小助手微信

请备注:姓名-学校/公司-研究方向(如:小张-哈工大-对话系统)即可申请加入自然语言处理/Pytorch等技术交流群

关于我们

MLNLP 社区是由国内外机器学习与自然语言处理学者联合构建的民间学术社区,目前已经发展为国内外知名的机器学习与自然语言处理社区,旨在促进机器学习,自然语言处理学术界、产业界和广大爱好者之间的进步。社区可以为相关从业者的深造、就业及研究等方面提供开放交流平台。欢迎大家关注和加入我们。

相关推荐

  • ChatGPT的前世今生:OpenAI的技术「执拗」与「豪赌」
  • ChatGPT发展历程、原理、技术架构详解和产业未来
  • 特征平台:定义、架构、工作流程和开源实现概述
  • 这可能是Spring Boot Starter 讲的最清楚的一次了
  • 换上 HikariCP 连接池,太快了!
  • 一文了解微服务架构的分解设计
  • 美国毒火车事件已致近4.4万只动物死亡;未来不少大学将因人口减少关停;村支书非法占有孤儿生活补贴五年......|酷玩日爆
  • 老丈人能有多瞧不上女婿? | 每日一冷
  • 征服全球的造纸巨头,为何败走中国?
  • 为什么新加坡人均八万美元了,却并不让人神往
  • 让《三体》从科幻片变成纪录片,怎么做?
  • 不骗你,我的「衣柜」能自动烘干!
  • 官方通报县长涉嫌猥亵他人;“波音再次暂停交付”!;美国俄亥俄州列车脱轨事故首份报告出炉 | 每日大新闻
  • 等比微缩复刻的《千里江山图》《清明上河图》,我们搞到了故宫盖章版!
  • 中国女权的日本偶像,主要负责向中韩兜售“反思券”?
  • 大语言模型: 新的摩尔定律?
  • 详解Redisson分布式限流的实现原理
  • 解决2900个漏洞,Google奖励白帽子1200万美元
  • 中国开源社区健康案例——OpenCloudOS操作系统开源社区
  • 微软WPF 2023路线图发布:无法交付所有3项关键性功能