零代码体会AI大模型,打开网页就能玩。提起大模型,除了各种惊艳的性能表现,还伴随着高昂的硬件要求和运转成本,将绝大多数 AI社区成员都拒之门外。得益于开源社区的蓬勃发展,现在情况大有不同:无需注册,就可以免费白嫖 1750 亿参数的 OPT 模型!
还不快打开下方链接,自己上手在线体会一下?
云办事体会地址:https://service.colossalai.org/倏地体会基于 1750 亿参数 OPT 大模型,该网站支持多种文本天生义务,包括事实问答、聊天机器人、翻译、文章创作等。只需点击对应的子义务名,如 FAQ(事实问答),输入需要的对应内容,点击右下方的蓝色天生按钮,稍等就能得到结果。
背后手艺OPT-175B要想了解刚刚体会的大模型推理的手艺原理,首先,让我们先回顾一下刚才所用到的大模型。OPT 的全称为 Open Pretrained Transformer,是 Meta(Facebook) AI 实验室发布的对标 GPT-3 的大规模 Transformer 模型,共有 1750 亿个参数。
与 OpenAI 尚未公开模型权重的GPT-3 相比,Meta AI 慷慨地开源了所有的代码以及模型权重,极大推动了 AI 大模型落地与使用,每一位开发者都能以此为基础开发个性化的下游义务。
然而 GPT-3、OPT-175B、AlphaFold 等前沿 AI 大模型远超现有硬件容纳能力,训练和安排推理办事都必须使用复杂专业的分布式手艺。现有系统大都存在上手门槛高、运转效率不高、通用性差、安排困难、缺乏维护等问题。面对这一痛点,面向大模型时代的通用深度学习系统 Colossal-AI,仅需几行代码,便能高效倏地安排 AI 大模型训练和推理,促进 AI 大模型低成本使用和落地。使用开源 Colossal-AI 倏地安排 AI 大模型云办事OPT 云办事此次 OPT-175B 超大模型安排的倏地上线,依托 AI 大模型开源解决方案 Colossal-AI 生态,只需少量改动,即可完成大模型云端并行安排。从无法运转到倏地启动:运转超大模型首当其冲的问题是单个 GPU 显存无法容纳巨量的模型参数,而推理问题不仅仅要考虑吞吐量还要考虑时延,因此使用并行来解决这个问题是一种直观的思路,借助 Colossal-AI 生态可以轻松将一个单机模型转换成并行运转。Colossal-AI生态供给众多可以参考使用实例,如 GPT、OPT、BERT、PaLM、AlphaFold 等。获得并行 OPT 模型之后,下一步要处理的是参数加载。Colossal-AI 生态也供给了并行模型参数加载的解决方案,用户只需要参考样例简单供给参数名映射关系即可完成模型参数的加载,最后将模型投入到 Colossal-AI 生态供给的推理引擎中,设置相应的超参数。截至此刻,大模型OPT 主干网络的推理办事就可以上线并能输入有意义的结果。从成功启动到高效安排:在跨越了内存墙问题、并行参数加载等重重阻碍,成功运转了并行主干网络后,为了进一步提高推理性能,Colossal-AI 还供给了多个面向天生式义务的优化,可实现数十倍推理吞吐量的提升。由于 OPT 面向的是天生式义务,而天生式义务需要不断循环模型的输入结果。这使得推理中常见的 batching 策略无法直接使用,而单 batch 运转效率低下。此外,在天生阶段还存在大量的重复估计。为了全面释放天生式义务运转中高性能硬件的潜力,此次推理安排增加了 left padding 手艺使得 batching 成为可能,还增加了past cache 手艺来消除在天生阶段的重复估计问题,以及引入 bucket batching 手艺减少无意义的估计。先来讲讲为什么天生式义务无法直接使用常见的 batching 方法。如下图所示,由于输入语句的长度通常参差不齐,而且多数语言的书写习惯都是从左至右,如果用常规的 right padding,那么对于较短的句子就难以天生有意义的结果或者需要复杂的处理才能天生结果,继而导致无法使用 batching 方法。而当我们使用 left padding 对句子进行填充时,每一个句子的天生侧(右侧)都是对齐的,可以同时天生新的单词。
Right padding 不适合天生式义务
Left padding
由于模型的一次推理仅能天生一个新词,于是在天生式义务中每天生一个新词后都会加到输入序列的尾部再次投入模型进行估计,天生下一个新的单词,由于每一次推理都需要针对新的完整序列进行估计,就会存在大量重复估计的问题,尤其是对于占绝大多数估计量的 Linear 层来说。因此 Colossal-AI 开发人员在模型内部加入 past cache 手艺,会暂存同一次天生义务中 Linear 层的输入结果,每次只有新的一个单词会进入 Linear 层进行估计,并把该词的估计结果加入到暂存结果中避免重复估计。Past cache 手艺可以极大的降低实际估计量。
天生式义务估计过程。Past cache 将同一次义务的 Linear 层估计结果保留,新的一次推理只需要估计新增的一个单词,与 cache 拼接进入后续估计。
此外,Colossal-AI 开发人员注意到不同于其他义务,天生式义务估计量的参差不齐,不仅仅来自于输入句长的不同,还来自于输入目标句长的不同,且输入句长和输入目标句长都将在一个较大的范围内取值。简单的 batching 方案将两者相差很大的推理放在同一个批次中将造成大量冗余估计,因此Colossal-AI 开发人员加入了 bucket batching 手艺,即按照输入句长以及输入目标句长进行桶排序,同一个桶内的序列作为一个 batching,极大的降低了冗余估计量。
Bucket batching。将具有相近输入与输入长度的义务放在同一个批次。
面向大模型时代的 Colossal-AI
Colossal-AI 不仅针对 AI大模型供给了诸多优秀的解决方案,更为重要的是完全开源!每一位开发者都可以基于它低成本训练自己的大模型,并安排为云办事。例如,在 1 张 10GB 的 RTX 3080 上,便可训练 120 亿参数的模型,相比原生 PyTorch 可提升 120 倍的模型容量。
Colossal-AI 自开源以来便广受关注,已经多次在 GitHub 及 Papers With Code 热榜位列世界第一,相关解决方案已成功在自动驾驶、云估计、零售、医药、芯片等行业知名厂商落地使用,可倏地高效完成 AI 大模型的云办事安排。
Colossal-AI 团队近期还连续入选和受邀全球超级估计机大会、国际数据科学会议、世界人工智能大会、亚马逊云科技中国峰会等多项国际专业盛会,并发表主题演讲,展示不断革新的高性能估计与人工智能前沿发展,及其在全面推动 AI 大模型民主化中的创新实践,敬请关注!
项目开源地址:https://github.com/hpcaitech/ColossalAI云办事体会地址:https://service.colossalai.org/参考链接:
https://arxiv.org/abs/2205.01068
https://medium.com/@yangyou_berkeley/using-state-of-the-art-ai-models-for-free-try-opt-175b-on-your-cellphone-and-laptop-7d645f535982
原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/33138