1750 亿参数,只需要一块 RTX 3090,ChatGPT 终于不再是大厂专属的游戏?
计算成本是人们打造 ChatGPT 等大模型面临的重大挑战之一。
据统计,从 GPT 进化到 GPT-3 的过程也是模型体量增长的过程 —— 参数量从 1.17 亿增加到了 1750 亿,预训练数据量从 5GB 增加到 45TB,其中 GPT-3 训练一次的费用是 460 万美元,总训练成本达 1200 万美元。
除了训练,推理也很花钱。有人估算,现在 OpenAI 运行 ChatGPT 的算力费用每天就有 10 万美元。
在发展技术,让大模型掌握更多能力的同时,也有人在尝试降低 AI 所需的算力资源。最近,一种名为 FlexGen 的技术因为「一块 RTX 3090 跑 ChatGPT 体量模型」而获得了人们的关注。
虽然 FlexGen 加速后的大模型看起来仍然很慢 —— 跑 1750 亿参数的语言模型时每秒 1 个 token,但令人印象深刻的是,它已经把不可能变成了可能。
传统上,大语言模型(LLM)推理的高计算和内存要求使人们必须使用多个高端 AI 加速器进行训练。本研究探索了如何将 LLM 推理的要求降低到一个消费级 GPU 并实现实用性能。
近日,来自斯坦福大学、UC Berkeley、苏黎世联邦理工学院、Yandex、莫斯科国立高等经济学院、Meta、卡耐基梅隆大学等机构的新研究提出了 FlexGen,这是一种用于运行有限 GPU 内存的 LLM 的高吞吐量生成引擎。
通过聚合来自 GPU、CPU 和磁盘的内存和计算,FlexGen 可以在各种硬件资源限制下灵活配置。通过线性规划优化器,它搜索存储和访问张量的最佳模式,包括权重、激活和注意力键 / 值(KV)缓存。FlexGen 将权重和 KV 缓存进一步压缩到 4 位,精度损失低到可以忽略不计。与最先进的 offloading 系统相比,FlexGen 在单个 16GB GPU 上运行 OPT-175B 的速度提高了 100 倍,并首次实现了 1 token/s 的实际生成吞吐量。如果提供了更多的分布式 GPU,FlexGen 还带有流水线并行 runtime,以允许在解码时进行超线性扩展。
目前,该技术已经放出代码,获得了几千 Star 量:https://github.com/FMInference/FlexGen
简介
近年来,大语言模型在广泛的任务中表现出卓越的性能。LLM 在展现出前所未有的通用智能的同时,也让人们在构建时面临着前所未有的挑战。这些模型可能有数十亿甚至数万亿个参数,这导致运行它们需要极高的计算和内存要求。例如,GPT-175B(GPT-3)仅用于存储模型权重就需要 325GB 的内存。要让此模型进行推理,至少需要五块英伟达 A100(80GB)和复杂的并行策略。
降低 LLM 推理资源需求的方法是最近人们经常讨论的内容。这些努力分为三个方向:
(1)模型压缩以减少总内存占用量;
(2)协同推理,通过去中心化分摊成本;
(3)Offloading 以利用 CPU 和磁盘的内存。
这些技术显着降低了使用 LLM 的计算资源需求。然而,人们通常假设模型适合 GPU 内存,而现有的基于 offloading 的系统仍然难以使用单块 GPU 以可接受的吞吐量运行 1750 亿参数规模的模型。
目前,该研究作者的下一步计划包括对苹果 M1、M2 芯片的支持和 Colab 部署的支持。
FlexGen 自发布后在 GitHub 上的 Star 量很快上千,在社交网络上热度也很高。人们纷纷表示这个项目很有前途,似乎运行高性能大型语言模型的障碍正在被逐渐克服,希望在今年之内,单机就能搞定 ChatGPT。
参考内容:https://news.ycombinator.com/item?id=34869960
阅读详情请点击这里:https://mp.weixin.qq.com/s/ZdW_jZov3bAcGc_9SqiL-A
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢