AIGC时代,如何在IPU上部署经济且高效的GPT模型?
三月,OpenAI在继ChatGPT之后重磅推出GPT-4,且以每千token 0.002美元的价格发布ChatGPT API,直接将AI推至“iPhone时刻”,不仅刷爆了大家的朋友圈,也在各行各业中有了初步的应用探索,大规模生成式模型也正在进行从玩具到生产力工具的华丽转型。AI商家一边惊叹GPT-4的“超能力”,一边捂紧口袋,直呼买不起。
AIGC模型令人激动无比,但是对于模型开发者和相关服务的提供商来说,AIGC模型的商业部署应用仍然是首要问题。如何找到经济适用的GPT版本来部署到商业应用场景中,转换成生产力,成了大家在舆论热潮中沉淀下来,在现实世界中需要考虑的。
溯源GPT
2018年,OpenAI发布了1.17亿参数的GPT模型(为和其他GPT家族模型区分,以下称为“GPT-1”),在约5GB文本上训练。
2019年,15亿参数的GPT-2发布,在40GB文本上训练。GPT-2“简单粗暴”地在GPT-1的基础上扩展了参数量(10倍)和训练数据集的大小(8倍),在文本预测上表现出色。
2020年,OpenAI发布了1750亿参数的GPT-3,直接将参数数量提升了2个数量级。福布斯表示GPT-3的语言能力是“令人惊叹的”。虽然它也有重复、非英语语言代表性不足等局限性,但已经被评为“它的用例只限于我们的想象力”。
2022年底,世界迎来了ChatGPT。ChatGPT产品由gpt-3.5-turbo驱动。ChatGPT火到出圈,很多大V直呼人类的又一个奇点将随之到来。
2023年3月14日,GPT-4发布。整个世界为此处于惊叹和不安中,甚至要呼吁减缓GPT-5推出的速度。
昂贵的模型
这些“巨无霸”的模型,其参数量和计算量相比传统模型要高出1-2个数量级。在聊天机器人等实时应用场景下,用户对产品的响应时间要求很高,将模型推理速度优化至上线标准,无疑是一道技术门槛。此外,将模型部署在昂贵的高性能计算卡上,由此带来的硬件成本及其长期运行的综合成本,也是不得不考虑的重要因素。
来源:https://hellofuture.orange.com/en/the-gpt-3-language-model-revolution-or-evolution/
2022年12月,OpenAI联合创始人兼CEO Sam Altman曾在推特上表示ChatGPT的算力支出“令人暴风哭泣”。摩根士丹利认为,ChatGPT的一次回复可能会花掉OpenAI 2美分,大约是谷歌搜索查询平均成本的七倍。每天至少要烧掉10万美元。
OpenAI联合创始人兼CEO Sam Altman发推表示ChatGPT算力支出令人“暴风哭泣”
有分析认为,模型成本可以拆分为训练和推理两个阶段。GPT-3.5由GPT-3优化而来,作为千亿级参数模型,GPT-3的训练成本不菲。据相关数据显示,GPT-3训练一次的费用是460万美元。如果为了追求性能提升而进一步扩大参数规模,所需成本可能进一步提高。
高昂的成本门槛让许多从业者对大模型望而却步,而有能力负担高额投入的从业者也面临着商业化的压力。商业化路径是否明晰、商业化执行是否能够实施、用户观念是否能够转变,都存在着巨大的不确定性。
降低成本的努力
通常来说,规模较大的模型预测效果更好,但较大的模型更可能存在训练时间长、推理速度慢的问题,使得模型训练成本昂贵,且难以实时部署。
为了平衡性能与经济,业界各方做出了许多努力,并且颇有成效。有预测称,至2030年为止,AI训练成本将持续以每年70%的速度降低。举例来说,要将一款大型语言模型训练至GPT-3级别,2020年得花费近460万美元,2022年骤降至45万美元。
从MLPerf V1.0到MLPerf V1.1,在IPU-POD16的BERT性能提高了5%
软件优化、硬件提升、云服务发展等因素从各个角度降低了大模型开发和运营的成本。Graphcore曾仅仅通过软件优化,就将IPU-POD16上的BERT性能提升了5%。云服务的发展,使得AI创新者免去了自建机房的投入,并且可以根据工作负载需要灵活调整计算资源。专为人工智能设计、适合人工智能工作负载的硬件可以缩减模型训练时间、增加模型推理吞吐量,减少了模型的开发和运营成本。
而Graphcore最新推出的C600 PCIe卡集成了1个IPU,主打推理,兼做训练,在提供低延时、高吞吐量的同时不损失精度,帮助AI开发人员解决“精度与速度难两全”的痛点。
C600
C600上的GPT
如今,GPT家族模型中,十亿级参数的GPT-2已经在C600上成功部署。考虑到计算成本压力,GPT-2是在商业用例中逐渐被广泛应用的GPT类模型。
在生成式模型上,C600不仅能够保证较低的延迟和较低的能耗,同时具有能够快速迁移模型和软件栈易用性好的特点,这些优势不仅可以在实时应用场景下提供更高效的服务,还可以降低模型部署和运行成本,为人工智能的发展提供更多可能性。
下面我们以15亿参数量的GPT2-XL为例,展示C600卡在生成式模型上所表现出的优异效果,以及如何在C600上低成本部署。
可以看到,在C600上GPT2-XL的推理延时已经达到1 ms/token的水平。即使在输入长度为512,输出长度也是512这种长序列的情况下,端到端的总延时也仅有658 ms,这意味着在实际应用场景中,模型可以快速响应用户的请求,极大地提高了用户体验。
需要注意的是,该性能数据仍然基于FP16精度,这表示模型在FP16精度下训练完成后,可以直接部署在IPU上,不需要担心模型量化带来的精度损失等问题(当然,如果精度损失可以接受,FP8将取得更高的效能),不仅优化了算法工程师的体验,也缩短了模型迭代的周期。同时,C600的散热设计功耗为185 W,在GPT2-XL的实际推理过程中,C600的平均功耗仅为30 W,表明C600具有优秀的性能功耗比,以及具有竞争力的TCO(总体拥有成本),对于需要长期运行的AIGC服务来说非常有益。
值得指出的是,除了算子融合、算子优化、低精度量化和稀疏化等推理模型常用的优化技术外,C600的性能优势主要来自其独特的基于SRAM的近存计算架构。在模型初始化时,GPT2-XL的全部参数就存放于片上memory中,在整个推理过程中,不需要和片外memory进行交互,只有相邻IPU需要借由IPU-Link进行通信,单次推理片间通信次数<10次,通信传输数据量<1 KB,通信延时可以忽略不计,IPU因此打破了IO bound的限制,极大地释放了计算单元的算力。
最关键的是,开发者并不需要许多额外的代码来实现模型加速。C600使用Graphcore的Poplar软件栈,全面支持包括TensorFlow、PyTorch、ONNX、百度飞桨等框架在内的深度学习框架,以及支持通过Poplar C++ APl访问PopLibs进行自定义算子的开发。Poplar SDK还包括PopVision™可视化和分析工具,为lPU提供便捷的性能监测,开发者可以轻松优化、部署和监控IPU上的AI模型推理及训练。
AIGC模型引发的关注和讨论,归根结底还是由于其代表了巨大的生产力。使用C600,实现AIGC模型的低延时高效能部署,可以让更多人享受到AIGC技术带来的创新,而不再受限于成本和技术门槛,帮助激发人们进行AI创新和探索的热情,并促进下一代模型突破的实现。
C600已在中国地区接受预购和评估申请。申请产品评估和预购,请访问:https://www.graphcore.ai/zh-cn/reserve-your-first-c600-card
获取更多Graphcore资讯,阅读深度技术文章,并与其他创新者们一起交流,请至中国官网graphcore.cn,以及关注Graphcore微信、微博和知乎创新社区。
Graphcore中国官网
Graphcore官方微信
Graphcore微博创新社区
Graphcore知乎创新社区
微信扫码关注该文公众号作者