撰文:GuidoAppenzeller、MattBornstein和MartinCasado
来源:a16z
图片来源:由无界AI工具生成
生成式人工智能的热潮是以计算为基础的。它的一个特性是,增加更多的计算量会直接导致更好的产品。通常情况下,研发投资与产品的价值更直接相关,而且这种关系明显是次线性的。但目前人工智能的情况并非如此,今天推动该行业发展的主要因素仅仅是训练和推理的成本。
虽然我们不知道真实的数字,但我们从可靠的消息来源听说,算力的供应十分紧张,需求超过了10倍!所以我们认为,现在,以最低的总成本获得计算资源已经成为人工智能公司成功的决定因素。
事实上,我们已经看到许多公司在计算资源上花费的资金占其总筹资额的80%以上。
在这篇文章中,我们试图分解AI公司的成本因素。绝对数字当然会随着时间的推移而变化,但我们不然我AI公司受计算资源的访问限制将立即缓解。因此,希望这是一个有助于思考的框架。
为什么AI模型的计算成本如此之高?
生成式人工智能模型种类繁多,推理和训练成本取决于模型的大小和类型。幸运的是,今天最流行的模型大多是基于Transformer的架构,其中包括热门的大型语言模型,如GPT-3、GPT-J或BERT。虽然transformer的推理和学习操作的确切数量是特定于模型的,但有一个相当准确的经验法则仅取决于参数的数量模型以及输入和输出Token的数量。
Token基本上是几个字符的短序列。它们对应于单词或单词的一部分。获得对token的直觉的最好方法是使用公开的在线标记器尝试标记化。对于GPT-3,一个token的平均长度是4个字符。
Transformer的经验法则是,对于一个具有p个参数的输入和一个长度为n个token的输出序列的模型,前向通过大约需要2*n*p浮点运算1。对同一模型的训练,每个token大约需要6*p浮点运算。你可以通过将其乘以训练数据中的token量来估算总的训练成本。
Transformer的内存需求也取决于模型大小。对于推理,我们需要p个模型参数来适应内存。对于学习,我们需要在前向和后向传递之间存储每个参数的额外中间值。假设我们使用32位浮点数,这就是每个参数需要额外的8个字节。对于训练一个1750亿个参数的模型,我们需要在内存中保留超过一兆字节的数据--这超过了目前存在的任何GPU,需要我们将模型分割到不同的卡上。推理和训练的内存需求可以通过使用更短长度的浮点值来优化,16位已成为普遍现象,预计在不久的将来会有8位。
a16z将在伦敦开设办事处:6月12日消息,a16z 发文称,将在伦敦开设 a16z 办事处,新办公室定于今年晚些时候开放,由普通合伙人 Sriram Krishnan 领导,致力于在英国与欧洲发展加密货币与创业生态系统。同时,a16z 还计划于 2024 年春季在伦敦举办下一届 Crypto Starup School。本次在伦敦开设办事处的到英国总理 Rishi Sunak 支持,他表示决心为这项技术释放机会,并将英国变成世界 Web3 中心。同时,a16z 还将继续对美国进行大量投资,并继续致力于于美国政策制定者于监管机构合作,使其对加密货币初创公司的监管更加明确。[2023/6/12 21:30:56]
上表是几个流行模型的规模和计算成本。GPT-3有大约1750亿个参数,对应1,024个token的输入和输出,计算成本大约为350万亿次浮点运算。训练一个像GPT-3这样的模型需要大约3.14*10^23的浮点运算。其他模型如Meta的LLaMA有更高的计算要求。训练这样的模型是人类迄今为止承担的计算量较大的任务之一。
总结一下:人工智能基础设施之所以昂贵,是因为底层的算法问题在计算上极其困难。与用GPT-3生成一个单词的复杂性相比,对一个有一百万个条目的数据库表进行排序的算法复杂性是微不足道的。这意味着你要选择能够解决你的用例的最小模型。
好消息是,对于transformer,我们可以很容易地估计出一个特定大小的模型将消耗多少计算和内存。因此,选择合适的硬件成为下一个考虑因素。
GPU的时间和成本争论
计算复杂性是如何转化为时间的?一个处理器核心通常可以在每个周期执行1-2条指令,由于DennardScaling的结束,在过去的15年中,处理器的时钟速率一直稳定在3GHz左右。在不利用任何并行架构的情况下,执行单个GPT-3推理操作将需要350TFLOPS/(3GHz*1FLOP)或116,000秒,或32小时。这是非常不切实际的;相反,我们需要专门的芯片来加速这项任务。
实际上,今天所有的AI模型都在使用大量专用内核的卡上运行。例如,英伟达A100图形处理器有512个"张量核心",可以在一个周期内完成4×4矩阵乘法。人工智能加速器卡通常被称为GPU,因为该架构最初是为桌面游戏开发的。在未来,我们预计人工智能将日益成为一个独特的产品系列。
Base将使用a16z的Rollup客户端Magi作为驱动节点:金色财经报道,a16z 首席技术官 Eddy Lazzarin 在接受采访时表示,a16z 现有的一些投资组合公司已经开始使用其 Rollup 客户端 Magi,Coinbase 的二层网络 Base 将使用 Magi 作为驱动节点。[2023/4/21 14:18:17]
A100的标称性能为312TFLOPS,理论上可以将GPT-3的推理时间缩短到1秒左右。然然而,由于多种原因,这是一个过于简化的计算。首先,对于大多数用例来说,瓶颈不是GPU的计算能力,而是将数据从专门的图形存储器送到张量核心的能力。其次,1750亿个权重将占用700GB,无法放入任何GPU的图形存储器中。需要使用分区和权重流等技术。第三,有一些优化,正在被用来加速计算。但是,总的来说,上面的数字让我们对当今LLM的总体计算成本有了直观的了解。
训练一个transformer模型每个标记花费的时间大约是进行推理的三倍。然而,考虑到训练数据集比推理提示大3亿倍,训练需要10亿倍的时间。在单个GPU上,训练需要数十年;在实践中,这是在专用数据中心的大型计算集群上进行的,或者更有可能是在云端。训练也比推理更难并行化,因为更新的权重必须在节点之间进行交换。GPU之间的内存和带宽往往成为一个更重要的因素,高速互连和专用结构是很常见的。对于训练非常大的模型,创建一个合适的网络设置可能是首要挑战。展望未来,AI加速器将在卡上甚至芯片上具备联网能力。
那么,这种计算复杂性如何转化为成本?正如我们在上面看到的,一个GPT-3推理,在A100上大约需要1秒钟,对于1000个token的原始计算成本在0.0002美元到0.0014美元之间。这是一个非常低的价格点,使得大多数基于文本的人工智能用例在经济上是可行的。
另一方面,训练GPT-3则要昂贵得多。在上述速率下,再次仅计算3.14*10^23FLOPS的计算成本,我们可以估计到A100卡上的单次训练费用为56万美元。在实践中,对于训练,我们不会在GPU上获得近100%的效率;但是我们也可以使用优化来减少训练时间。其他对GPT-3训练成本的估计从50万美元到460万美元不等,取决于硬件假设。请注意,这是一次运行的成本,而不是整体成本。可能需要多次运行,而云供应商将希望得到长期的承诺。训练顶级的模型仍然很昂贵,但对于资金充足的初创公司来说是可以承受的。
A16z支持的Bitski推出加密货币钱包:金色财经报道,Bitski宣布推出了一款新钱包,面向加密货币本地人和新来者。?在A16z、Galaxy Digital 和 Kindred Ventures等主要投资者的支持下,Bitski 为以太坊用户提供了通过电子邮件和密码设置登录的选项,类似于 Wax 区块链上的 Wax Cloud 钱包和 Flow 区块链上的 Dapper 钱包等服务。[2023/2/22 12:23:08]
总而言之,当今的生成式人工智能需要对人工智能基础设施进行大量投资。没有理由相信这会在不久的将来发生改变。训练像GPT-3这样的模型是人类有史以来计算量最大的任务之一。虽然GPU变得越来越快,而且我们找到了优化训练的方法,但人工智能的快速扩张抵消了这两种影响。
AI基础设施的考虑因素
至此,我们已尝试让您对进行AI模型训练和推理所需的规模以及驱动它们的底层参数有了一定的了解。在这种背景下,我们现在想就如何决定使用哪种AI基础设施提供一些实用指南。
外部与内部基础设施
GPU很酷。许多工程师和有工程意识的创始人都偏向于配置自己的人工智能硬件,这不仅是因为它可以对模型训练进行细粒度控制,还因为利用大量计算能力会带来一些乐趣。
然而,现实是,许多初创公司--尤其是应用程序公司--不需要在第一天就建立自己的人工智能基础设施。相反,像OpenAI或HuggingFace和Replicate这样的托管模型服务使创始人能够迅速搜索产品与市场的契合度,而不需要管理底层基础设施或模型。
这些服务已经变得如此之好,以至于许多公司可以直接依附于它们。开发人员可以通过提示工程和高阶微调抽象实现对模型性能的有意义的控制。这些服务的定价是基于消费的,所以它也经常比运行单独的基础设施更便宜。我们已经看到一些应用程序公司产生了超过5000万美元的ARR,估值超过10亿美元,它们在后台运行托管模型服务。
另一方面,一些初创公司--特别是那些训练新的基础模型或建立垂直整合的人工智能应用--无法避免直接在GPU上运行自己的模型。要么是因为模型实际上是产品并且团队正在寻找“模型-市场契合度”,要么是因为需要对训练和/或推理进行细粒度控制才能实现某些功能或大规模降低边际成本。无论哪种方式,管理基础架构都可以成为竞争优势的来源。
Co:Create完成2500万美元种子轮融资,A16z领投:5月10日消息,NFT基础设施初创公司Co:Create完成2500万美元种子轮融资,A16z领投,其他投资者包括Tom Brady的NFT平台Autograph、PackyMcCormick的Not Boring Capital、FTX Ventures的AmyWu、Vayner Fund以及NFT细分平台Fractional.art和耐克收购的NFT工作室RTFKT。
据悉,Co:Create是一家构建基础设施协议以帮助NFT项目启动代币和管理DAO的加密初创公司。(theblockcrypto)[2022/5/11 3:05:02]
云与数据中心的构建
在大多数情况下,云是你的AI基础设施的正确位置。对大多数初创企业和大公司来说,较少的前期成本,扩大和缩小规模的能力,区域可用性,以及较少因建立自己的数据中心而分心,是具有吸引力的。
但这一规则也有几个例外:
如果你的运营规模非常大,运行你自己的数据中心可能会变得更有成本效益。确切的价位根据地理位置和设置而不同,但通常需要每年超过5000万美元的基础设施支出。
你需要非常具体的硬件,而这些硬件你无法从云供应商那里获得。例如,没有广泛使用的GPU类型,以及不寻常的内存、存储或网络要求。
出于地缘的考虑,你无法找到一个可以接受的云。
如果你确实想建立自己的数据中心,对于自己的设置,已经有了全面的GPU价格/性能分析。除了卡本身的成本和性能外,硬件的选择还取决于电源、空间和冷却。例如,两块RTX3080Ti卡加在一起的原始计算能力与A100相似,但各自的功耗是700W与300W。在三年的生命周期内,以0.10美元/千瓦时的市场价格计算,3500千瓦时的功率差异使RTX3080Ti的成本增加了近2倍。
综上所述,我们预计绝大部分初创企业都会使用云计算。
比较云服务提供商
亚马逊网络服务、微软Azure和谷歌云平台都提供GPU实例,但也出现了新的供应商,专门专注于人工智能工作负载。下面是我们看到的许多创始人用来选择云供应商的框架:
价格:下表显示了截至2023年4月7日一些主要和较小的专业云的价格。该数据仅供参考,因为实例在网络带宽、数据出口成本、CPU和网络的额外成本、可用折扣和其他因素方面有很大的不同。
哥伦比亚大学计算机科学系教授Tim Roughgarden加入a16z加密团队:2月26日消息,a16z合伙人Chris Dixon表示,哥伦比亚大学计算机科学系教授Tim Roughgarden作为研究合作伙伴,加入a16z加密团队。[2021/2/26 17:56:04]
特定硬件的计算能力是一种商品。直截了当地讲,我们会期望价格相当统一,但事实并非如此。虽然云计算之间存在着实质性的功能差异,但它们不足以解释按需NVIDIAA100的定价在供应商之间相差近4倍。
在价格范围的顶端,大型公共云根据品牌声誉、经过验证的可靠性以及管理各种工作负载的需要收取溢价。较小的专业AI提供商通过运行专用数据中心或套利其他云来提供较低的价格。
实际上,大多数大型买家直接与云供应商谈判价格,通常承诺一些最低支出要求以及最低时间承诺。谈判之后,云计算之间的价格差异会有所缩小,但我们看到上表中的排名保持相对稳定。同样重要的是要注意,小公司可以从专业云中获得积极的定价,而不需要大量的支出承诺。
可用性:最强大的GPU在过去12个多月里一直供不应求。
考虑到前三大云计算供应商的巨大购买力和资源池,认它们拥有最佳可用性是合乎逻辑的。但是,有点令人惊讶的是,许多初创企业并没有发现这是真的。大的云服务商有大量的硬件,但也有大量的客户需求需要满足--例如,Azure是ChatGPT的主要主机--并且不断增加/释放容量以满足需求。同时,Nvidia已经承诺在整个行业广泛提供硬件,包括为新的专业供应商分配。。
因此,许多初创公司在较小的云计算供应商那里发现了更多可用的芯片,包括尖端的NvidiaH100s。如果你愿意与较新的基础设施公司合作,你可能会减少硬件的等待时间,并可能在这个过程中节省资金。
计算交付模式:今天的大型云只提供带有专用GPU的实例,原因是GPU虚拟化仍是一个未解决的问题。专业的人工智能云提供其他模式,如容器或批处理作业,可以处理单个任务,而不产生实例的启动和拆卸成本。如果你对这种模式感到满意,它可以大大降低成本。
网络互连:具体到培训方面,网络带宽是选择供应商的一个主要因素。训练某些大型模型时,需要在节点之间使用专用网络的集群,如NVLink。对于图像生成,出口流量费用也是一个主要的成本驱动因素。
客户支持:大型云供应商为数以千计的产品SKU中的大量客户提供服务。除非你是一个大客户,否则很难得到客户支持的关注,或得到问题解决。另一方面,许多专门的人工智能云,甚至为小客户提供快速和响应的支持。这部分是因为他们的运营规模较小,但也因为他们的工作负载更加同质化,所以他们更有动力去关注人工智能的具体功能和错误。
比较GPU
在其他条件相同的情况下,最高端的GPU在几乎所有的工作负载上都会表现最好。然而,正如你在下面的表格中所看到的,最好的硬件也是相当昂贵的。为你的特定应用选择正确类型的GPU可以大大降低成本,并可能在可行和不可行的商业模式之间产生差异。
决定在列表中走多远——即为您的应用程序确定最具成本效益的GPU选择——主要是一个技术决策,超出了本文的范围。但我们将在下面分享一些我们认为最重要的选择标准:
训练与推理:正如我们在上面第一节中所看到的,训练一个Transformer模型需要我们存储8个字节的数据用于训练,此外还有模型权重。这意味着一个典型的拥有12GB内存的高端消费级GPU几乎不能用来训练一个40亿参数的模型。在实践中,训练大型模型是在机器集群上进行的,每台服务器最好有许多GPU,大量的VRAM,以及服务器之间的高带宽连接。
具体来说,许多模型在英伟达H100上的成本效益最高,但就目前而言,它很难找到,通常需要一年以上的长期承诺。而英伟达A100运行着大多数模型训练;它更容易找到,但对于大型集群,可能也需要长期承诺。
内存要求:大型LLM的参数数量太多,无法装入任何卡中。它们需要被分割到多个卡中,并需要一个类似于训练的设置。换句话说,即使是LLM推理,您也可能需要H100或A100。但是较小的模型需要更少的VRAM。虽然A100仍然很受欢迎,但我们已经看到初创公司使用A10、A40、A4000、A5000和A6000,甚至是RTX卡。
硬件支持:虽然与我们交谈过的公司中的绝大多数工作负载都在英伟达上运行,但也有一些公司开始尝试使用其他供应商。最常见的是谷歌的TPU,而英特尔的Gaudi2似乎也得到了一些关注。这些供应商所面临的挑战是,你的模型的性能往往高度依赖于这些芯片的软件优化的可用性。你可能必须做一个PoC,以了解性能。
延迟要求:一般来说,对延迟不太敏感的工作负载可以使用功率较小的GPU。这可以减少3-4倍的计算成本。另一方面,面向用户的应用程序往往需要高端卡来提供有吸引力的实时用户体验。优化模型往往是必要的,以使成本达到一个可控的范围。
峰值:生成式人工智能公司经常看到需求的急剧上升,因为这项技术是如此新颖且令人兴奋。在新产品发布的基础上,请求量在一天内增加10倍,或每周持续增长50%,这是很正常的。在低端GPU上处理这些峰值通常更容易,因为更多的计算节点可能会按需提供。如果这种流量来自参与度较低或留存率较低的用户,那么以牺牲性能为代价,以较低成本的资源为此类流量提供服务通常也是有意义的。
优化和调度模型
软件优化可以极大地影响模型的运行时间-10倍的收益并不罕见。然而,你需要确定哪些方法对你的特定模型和系统最有效。
有些技术对相当广泛的模型有效。使用较短的浮点表示或量化实现的加速通常与位数的减少成线性关系。这有时需要修改模型,但现在有越来越多的技术可以实现混合或更短精度的自动工作。修剪神经网络通过忽略低值的权重来减少权重的数量。结合高效的稀疏矩阵乘法,这可以在现代GPU上实现大幅提速。此外,另一组优化技术解决了内存带宽瓶颈。
其他的优化是高度针对模型的。例如,StableDiffusion在推理所需的VRAM量方面取得了重大进展。还有一类优化是针对硬件的。英伟达的TensorML包括一些优化,但只能在英伟达的硬件上运行。最后,但同样重要的是,人工智能任务的调度可以创造巨大的性能瓶颈或改进。将模型分配到GPU上,以尽量减少权重的交换,如果有多个GPU可用,则为任务挑选最佳GPU,以及通过提前批处理工作负载来尽量减少停机时间,这些都是常见的技术。
最后,模型优化仍然是一门黑魔法,我们接触过的大多数初创公司都与第三方合作,以帮助解决其中一些软件方面的问题。通常,这些不是传统的MLops供应商,而是专门针对特定生成模型进行优化的公司。
人工智能基础设施成本将如何演变?
在过去的几年里,我们看到模型参数和GPU计算能力都呈指数级增长。目前还不清楚这种趋势是否会继续。
今天,人们普遍认为,在最佳参数数量和训练数据集的大小之间存在着一种关系。今天最好的LLM是在CommonCrawl上训练的。训练语料库还包括维基百科和一个图书集,尽管两者都要小得多。其他想法,如转录视频或音频内容,也被提出来,但这些都没有接近的规模。目前还不清楚我们是否能获得一个比已经使用的数据集大10倍的非合成训练数据集。
GPU性能将继续提高,但速度也会变慢。摩尔定律仍然完好无损,允许更多的晶体管和更多的内核,但功率和I/O正在成为限制因素。此外,许多用于优化的低垂果实已经被摘下。
然而,这并不意味着我们预计对计算容量的需求不会增加。即使模型和训练集的增长放缓,人工智能行业的增长和人工智能开发者数量的增加将推动对更多更快的GPU的需求。在模型的开发阶段,很大一部分GPU容量被开发人员用于测试,而这种需求随着人数的增加而线性增长。没有迹象表明,我们今天的GPU短缺将在不久的将来减轻。
这种持续的人工智能基础设施的高成本是否会形成护城河,使新进入者无法追赶资金充足的在位者?我们还不知道这个问题的答案。今天,LLM的训练成本可能看起来像护城河,但Alpaca或StableDiffusion等开源模型表明这些市场仍处于早期阶段并且可能会迅速变化。随着时间的推移,新兴AI软件堆栈的成本结构可能开始看起来更像传统软件行业。
最终,这将是一件好事:历史表明,这会带来充满活力的生态系统,并为创业者提供快速创新和大量机会。
感谢MoinNadeem和ShangdaXu在写作过程中的投入和指导。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。