昆仑芯科技王志鹏:大模型趋势下,AI芯片公司的机会在哪里?
芯见闻 发布于 2023-03-24 18:30
近日,ChatGPT及大模型技术大会于北京成功举办。大会汇集了来自大模型及相关领域的著名专家、学者和企业高管,围绕研究、开发、落地应用三个角度,深入探讨了大模型技术以及中国版ChatGPT的未来。
随着大语言模型的发展,通用人工智能能力涌现,对AI算力提出新需求。昆仑芯深刻理解场景需求,持续打磨优化大模型部署方案,沉淀出大语言模型推理优化的三步走策略,为客户提供更多降本增效的解决方案。未来,昆仑芯将持续关注ChatGPT等科技前沿动态,精准匹配市场需求,为大语言模型推理优化与产业落地提供强大算力支撑。
昆仑芯科技研发总监王志鹏
本篇以下内容整理于昆仑芯科技互联网行业研发总监王志鹏题为《昆仑芯大模型推理优化与应用实践》演讲实录。
本文篇幅较长,以下为整体脉络图,以便辅助阅读。
大家下午好!我是昆仑芯科技王志鹏。大模型算法能力提升的背后,核心是大数据+大算力的关键支撑。接下来我将从算力供应者的视角,分享大模型趋势下,昆仑芯在大语言模型场景的优化技术与落地经验,以及对大模型未来趋势的判断与思考。
大模型趋势下的核心算力需求:单一超大模型的scale能力
大语言模型本质上依然是语言模型。语言模型的定义非常简单,即根据输入的文本,语言模型会预测下一个字出现的概率,通过不断循环预测完成整句输出。
语言模型技术发展这么多年,为什么直到ChatGPT出现,它才真正做到基于一个大模型底座完成众多下游任务,且已超过传统NLP算法的SOTA效果?
这就不得不提到大语言模型背后,通用人工智能能力的涌现。
从芯片行业的关注视角来看,通用人工智能能力包括情景学习能力和指令学习能力等,其中最重要的是Few-Shot Learning能力和Zero-Shot Learning能力,已经在很多场景中替代了Finetune,成为生产NLP下游任务的新范式。
从算法工程师的角度看,在大模型底座出现之前,一个15-20人的算法团队每一位同学都在NLP完整业务中负责几个小模型的训练、精调、数据优化,甚至模型结构的调整。随着大模型底座的出现,算法调优的工作不再被需要。
从芯片供应商角度看,最大的变化是什么?以前,我们需要面对Finetuning后的上百个小模型,进行部署、性能优化和工程适配等工作。而接下来,我们则需要首先重点关注大模型底座的核心需求。
因此,无论是产业链哪个环节的从业者,大家都必须快速调整心态,并拥抱大模型带来的变化。
从算力角度观察,底座大模型的发展趋势有两个主要特点:
第一,模型的参数规模、模型算力的需求持续增大;
第二,模型结构高度统一。比如GPT系列就始终是Transformer Decoder的结构。
总结来看,大模型趋势下的核心算力需求就是单一超大模型的scale能力。
昆仑芯大语言模型推理优化实践和当前进展
围绕大模型,昆仑芯的推理优化思路分三步:
第一步,单卡基建。先解决单卡层面模型的适配和软件基建,这一步基本上搞定了百亿体量在单卡模型上的推理,而且性能非常好,为千亿推理打好了基础。
第二步,分布式基建。基于单卡基建,把百亿模型的推理快速scale到千亿模型部署,其中会用到很多并行推理技术。
第三步,深入场景优化。在大规模真实部署落地的过程中,深入场景的优化才能真正帮助客户节省成本。
后面我会围绕这三步策略展开分享。
第一步:单卡基建搞定百亿推理
单卡基建,核心是围绕Transformer Decoder做深入优化。针对这类模型的优化,我们已有一年多的积累,昆仑芯在翻译、对话等生成类场景已经大规模上线部署。
由于Transformer Decoder模型的特殊性,它的自回归循环结构,对底层AI软硬件带来了一系列技术挑战:
第一,循环计算和缓存管理等,会增加和推理引擎的集成成本;
第二,循环自回归计算,会出现大量小规模算子,需要针对性优化;
第三,自回归解码过程中,存在大量重复计算,导致性能低下。
基于以上问题,我们在技术路径上直接采用大算子fusion的实现方案,早期先剥离于主流框架,在我们自身硬件上快速迭代优化,优化后的性能较初始版本收益提升5倍以上。
针对Decoding优化的技术包括标准图层面优化、自动的Autotune、Attention优化等。
而针对Transformer Decoder这一类特殊的模型,它需要有一个K/V_cache,简单的思路是用空间换取时间,用更多显存开销减少大量重复计算,这对性能优化非常关键。
这一系列优化做完,我们在百亿模型场景下的基建已经基本完成。
第二步:分布式基建搞定千亿推理
完成第一步单卡基建后,第二步的目标是扩展到支持千亿模型。
支持千亿模型推理的第一个挑战就是显存。很多业内主流大模型,目前都用单机8卡的高端训练卡来完成。这是因为训练卡单卡的显存最大有80G,但当前市面上主流推理卡的显存很多是24G。
为了解决显存不足的问题,必须依赖模型并行技术,思路是把一个大的模型参数分布式存放在不同的卡上,然后进行分布式计算,在计算过程中加入数据通信,最后完成大模型的推理过程。
模型并行技术中较为常用的是Tensor并行和Pipeline并行。两种并行技术都是通过切分参数,将模型参数分布式存储在多个设备上,区别在于切分发生的位置。
底层通信库优化,也是分布式基建的重要工作之一。但大模型推理和训练在需求层面的不同,决定了底层通信库优化方向的不同。大模型推理非常看重时延,而训练更看中整体的吞吐。在大模型的实测中,推理过程的数据交互频次非常高,但单次交互数据量很小,只有十KB到几十KB,而对训练来说则相反。
第三步:结合业务场景深度优化
做完了分布式推理的基建后,整机单机多卡系统已经可以放下千亿级别的大模型,接下来的工作是真正深入业务场景,在真实的数据集上做进一步优化。(优化细节可查看《昆仑芯大模型推理优化与应用实践》Encoder优化部分)
第一类是变长序列优化。在很多真实数据业务场景下,变长序列优化后的方案能够帮助客户提升2倍以上性能。这种精度无损的推理优化方案,需要依赖于推理框架、算子层面及硬件的能力,如果能100%消除无效计算,就能帮客户节省1半的成本。
第二类是INT8量化。通过这种优化方案,我们已经帮助客户节省了几千张推理卡的成本收益。在大模型场景中,其首要挑战不在于性能,而在于显存能放下多大的模型。因此,INT8 Weight Only量化技术很关键,它的原理是用INT8存储模型权重,在计算时还原成FP16,实现显存减半、精度损失减小、整体性能提升。但是,任何低比特的计算都可能对推理精度造成损耗,最终能不能在线上大规模使用,也要看业务实测的效果。
我们完成了上述三步优化之后,已经将相关技术沉淀为昆仑芯XPU Fast Transformer加速库,提供给所有的用户,并已与飞桨PaddlePaddle等主流框架完成了兼容适配,方便后续客户的快速验证和接入使用。
大模型趋势下,AI芯片公司接下来的关注重点
作为一家芯片公司,需要对市场的需求和变化非常敏感,才能使硬件产品始终精准匹配主流需求。接下来分享一下我们在大模型趋势下的关注点。
大模型参数未来的临界规模
我们要重点关注两个问题:1)什么样的场景下会大规模涌现人工智能能力?目前来看,大概是百亿上下,最小的可能是70亿;2)当前产业真正大量部署的参数规模,例如GPT-3.5上的是1750亿。这两个关键的临界规模,也会随着算法发展动态变化,所以需要保持密切关注。
ChatGPT最新的产品和技术
ChatGPT的核心技术突破,对产品的研发方向有关键指导意义。比如,在很多场景中,情景学习已经开始代替Finetune,Finetune是种训练行为。但是,芯片在适配训练场景和适配推理场景时,生态构建思路与投入资源都不一样。所以情景学习场景出现后,以Prompt为代表的推理算力需求会增加,而以Finetune为代表的训练算力需求会减少。
那么,是不是Finetune就不重要了?不是,OpenAI官方商城中也有针对Finetune的完整工具链和相关产品。针对千亿大模型,怎么以参数有效、低成本的方式做Finetune,我们也在持续关注。
指令学习会带来生产范式的变化,在未来的真实业务场景中,大语言模型具备了在不同种类NLP任务上的Zero-Shot的应用泛化能力。显而易见,硬件公司应该把需求重点放在大模型上。
思维链和硬件有什么关联?简单来看,如果大模型具备很强的思考和推理能力,就不需要无限增大参数规模,而是依赖推理能力+领域专家知识,去寻找正确答案。这在某种程度上打破了模型越大效果越好的Scaling law,对硬件产品的设计也有指导意义。
数据来源:OpenAI官方模型商城
OpenAI官方的模型商城也需要重点关注。
首先是推理成本。推理成本对于所有硬件公司来说都是硬性门槛,如果我们的成本做不到比别人低,就要考虑是否对模型规模判断存在问题,是否要停止项目,这是非常有指导意义的。
例如,OpenAI在发布GPT-3.5的同时,还发布了一个很重要的模型,GPT-3.5-turbo,官方宣称这个模型与text-davinci-003相比,推理成本可降低90%,这就形成了很强的商业壁垒。
第二个是Max Tokens。Max Tokens随着客户的真实需求不断增长,因此硬件与软件都要考虑到极限计算能力、性能门槛等。
第三个是模型能力。比如GPT-4不仅具备文本生成能力,还具备多模态能力,因此大模型的市场应用范围也随之扩大,我们要对大模型技术予以更多的关注。
Action-Driven LLM
在未来真实业务场景中,大模型被作为核心的任务分析和调度器,重点负责理解和推理,在面对具体任务时,再接入各类专业的领域任务处理器来配合完成。
举个例子,当我想问一个大语言模型:距离今年的圣诞节还有几天?有一个方法是,大模型先问搜索引擎今天是几月几号,再问圣诞节是几月几号,最后拿这两个结果调用数学模型完成计算。
ChatGPT对大家来说是个黑盒,但如果这个技术趋势成为主流,它的AI范式会和统一超大模型很不一样,因此需要重点关注。
大模型产业中,AI芯片公司的机会在哪里?
大模型产业分为基础层、中间层和应用层。作为一个提供AI算力的芯片公司,我们的机会在哪里?
首先,基础层,包括少数的大科技公司、科研机构、高校等,他们有算力,有算法,有数据,能够做基础大模型的预训练。同时,如果商业化成功,也需要大量的推理资源。
其次,中间层。行业大模型落地过程中,国内很多客户的数据不能在公网传播,需要私有化部署。因此在定义硬件产品形态时,要考虑比较经济的整机方案,而不是集群化scale的硬件产品。
以上是我的分享。对更广义的大模型技术分享感兴趣的话,可以查看昆仑芯科技公众号往期文章,谢谢大家!
现场提问
观众:在大模型推理场景,如果进行INT8量化,会不会对大模型的业务效果产生负面影响?
王志鹏:在当前大模型的应用场景,早期在推理资源层面多少有些不计成本,但是随着产品部署规模的扩大,成本问题会更加凸显。所以,INT8量化的显存优化技术应用时间也被提前。在极大的成本压力面前,损失非常少量的业务效果也会成为客户的合理选择。
观众:国内的芯片产业与国外有多大差距?当前发展过程中,哪个环节是最困扰我们的?是技术层面还是生态层面?
王志鹏:我们已经服务了近百家客户,在各类场景为客户推出了降本增效的解决方案。在生态建设方面,客观来讲我们与国外领先企业还存在一定差距。然而,大模型发展趋势下,只要坚持大方向不动摇、始终抱有信心,脚踏实地推动技术发展与产品迭代,我们的芯片产业将迎来前所未有的机遇。
昆仑芯公众号
扫码关注昆仑芯科技公众号