感谢许多朋友在昨日公众号重开第一日就进行了关注和分享。今天带来的是关于硬件的分享。美国VC投资机构a16z近期在其3集的podcast mini series中讨论了AI硬件话题,并分别分享了对芯片、算力以及模型训练推理成本的观点。分享的嘉宾是Guido Appenzeller,他曾在Intel DPG数据平台集团担任CTO,并在VMWare担任Cloud&Networking CTO,现为a16z的特别顾问。
我个人认为这个系列的podcast更偏向科普,可以视为3个月前a16z博客发布的《Navigating the High Cost of AI Compute》文章的语音讲解版本。因此,我选择了它作为公众号的第二篇推文。
此外,我还想借机分享一些当前的观点:
并行计算将主导计算增长,这也意味着相关的存储、网络通信、散热等需求将经历长时间的增长。
由于LLM是以公共数据来进行简单原理的训练,虽然数据清洗、模型架构、网络通信涉及一些工程学挑战,但本质而言现阶段算力资源(或者资本)提供的只是竞争的“减速带”,随着H100的大规模出货,大模型之间的差距应该会逐渐缩小
下游应用的算力需求是多样化的,自建、租赁、Edge算力都会有成长空间,但具体市场份额取决于应用的发展速度和优化方向。我个人认为,在投资增长的早期阶段,无需过分关注竞争问题。
就如同训练和推理的真实成本不仅仅关乎芯片,涉及工程优化和系统外的因素(比如机会成本,算力资源竞争),大模型带来的效率提升也不仅仅发生在狭义的任务完成,而更可能导致管线和组织形式的变化。
以下是Podcast的重点摘要
1.关于芯片
Nvidia 虽然以其高性能 GPU 而闻名,但并不是唯一进入该领域的公司。英特尔和 AMD 等公司也推出了与 Nvidia 竞争的芯片,同时大型云服务商也正在研发自家的芯片。但Nvidia 的优势在于其成熟的软件生态系统 CUDA,使其在优化和性能上具有巨大优势。一个硬件优化的实际案例例如使用不同浮点数来提高芯片性能。
摩尔定律目前仍然有效,芯片上晶体管的密度仍在增加,但增长的速度可能已经放缓。另外,与功率和频率相关的德纳德定律在过去10-15年中已不再成立,导致CPU的频率几乎保持不变,但晶体管数量继续增加。这要求更多的并行核心和专注于并行操作,如矩阵运算,这就是并行处理器吸引人的原因。随着功率消耗增加,散热成为一个重要的考虑因素。
2.关于算力的供需与选择
AI的需求正以指数级速度增长,硬件的需求已经远远超过了当前供应,这对a16z投资组合公司来说是一个真正的挑战。制造AI芯片涉及一系列复杂的价值链,包括芯片和硬件卡的制造瓶颈。芯片制造在高度复杂的晶圆厂进行,而大部分公司都依赖于TSMC这样的供应商。这些供应商的产能有限,并且必须提前预留。虽然建设更多的工厂是一个解决方案,但需要数年时间和巨额投资。尽管有数十亿美元的投资在新的半导体生产工厂上,但这些工厂需要时间来扩大规模,而且专业知识集中在少数公司。目前的计算能力已经变得极其昂贵,而且通常需要预订,这导致了大量的谈判和投资并购。
选择计算能力不仅仅是成本问题,还需要根据需求来确定。当考虑是否需要直接使用硬件时,可以考虑使用托管服务如Replicate来简化工作。选择硬件还涉及到其他考量,例如模型大小和用途(推理还是训练)。尽管云计算方便,但自建基础设施对某些公司也有好处。选择自建或租赁的决策取决于公司的具体需求和规模,以及考虑到运营和资本支出的成本。大多数创始人可能会选择使用云或SaaS服务,但在特定情况下,如数据敏感性或特殊硬件需求,自建基础设施可能更有意义。
随着技术进步,未来可能会有更多的模型能够在本地设备如手机上运行。虽然本地推理可行,但某些复杂任务可能还是需要在云端完成。
3.关于模型的训练与推理
一般情况下,更大的模型会有更好的性能。但随着技术进步,可能会出现更小但性能匹配大型模型的模型。微调使模型更能响应特定的任务或指令,如聊天机器人或指导任务。当前开源领域的挑战是缺乏大型开源语言模型供研究者微调或修改。专有数据并不是护城河,因为能力更强的大模型都是在大量公共数据基础上训练的。领域数据在微调或者特殊的行业(例如金融)更有意义。
虽然可以简单估算用A100训练一个GPT3理论上需要约50万美元,实际计算需求可能会受到如训练的精度、GPU卡的利用率、内存带宽和网络限制等多种因素的影响。为了锁定长期的计算资源,实际成本可能会高得多。在行业中看到更可能是数千万美元的投入。此外,仅仅将多个性能较差的芯片组合在一起不足以解决效率问题,特别是在模型训练方面。分配数据的开销可能会消耗掉使用低成本卡所带来的任何节省。
当前训练大型模型需要高昂的成本,但随着技术的发展和数据的增长限制,未来这种情况可能会有所改变。资本在这场竞争中的优势可能并不如人们所想象的那么大。
推理的速度远远快于训练,但为了应对可能的使用峰值,例如很多人在某个特定时间同时使用模型,还需要为峰值容量预留,这意味着持续的费用。对于推理任务,数据可以通常在一张卡上进行,不涉及复杂的数据分配问题。对于某些小的模型,如特定的图像模型,可以在消费者级别的显卡上运行推理,从而降低成本。
以下是谈话精修中文版
Stephanie Smith
我们越来越多地听到诸如芯片、半导体、服务器和计算之类的术语。但这些都是一回事吗?它们在我们的AI未来中扮演什么角色?
Guido Appenzeller
如果你在运行任何类型的AI,只要AI算法在芯片上运行,最常用的芯片实际上是AI加速器。就它们的构建方式而言,这些芯片与图形芯片非常接近。所以这些芯片所在的卡在这些服务器或机架中被称为GPU,即图形处理单元。它们明显不是在做图形工作,但从内部来看,这是非常类似的技术。如果你看它们内部的话,它们基本上非常擅长每周期处理大量数学运算。经典的CPU,它每周期只运行一条指令,然后它们有多个内核。也许现代CPU可以每周期执行几十条指令,但现代AI卡可以每秒执行10万条以上的指令,所以它们的性能非常强大——这就是GPU。这些GPU在服务器内部运行。你可以把它想象成一个大盒子,外面有电源插头和网络插头。然后这些服务器在数据中心里成排成列地进行实际计算。GPU的基本思想是,与仅使用单个值一起工作不同,它使用向量甚至矩阵工作,更广泛地说,所有的张量。例如,TPU就是谷歌对这种芯片的称呼,他们称它们为张量处理单元是一个非常好的名称,因为它们操作张量。基本上,它们的价值核心在于它们可以进行矩阵乘法。它们可以在一个周期内将两个矩阵相乘。这正是我们获得运行这些极大的语言和图像模型以实现当今的生成AI所需速度的原因。
Stephanie Smith
今天的GPU远比它们的祖先强大得多,无论是可追溯到50年前街机游戏发展史上的最早显卡,还是Nvidia在1999年推出的第一块个人电脑GPU GeForce 256。但是,我们如此轻易地看到这种芯片设计应用到新兴的AI领域,这让人感到惊讶吗?或者我们应该期待一个新的体系结构的演变,在未来变得更高效?
Guido Appenzeller
在某种意义上,我认为这非常令人惊讶。我们肯定想不到我的游戏PC和我的比特币挖矿机最终会变成一个好的AI工程师。所有这些问题的共同点在于,你想并行执行许多操作。 所以当你可以将GPU视为为图形而构建的东西时,你也可以将它们对大量并行输入上执行相同操作的东西非常擅长。
Stephanie Smith
所以也许Nvidia被称赞的GPU与这波AI浪潮息息相关并不太令人惊讶,但事实是他们不是唯一参与的公司。Guido会分享一下硬件生态系统的看法。
Guido Appenzeller
生态系统有很多层,让我们从底层的芯片开始。Nvidia目前来说处于领先地位,A100和H100是推动当前AI革命的主力军。这个领域还有一些其他厂商。英特尔有一款叫Gaudi的芯片,还有Gaudi 2,AMD也有相关芯片。然后我们有大型云计算公司,它们正在开始或者在某些情况下已经推出自己的芯片。你之前提到的谷歌TPU就非常流行,亚马逊有一款叫Trainium的芯片,用于训练,和一款叫Inferentia的芯片,用于推理。未来我们可能会看到更多这些厂商的芯片。但就目前而言,Nvidia在绝大多数应用中仍占据非常非常坚固的地位。
Stephanie Smith
当我们思考你提到的不同芯片时,比如A/H100是最强大的,对它的需求可能也最大。但与一些公司自制的芯片相比,它们的性能差异有多大?是双倍性能还是有一些其他指标或因素使它们的性能差异巨大?
Guido Appenzeller
这是一个非常好的问题。如果仅就硬件规格来看,也就是这些芯片可以执行多少每秒的浮点运算,有一些其他芯片的性能与Nvidia的非常接近。Nvidia的巨大优势在于它拥有非常成熟的软件生态系统CUDA。想象一下,你是一个人工智能开发者、工程师或研究人员。你经常使用的是其他人开发的开源模型。你知道许多情况下一个模型的运行速度取决于它对特定芯片的优化程度。Nvidia目前的一个巨大优势是它拥有软件生态系统,这个生态系统要成熟得多,你可以获取一个模型,它已经具备针对Nvidia的所有必要优化,所以我不需要自己做优化。但对于一些其他芯片,我可能需要自己做更多这些优化,这就是它们的战略优势所在。
Stephanie Smith
正如我们所提到的,AI软件在很大程度上依赖硬件。硬件性能与集成度高度相关。下面是Guido谈到的实际存在的优化类型,以及这在软件优化方面究竟意味着什么。比如运行低精度数字。像开发这种集成的都是什么样的开发者?因为这似乎也是一个新兴领域,不同公司都必须聘请开发者来实际促进这种集成。
Guido Appenzeller
是的,这发生在堆栈的各个层面。有的来自学术界,有的由这个领域的大公司完成,有些由爱好者完成——只是想让它运行得更快。但为了说明这是如何工作的,例如,通常浮点数以32位表示,有些人发现可以用16位来表示,然后有人说,其实我们可以用8位。你必须非常小心地这样做。你必须归一化(normalize),确保它不会溢出或下溢。但是如果我可以用更短的浮点数或定点数进行这些计算,就有很多技巧可以从芯片中挤出更多性能。
Stephanie Smith
补充一下,浮点数通常以32位表示。也就是32个零和一,第一个位用于符号,接下来的8位用于指数,最后23位用于小数。这提供了从最小可能值到最大可能值之间相当大的范围,同时在中间也允许多步骤。现在,开发者可以选择以其他比特系统编码数字,但权衡在于精度。根据你使用的数字,这可能对精度影响很大,也可能影响很小。但这确实需要一些检查和归一化,以及对溢出的警惕。溢出指的是你得到一个如此之小或之大的数字,以至于它无法在该系统中适当编码。考虑数字范围方面,32位浮点数的范围在10的38次方和10的负38次方之间。这是一个相当大的范围,而16位浮点数的精度范围在10的4次方和10的负5次方之间。
Stephanie Smith
现在,当许多人想到半导体时,他们自然会想到摩尔定律。这是戈登·摩尔早在1965年观察到的现象,集成电路中的晶体管数量每两年翻一番。但尽管我们几十年来不断努力,将更多计算能力集成到更小的芯片上,我们现在是否已经达到了光刻的极限?例如,2022年的苹果M1芯片有1160亿个晶体管。我指的是10的11次方个晶体管。如果我们将其与1985年的ARM 1处理器的25000个晶体管进行比较。顺便说一句,苹果M1芯片的晶体管数量甚至不是现在最高的。我相信这个荣誉属于Cerebras的WSE 2,它有260亿个晶体管。展望未来,我们是否已经到达物理架构方面不再见到同样进步的节点?如果是这样,我们在哪里看到进步?是软件方面吗?是这些芯片的专用化吗?你如何看待这个行业的发展?
Guido Appenzeller
这是一个非常好的问题。这里有一些需要拆分来看,比如说摩尔定律直到今天还在活跃着,它讨论的是芯片上晶体管的密度,我们仍在不断增加晶体管密度,现在晶体管尺寸的缩小速度可能不再完全一样快,我不知道具体数据。但到今天为止,如果你画出曲线,它似乎仍完好无损。
还有一个叫做德纳德定律的东西,过去它意味着随着我可以在芯片上压缩的晶体管数量,也就是每18个月翻一番,功率同时以同样的因素降低。它与频率有关。但结果是功率。在过去的10 -15年里,这不再成立。如果你看CPU的频率,在过去的10-15年里它几乎没有变化。结果是我们得到了拥有更多晶体管的芯片,但每个核心的实际速度并没有更快。这意味着我们必须有越来越多的并行核心。这就是张量处理器如此吸引人的原因。在单个核心上,我无法更快地加数字,但如果我可以做矩阵操作,尤其是并行做很多矩阵操作,那么就可以在同一时间做更多事。
第二个重大后果是我们的芯片功耗越来越大。看看今天的游戏PC显卡,这些显卡功率有几百瓦,比过去多得多。这种趋势会持续下去。数据中心看到越来越多的液冷技术正在试验,在某些情况下已经开始应用。简而言之,这些AI芯片的功率密度越来越高,以至于我们需要其他冷却解决方案才能让它们工作。所以综上所述功率成为一个问题,散热也成为一个问题,因为我们需要越来越多地依赖并行。
Stephanie Smith
在最近的一篇文章中,Guido表示对AI硬件的需求超过了供应的10倍。下面是他对这种动态如何影响竞争的评论。
Guido Appenzeller
我们目前没有足够多的AI芯片或服务器来满足我们的需求。因此,对于我们的一些投资组合公司来说,按时获得他们需要运行应用程序的计算能力实际上是一个真正的挑战。计算能力有一整个价值链是许多事情的组合。我们在芯片制造方面有一些瓶颈。我们在实际制造卡方面也有一些瓶颈。这些开发周期需要一些时间但变化最大的因素就是AI目前的疯狂指数增长。
Stephanie Smith
也许这个问题很傻,但到底是什么阻止了英特尔、Nvidia等公司像10倍增加他们的产量,这是否在路线图上而我们不会看到供需之间的这种差异?或者是这里是否还有更复杂的问题?
Guido Appenzeller
它有点更复杂,因为如果你想制造一块芯片,你的做法是在晶圆厂制造它,这是极其大且极其复杂的过程。但是大多数公司都是通过TSMC,它们的产能有限,而且您通常必须提前预留产能。TSMC有不同的工艺,对于某个特定的工艺您可能不想使用,另一个你想要使用的他们没有产能。然后你可以说,在这种情况下只需建设更多的工厂就可以了。然而建立一个工厂需要几年时间,可能需要几十亿或100亿美元的投资。这需要一些时间来调整(产能),所以你会看到一些非常大的投资。这就是阻止我们能够更快地反应的原因。
Stephanie Smith
虽然一些国家正在对新的半导体生产工厂(也称为晶圆厂)进行数十亿美元的重大投资,但这些工厂需要时间来扩大规模。鉴于专业知识集中在少数公司,也不保证这些投资能成功。那么,需求没有减少,这对获得现有供应的机会意味着什么呢? 需求似乎不会减少,特别是因为我们似乎看到这些模型的能力与投入到它们的计算资源之间存在内在关系。所以如果我们预计需求会继续增加,我想出现的问题是如何分配这种需求。如果我今天是一个公司的创始人,我如何获得我需要的计算能力? 谁决定? 是谁愿意支付最高价格还是供应如何分配?
Guido Appenzeller
目前确实存在一些这样的情况。 无论您去哪里,capacity都非常昂贵。我几天前试图预订云服务提供商的实例(instance)来进行一些个人实验,他们就是没有。 我们所看到的是,为了获得对新卡、新芯片的使用——如果您想要大规模地获得这些芯片——您通常必须预先预留容量。
因此,公司和云厂之间的谈判通常是这样的。他们会说:我需要这么多数量的芯片,这么长时间。 他们通常要求的是一个固定期限。 所以云厂会说:好的,我们可以给你这么多芯片,但希望你签署并为此支付两年内独家获得这些芯片的权力。 OpenAI就曾因此上过新闻,云提供商投资了公司,公司获得了产能。 所以我们还看到了各种各样的投资并购,因为对于任何稀缺资源来说,都存在大量的拉锯战。
Stephanie Smith
不仅仅是获得计算能力的问题。 还要确保您获得适合您需求的计算能力。 成本并不是唯一的因素。 您会说考虑因素是什么? 创始人真的需要了解多少硬件? 再次选择使用哪种硬件。
Guido Appenzeller
我认为第一个问题,老实说,我会问的是,您是否真的需要直接使用硬件,或者您真的只想使用基于硬件运行的东西? 我们举个例子。如果我想从我的手机应用程序或类似东西生成Stable Diffusions的图像,通过访问公司像Replicate这样的公司可能会更容易,本质上它们会为您托管模型,您只需为访问模型付费。 他们会将生成的图像发送回来。他们会管理所有计算基础设施的配置。 并会为您找到GPU。如果您自己运行模型。我认为我的第一条建议是先四处寻找一下,现在有相当多的算力提供商。 大型云服务在我看来并不总是最佳选择,我们会发现创业公司通常倾向于转向专业化云,如Coreweave或Lambda,它们专门为创业公司提供 AI基础设施。请仔细查看不同的报价,比较价格。
Stephanie Smith
除了价格是一个主要的激励因素,这些非大型云厂的公司还有哪些不同的竞争因素? 他们如何在这个市场上差异化?
Guido Appenzeller
这里有一整套决策要点,但通常驱动决策的第一件事是我需要多少显存。如果我有一个小的图像模型, 我可能可以使用更便宜的消费级显卡,如果我首先在云中处理它的话,按功率计算它会更便宜。如果我训练语言模型,不仅需要一张显存最大的卡,而且可能希望在一台服务器上拥有尽可能多的卡。 因为服务器之间的通信很重要, 我会关心背后的网络结构。非常大的模型实际上会遇到网络条件的限制,这会限制训练模型的速度。 所以这变成了一个目标问题。 推理是还是训练? 如果是训练,模型有多大? 根据这个,您可以找出哪种卡、哪种服务器以及这些服务器之间需要什么样的结构,然后就可以为应用程序决定最合适的选择。
Stephanie Smith
即使在此AI浪潮之前,算力也是许多软件公司的一大支出项目。 依靠容易访问的云还是自建基础设施成为一个越来越重要的考量。 以下是Guido进一步关于这种计算在当今时代的作用,以及规模在其中的作用。以及公司是否真的会考虑拥有自己的GPU与使用类似Replicate等服务。
Guido Appenzeller
需要弄清楚什么对你来说是合适的。这可能在很大程度上取决于你需要的规模。如果你需要很多,那必须要保有它们,没有其他方法。但是你可以只使用较小的量,你可以短时间租赁即可。或者你有各种模型,以更高的价格只在你的应用程序运行时消耗算力。所以这真的取决于你处于什么样的位置。举例来说,如果有人是在进行模型训练,他们更有可能为GPU做长期预订,因为我想确保你可以访问它,特别考虑到模型生命周期内需要有更持续的工作负载或可访问性。如果我只是做推理,我只需要一种保证是请求进来了,我可以完成服务,如果不预留算力肯定是完不成的。而另一方面,如果我有更多的批处理作业,那么这个作业晚运行一个小时也没有关系。这真的是一个使用模式的话题,你最关心什么以及挑选最佳的合作伙伴。
Stephanie Smith
我们已经看到,即使在AI之前的公司也有从自主建设自己的基础设施中受益的。因为早期他们都在租用,并且租用算力的费用非常高。您认为这会是公司未来的差异化吗?或者,创始人应该如何思考拥有基础设施与租赁之间的关系?
Guido Appenzeller
拥有基础设施也会带来成本,因为你需要雇佣人员来运营它,你需要为CapEx筹集资金等等。所以我猜大多数早期创始人,甚至可能是大多数中期和后期创始人,通过使用云或使用SaaS更好。有几个例外。如果你有非常特殊的需求,你可能根本找不到任何人拥有你需要的那种硬件。可能有些情况,由于政治关注,你的数据太敏感,你需要运行自己的数据中心,并且还需要达到一定的规模。这种情况运行自己的数据中心是有意义的。但规模相当重要,即使你每年花费1000万美元依然不合适这么做,如果你在基础设施上每年花费1亿美元,那可能是寻找方案的原因。
Stephanie Smith
如果每个人都在争夺这些相同的计算,还有其他方式来胜出吗?这里的关键在哪里?你可以说一个护城河是获得不同的训练数据,这与算力或金钱未必相关,问题的关键是获得不同的数据吗?
Guido Appenzeller
如果你有获得差异化数据的能力,那可能是一个护城河。但这有点微妙。因为,如果你在一个没有多少公共训练数据的领域,可能是对的。那可能是像金融这样的领域。但对于大型语言模型,事实证明,制作更大的模型并进行更多的数据训练比起简单吸收领域知识有更多的好处,这意味着它更擅长推理和理解抽象背景,回答真正复杂的多阶段问题等等。所以我会猜,未来仍然会在我们能找到的所有数据上进行训练。然后也许你会微调,你的私人数据对一个问题进行一些额外的培训。
Stephanie Smith
一个值得讨论的重要问题是:如果计算成本昂贵,谁能真正有竞争力?当所有最大、资金最雄厚的公司都声称他们可以构建最大的模型和最多的数据时,他们就赢了。开源在这样的世界中又扮演什么角色?作为许多新兴示例之一,Vicuna是通过对Meta Llama进行微调创建的,这是一个聊天模型。微调的成本只增加了300美元。但其结果与像ChatGpt或Bard这样的大型模型相比有竞争力。那么这个例子和越来越多的开源项目对我们关于Open LLM的未来有何启示?
Guido Appenzeller:
首先,一般来说,如果其他所有条件都相同,更大的模型表现会更好。所以我们今天看到的真正小的开源模型,它们还没有达到GPT 3.5或GPT 4的水平。有一个网站进行了定期的对比测试,目前看来,大模型仍然略胜一筹。但我们正在取得很大的进展,并且正在弄清楚几件事情。我们学到的一件事是有所谓的“chinchilla缩放定律”。它告诉我们数据如何对应模型大小。如果我们过度训练,即不像缩放定律那样“有效”地训练,你实际上可以得到一个可能更小而更好的模型。这意味着可以通过减小模型大小并对模型进行更多的训练来匹配大模型的性能。其次,模型有稍微不同的用途,有基本的大型语言模型,它们都是为了补全文本而训练的。字面上的训练方式是给它们文本,并说“猜下一个字母”,然后告诉它们“错了”或“对了”。他们在这方面做得非常好。补全文本与你想从聊天机器人,或那种你可以告诉它做某事的模型中得到的并不完全相同。所以通常还有一个步骤称为微调。例如,我有一个模型,如果有人要求你列出一个待办事项,例如制作比萨的步骤,这些模型在学习这些事情上非常出色。所以你首先训练它们补全文本,然后你训练它们如何响应人类的请求和指示。例如,Llama就是Facebook发布的模型,供研究者使用。然后有些人接过来并进行了微调,将其转化为Alpaca或Vicuna,这是一个非常非常好的模型。与之交互对人们来说要容易得多。所以目前,我们在开源方面面临的最大挑战是目前没有大型的开源LLM。GPT3有1750亿参数,但目前没有与之相当的开源版本人们可以用来进行微调或进行其他修改。
Stephanie Smith
值得注意的是,自此次记录以来,已发布了几个更多的开放模型,包括具有700亿参数和开放许可证的Llama2。开源模型Falcon也被发布。但与像OpenAI、GPT3的1750亿参数或估计为1.8万亿参数的GPT4等封闭模型相比,这两者的参数仍然很小。尽管后者被猜测为由多个较小的模型组成,但参数计数并不是性能的唯一驱动因素。例如,尽管Llama2的模型参数比GPT3少,但由于其在更多数据上受到了训练,其性能实际上要好得多。事实上,Llama2目前与GPT3的继任者GPT3.5(ChadGPt的默认设置)相当。正如您已经提到的,Stable Diffusion可以在您的计算机GPU上运行。我们是否期望更多的这种情况?因为现在很多模型都是由这些公司在其专用服务器上进行训练的。然后即使您与chatGPT交互,它也在服务器上为你跑推理。我是否可以看到算力可以变得更便宜,甚至更去中心化?或者您是怎么看待这个问题的?
Guido Appenzeller
这真是个好问题。我们看到一些这些较小的模型表现得相当不错。它们可以在您的笔记本电脑甚至您的手机上运行,有一些stable diffusion的推理在手机上运行得很好。它们需要几十秒来创建一个图像,这相对较慢。但有某些应用,这是可以接受的。所以我猜,随着设备变得更快和模型变得更优化,在未来我们会看到这种趋势越来越多,甚至它只是操作系统的一部分。
Stephanie Smith
也许我在这里有点偏离了主题。但我们谈论过算力是多么昂贵以及这最终可能是公司的一大开支项目。我猜模型训练仍然是大公司的事情,而不一定是在人们的设备上。但在推理方面,我猜那仍然是一个相当大的成本。如果有人能够在本地运行,那不是摆脱了对大算力平台的依赖?比如说某人的MacBook GPU上。
Guido Appenzeller
如果我可以直接在我的手机上生成图像,那只需要一些电池电源。可能有点发热。这会是一个巨大的优势。同时,这个问题可能会有一点点双向性,比如考虑质量和参数,你可以在本地运行程序,但在云中可能会运行得更好,因为有一个更大的服务器。所以这真的取决于你想做什么,如果我只是想有一个更好的拼写检查器来检查我的电子邮件,或者可能只是一些简单的完成任务,本地运行是完全可以的。我可以在我的手机上运行它。另一方面,如果我想要更多的写作或总结和复杂的检查,它们可能会要在云中运行,因为它需要更多的操作。
Stephanie Smith
希望这真的让你的大脑开始思考可以建立什么。这里Guido谈到如何呈现一个从根本上新的工作栈,感觉真的像大规模的创新浪潮。
Guido Appenzeller
充满机会。我们正在重建一个工作栈。你可以将AI仅仅看作一个新的应用程序。但我认为把它看作一种不同类型的计算方式会更好,我们传统上通过组合算法来构建软件,这些算法我们理解得很好,最终结果是从底部构建出来。AI第二种计算方式,试图通过一个网络来完成。最大的优势在于我们实际上不需要知道如何解决这个问题,只要神经网络能够弄清楚就行了。如果他们没问题,那就行。这意味着了一系列新的应用程序。但这也意味着您需要一个完全不同的栈来处理。你可能想要能检索上下文的向量数据库?,你可能想要不同类型的托管提供商,他们善于托管这些模型并将它们作为服务提供给我们。这像相机出现导致创造力爆炸的全新生态系统。我认为它对那些能抓住的人来说有很多机会。
Stephanie Smith
在Guido最近的文章《面对AI计算的高成本》中,吉多甚至指出,计算资源的获得已成为AI公司成功的决定因素。这不仅对构建最大模型的大公司是如此,事实上,许多公司花费的总募集资金的80%以上用于计算资源。所以自然地引发了一个问题,这真的可持续吗?
Guido Appenzeller
早期建立的核心技术是为了向更完整的产品提供服务。 现在这个过程需要检查更多的框架、实施更多的功能,以及考虑应用的所有局限性。如果你针对的是企业,那你可能会有更多的常规软件开发。你可能还会有更多的员工。我预计,从百分比上看,随着时间的推移,这个数字会下降。但从绝对数目上看,我认为它会增加,因为AI的繁荣仍然只是开始。
Stephanie Smith
AI的繁荣才刚刚开始。我们讨论了计算需求不太可能很快减少的情况。我们还讨论了拥有或租用基础设施的决策如何对公司的利润表产生重大影响。但在成本方面还有其他考虑因素,如批次大小、学习速度以及训练过程的持续时间,都会影响最终的花费。
Guido Appenzeller
训练一个模型的费用取决于许多因素。现在,好消息是我们可以稍微简化这个问题,因为如今使用的大多数模型都是transformer, 这是AI的一次架构突破,它们被证明非常通用。它们更容易训练,因为它们与以前的模型相比有更好的并行性。所以,在Transformer中,你可以大致估算推理时间为参数数量的两倍,浮点运算,而训练时间大约是参数数量的六倍。所以,如果你拿像GPT 3这样的东西,我的意思是openai的大模型,有1750亿的参数。所以你需要的是3500亿的浮点运算来进行一次推理。基于这个,你可以计算出你需要多少计算能力,如何规模化,如何定价,最后你的成本会是多少。这也给你提供了关于模型训练需要多长时间的想法。你可以理论上计算训练模型需要多少运算。实际上这个问题有可能更复杂,因为有某些方式可以加速计算过程。比如你可以用降低的精度来训练,然而实现这些卡的100%利用率也很难。如果你采用最简单的实施方法,卡的利用率可能低于10%。但你知道,你可能可以达到几十的百分比。这为你提供了一个大致的估计,你需要多少能力来训练和进行推理。但最后,你可能确实想先测试一下。在对这些事情做出任何最终决策之前都需要确保你的假设是正确的。
Stephanie Smith
我们将通过一个非常具体的例子来解释:GPT3。GPT3有大约1750亿的参数。下面是Guido关于训练该模型以及最终推理所需的计算需求的解释。当你提示已训练的模型以引出响应时,就是推理。
Guido Appenzeller
我们知道它是在多少Token上进行训练的,模型有多少参数,所以我们可以计算。你得到的结果大约是10的23次方的浮点操作。这是一个完全疯狂的数字,有23位数。实际上,人类所面临的计算问题中,很少有这样复杂的。然后我们拿一个a100来说,作为最常用的卡,我们知道它每秒可以处理多少浮点操作。我们可以除以那个数字,这大约可以估计它会花费多少时间。然后我们知道这些卡的成本,例如租用一个a100可能要花费1到4美元,这取决于你从哪里租。经过这样简单的分析,你得到的数字大约是五十万美元。有几点我们没有考虑到,比如优化。我们也没有考虑到你可能因为内存带宽限制、网络限制而不能以满载运行这个模型。而且,为了得到正确的结果,你可能需要进行多于一次的运行,因为你可能需要进行一系列的测试,可能不止四次。但这给你一个大致的概念,即现今训练这些大型语言模型并不只是10万美元的事,可能是数百万美元的事。实际上,我们在行业中看到更可能是数千万美元。那是因为你需要预留算力资源,如果我能得到接下来两个月我所需的所有卡,可能只会花费我一百万美元。但问题是他们想要锁定两年的预定,成本就很高。因此,这就增加了太多的投入。
Stephanie Smith
那与推理相比呢?
Guido Appenzeller
推理要便宜得多,多得多。基本上现代语言模型的训练集大约有1万亿Token,如果我进行推理,输出的每个单词都是一个Token,在推理部分,它比训练要快大约1万亿倍。如果你计算像大型语言模型这样的数字,实际上在推理时,只需要几分之一秒、十分之一秒或百分之一秒左右,这仅从表面上看这个问题。然而,你通常必须为峰值容量预留,如果每个人都想在星期一早上9点使用你的模型,那么即使在星期六深夜没有人使用它时,你仍然要为它付费,这大大增加了你的费用。对于某些特定的图像模型,你可以为推理使用更便宜的卡,因为模型小到可以在一个消费者显卡的服务器版本上运行,这可以大大降低成本。
Stephanie Smith
遗憾的是,正如我们在第一部分所讨论的,你不能仅仅通过将一堆性能较差的芯片拼凑在一起来弥补这些低效率,至少在模型训练方面是这样。
Guido Appenzeller
为此需要非常复杂的软件,因为在这些卡之间分配数据的开销可能会超过从便宜卡中获得的任何节省。对于推理,你通常可以在一张卡上进行推理。所以这并不真的是个问题。但如果你考虑像Stable Diffusion这样的模型,这是一个非常流行的图像生成模型,可以在MacBook上运行,它具有足够的计算能力。你可以在本地生成图像,在相对便宜的消费级卡上运行,你不需要使用a100。
Stephanie Smith
所以当我们谈论模型的训练时,明显地,计算量比推理要多得多。我们已经讨论过的另一件事是,更多的计算量通常(不总是,但经常)意味着更好的模型。那么,这最终是否意味着这些因素都加在一起,即资金充裕的现有公司会赢得这场比赛或竞争?或者你如何看待计算、资本和我们现今拥有的技术之间的关系?
Guido Appenzeller
这是一个价值百万甚至万亿的问题。首先,训练这些模型是昂贵的。比如我们还没有真正看到很好的开源语言模型。我确信其中的部分原因是,训练这些模型真的非常昂贵。有一群爱好者很想做这个,但你需要找到几百万或一千万美元的计算能力来做到这一点。这使得它变得困难得多。这意味着你付出巨大的努力才能做到(训练一个好的模型)。话虽如此,训练这些模型的总体成本似乎正在下降。部分原因我认为是因为我们似乎正受到数据的限制,结果显示,你的模型有多大与你的训练数据的最佳量之间存在一种对应关系。一个超大模型但用很少的数据并不会带来任何好处。或者你可以用小模型得到大量的数据也不行。这意味着因为今天的一些大型模型已经利用了某一领域所有人类知识的很大一部分。如果看GPT,它可能已经在训练了互联网的10%数据。这个量扩大十倍是可能的,再增加100倍就不太可能了。我们作为人类还没有产生足够的知识,可以将所有这些吸收到这些大模型中。所以我认为目前的期望是,随着芯片变得更快,这些模型的成本可能实际上会达到顶峰,甚至可能会略微下降。但我们不会那么快地发现新的训练材料。我是说,除非有人提出一个新的主意来改变这个观点。因此,如果这个假设是真的,我认为这意味着由这些大量的资本投资创建的护城河实际上并不特别深。它更像是一个减速带,而不能阻止新进入者。今天,训练一个大型语言模型对于资金充足的初创公司来说绝对是可能的,我们希望在未来的一到五年内看到该领域有更多的创新。
全文完,感谢阅读,欢迎交流和提出宝贵意见
想收听该Podcast系列或订阅a16z podcast的朋友可以移步
https://future.com/a16z-podcast/
a16z的AI硬件撰文《Navigating the High Cost of AI Compute》可以移步
https://a16z.com/2023/04/27/navigating-the-high-cost-of-ai-compute/