Transcription
不,你没事。是的。好的,我们直播了。>> 我们直播了。开始吧。>> 直播。我们正在直播,讨论推理。我们开始吧。>> 好了,各位,我们正在直播,要在 Twitter 上发帖,我们就在 Twitter 上发帖。>> 是的。是的。是的。是的。保持简单。砰。搞定。好的。>> 我我第一号“老古董”习惯仍然是称它为 Twitter。>> Twitter。是的。我觉得我大约 80% 的时间仍然称它为 Twitter。希望埃隆没有在看,因为我 [鼻息声] 可能会被禁。 [清嗓子] 但>> 好了,我要引用这条推文。嗯,独立消息来源证实我们确实在直播。>> 我们在。消息来源可能带有偏见,但 [叹气] >> 大家好,>> 依赖的独立来源。我们稍后会让人进来,但今天我们有 Philip。你们都习惯我谈论数据库书籍。你们都习惯我谈论这本书或大家最喜欢的这本书,但我们今天讨论的是推理工程。新 [清嗓子] 书是>> 是的。哦,是的。把它拿上来。>> 这本书。砰。>> 是的。我的副本正在路上。>> 没有。是的。所以,它在路上。在路上。但是的,如果我们,如果我们存在于 Twitter 的科技 Twitter 上,你们可能看到了这本书,因为它在周二 [星期一] 占领了 Twitter。>> 星期一。是的。>> 热门话题。这是我第一次成为热门话题。而且我不需要成为一名 NFL 球员并犯下某种交通违规才能做到这一点。 [笑声] >> 有趣的是,我今天也看到了自己成为热门话题,但原因不同,比如所有这些数据库基准测试的东西都出来了。那可能不在你的领域。那可能只会在我的领域出现。>> 太棒了。>> 但是的,所以我们要聊聊这个,但我们要让人们稍后进来,为 Philip 准备问题。基本上,Philip 会教我推理工程到底是什么。嗯,然后也许在我们几周后完成数据库内部书籍后,也许我们会做一些更多的流媒体,在那里我们嗯,了解更多关于推理基础设施的信息。可能很有趣。>> 那会很酷。所以,Ben,在我们等待大家进来的时候,我有一个非常重要的问题要问你。>> 好的。>> 你是如何让你的灯光一直看起来这么好的?>> 谢谢。是的。所以,其中一部分,秘密武器是一个叫 Steve Tonudo 的人。Twitter。>> 是的。>> 是的。是的。所以,我们在 Planet Scale 共事了几个月,他教了我很多关于如何设置这个的技巧,然后我在此基础上进行了改进,等等。但总之,有一些灯光,有一台不错的相机。嗯,它只是随着时间的推移进行了微调。所以,>> 但是的。是的,如果你,如果你在你的办公室里设置了那个嗯,那个录音设备,联系我,我会帮你挑选合适的设备,或者直接联系 Steve。>> 是的,那是嗯,那是必要的。我嗯,我现在用的是一台笔记本电脑嗯,在办公室后面的一个没有窗户的房间里,我被分配到那里嗯,把它变成我的图书制作工厂。>> 发生了。发生了。是的。让我想想。哦,等等。它确实。哦,等等。等等。我重复发布了。它确实自动发布了。好的,太好了。嗯,>> 我觉得两条推文比一条好。>> 完全正确。>> 好的。嗯,我们从一个简单的问题开始。>> 因为你是一个人工智能专家。>> 是的。>> 我,我实际上,我听到 Twitter 上的每个人都在谈论 Codeex 53 是有史以来最好的模型,并且比 Opus 更好,但我不同意。我不认为我不认为 Codeex 比 Opus 好。你怎么看?Philip,你用什么模型? [鼻息声] >> 看,我是一号 Koso Shell。嗯,所以我用了很多 Composer,因为它真的真的很快,而且我不耐烦,我想要我的代码。嗯,但我>> 好的。是因为你又一次,有些人有这样的风格,就是写一个提示,然后离开十分钟再回来。你是一个更像是在循环中的编码者吗?>> 非常在循环中的人。就像我,我是一个嗯,我不擅长委托嗯,擅长微观管理。所以我也这样对待我的代理人。>> 嗯>> 是的,>> 我发现当第一个 Composer 出来的时候,我疯狂地使用它,因为我当时就像它刚出来的时候,就在我上飞机之前,所以我当时在飞机上一直在编码。我有很好的互联网 Starlink,谢天谢地,是的,就像哇,我在三秒钟内就得到了我的提示的回复,对吧?这太不可思议了。>> 是的,尤其是因为我是一个非常懒惰的开发者,我会嗯,提示它,比如,你知道,改变像素大小,或者你知道,改变一些填充,而我本可以自己进去,你知道,控制所有编辑。我只会说,是的,让一切都变大一点,所以很高兴有嗯,有一些快速的东西。>> 话虽如此,当我做一些更复杂的事情,更大的上下文时,我确实会切换到 Opus,那是我的嗯,我的首选。>> 好的,酷。>> 我真的很喜欢 4.5 4.6 六。它也很好。嗯,>> 是的,嗯,它之所以成为一个流行的模型,是有原因的。>> 说实话,我觉得我甚至没有注意到 4.5 和 4.6 之间的区别。对我来说,感觉就像是同样的事情。它们都很好。就像,>> 是的。45 是一个很大的飞跃。>> 是的。是的,那是一个很大的飞跃。>> 我们我们考虑像基准饱和度,对吧?你知道,就像,你是在某个基准上从 99% 到 99.9% 吗?这有价值吗?而且>> 我的观点是,它实际上是嗯,它正在最大化最后几个东西,因为如果你从一个角度来看,比如从嗯,再次,从 99% 到 99.9% 的正确性。就像一方面你只获得了不到 1% 的嗯,质量,但另一方面你减少了 90% 的错误。以前每十个错误,现在你只有一个错误。是的。>> 所以我实际上认为这对最终用户体验非常重要。嗯,所以有时这些嗯,纸面上较小的飞跃实际上可能对你的日常工作产生很大的影响。>> 是的。是的。 [鼻息声] 酷。嗯,我想问的大问题,也许观众也想知道,就是我我感觉嗯,好的,所以我工作于 Planet Scale。我们是一家数据库基础设施公司。你工作于一家人工智能基础设施公司。>> 所以,我非常熟悉运行公司依赖的重型基础设施是什么样的,但我不太熟悉嗯,人工智能基础设施公司如何设置它们的基础设施,对吧?显然有嗯,训练和推理。这是两个主要部分。所以,只是给我一个高层次的嗯,你为什么写这本书,但我也认为这与嗯,什么是推理以及为什么它对不仅仅是嗯,人工智能工程师,而且对嗯,任何工程师都很重要有关?为什么每个工程师都应该学习这些东西?>> 让我嗯,让我看看。我有点忘了答案是什么。所以,让让我看看我是否嗯,我能从一本书里读到这个。>> 有趣。>> 是的。所以,问题是,嗯,有很多人在使用模型。你知道,如果你看看所有的人工智能应用程序,嗯,每天在全球范围内可能会生成数万亿,甚至可能数千万亿个 token。嗯,需求巨大,但实际上知道如何进行推理的工程师相对较少。就像几年前,也许是一百个,我不知道。嗯,如果你想想像谷歌、OpenAI 和 Anthropic 以及其他几家大实验室拥有一个嗯,由主要是系统工程师组成的小团队,熟悉嗯,像 Kubernetes 和嗯,网络基础设施嗯,设置这些嗯,推理系统。嗯,今天可能有几千人。嗯,我的嗯,我的观点是,我认为取决于几个不同的因素,就需求而言,以及就嗯,它在多大程度上仍然是一个非常嗯,人为驱动的过程来设置这些东西,可能从几十万到甚至嗯,一百万个非常好的工程工作,其中推理至少是工作的一部分。>> 而且这既包括嗯,我猜想,硬件方面,比如建造数据中心和管理它们,也包括软件方面,比如编写管理这些的系统,等等,对吧?>> 是的。是的。因为我想到的是,每个嗯,应用层公司都需要有人来了解推理。即使他们使用像 Bayen 这样的托管服务提供商,他们绝对应该这样做,但你仍然需要团队中有了解该问什么以及如何检查我们是否做得对的人。嗯,所以,你知道,我认为推理是每个开发者现在都有机会添加到他们的技能组合中的一项技能,然后嗯,如果你真的喜欢它,在其他人到达那里之前成为它的早期专家。所以,我写这本书是因为我希望有更多的推理工程师。我们在 basin 工作,我们从各种背景中招聘优秀的工程师。即使他们有时进来,也难以嗯,真正掌握这个问题的全部规模,因为它是一个大问题。就像推理需要几十种不同的技术协同工作,才能让模型运行得快,有高正常运行时间,有高吞吐量。嗯,所以,你知道,它嗯,它真的很难成为全栈专家,而且很难嗯,如果你只是一个方面的专家,看到其余的端到端拼图,但推理是一个非常集中的问题,就像你可能不得不从考虑嗯,内核融合到考虑嗯,你的 K native 设置嗯,从一个小时到下一个小时,如果你自己设置所有这些。>> 是的,你将不得不解释所有这些词的意思。但我喜欢你说的,那就是嗯,我经常说一些关于数据库领域的事情。可能不像推理领域那么新,但类似的是,很多人都在说,哦,我不用学任何东西,因为人工智能会写我所有的代码。我说是的,数据库系统从软件到硬件层和所有基础设施都非常复杂。所以,就像现在如果你能嗯,学好它,你就会脱颖而出成为一名工程师,对吧?而且,就像可能更是如此,关于人工智能推理,对吧?如果你能在 2026 年成为这方面的专家,并在一家很棒的推理公司或其他什么地方找到一份工作,那么你就会做得很好,对吧?嗯>> 而且,好的,但背景也是如此,所以,我猜你的听众可能更熟悉,甚至像推理是如何工作的,也许我的听众稍微不那么熟悉。嗯,给我几分钟的时间,嗯,什么是推理?嗯,你说的推理是什么意思?所以,我参加过很多展会,嗯,比如 Reinvent 和 GTC 之类的,我经常被问到这个问题。嗯,当我疲惫不堪,而且我能看出我正在和一个从未接触过嗯,比如 CS 学位或任何东西的人说话时,我给出的最简单的答案是嗯,我说是的,推理真的很简单。你必须做三件事。第一,你必须拿到 GPU。第二,你必须把模型放在 GPU 上。第三,你必须让它运行得快。>> 嗯,虽然这是一个嗯,一个非常非常简化的嗯,对如何输入工作的解释,但它并没有错。嗯,你首先有嗯,容量问题嗯,配置和确保容量,然后你有基础设施问题,如何将嗯,一个 TB 的模型权重放到你配置的任何基础设施上,以及图像和嗯,设置许多依赖项嗯,你知道,这些依赖项不断地有破坏性的变化和隔夜构建。嗯,然后一旦你设置好了一切,并且你可以运行你的推理引擎,你可以运行嗯,各种程序,它们实际上嗯,逐个迭代地通过模型并生成输出 token,生成输出图像。嗯,你需要弄清楚如何让这个过程更快,因为>> 用户要求极低延迟的应用程序。嗯,然后你必须弄清楚如何在你开始用人工智能应用程序获得的病毒式使用高峰来猛击这些东西时,如何保持它的速度并保持在线。就像人工智能应用程序,很多嗯,这个行业的许多应用程序的增长速度是每年 10 倍。而且在这其中,这不仅仅是稳定的。这就像你必须弄清楚的大台阶。而且我猜人工智能相当有波动性,就像白天和晚上之间,以及所有这些东西,对吧?或者像新的模型发布。是的。>> 波动,然后之后下降,无论如何,对吧?是的。>> 然后你就会迎来下一个高峰,因为第二天又有一个模型发布了,有时。>> 是的。>> 有时甚至在同一天。>> 是的。 [笑声] 没关系。这与我个人一直有一个问题有关,我想研究一下,但就是没时间。也许你的书里有答案。我一直很好奇的一件事是,嗯,好的,你有一个模型,无论如何,我将以 Anthropic 的模型为例,但适用于任何东西,对吧?就像 Sonnet 与 Opus 一样,对吧?其中一个,你得到结果的速度快得多,但它是一个更愚蠢的模型,对吧?它不那么复杂,它没有那么多参数,所以就嗯,基础设施而言,实际的区别是什么?为什么 Opus 或其他更大、更花哨的模型需要更长的时间?是因为需要更多的周期,还是因为它需要更多的 GPU,需要更多的并行化?嗯,到底是什么让它需要更长的时间?>> 你知道吗?这是一个很好的问题,也是一个我以前从未听过的框架。就像,嗯,就像,嗯,显然直观地说,一个更小的模型更快。嗯,但但为什么,为什么精确地是这样?嗯,这是我从未想过的宇宙法则之一。原因有几个。所以,当你查看模型的架构时,这就是为什么嗯,专家混合模型通常速度稍快一些。嗯,当你将其分解到内核级别时,嗯,有很多矩阵乘法在进行。>> 嗯,而乘以大的矩阵比乘以小的矩阵慢。嗯,所以你看到的一切,关于嗯,模型大小和嗯,速度,都是这个现实的下游。有一些架构上的东西会改变模型的速度。它不像当你查看具有不同架构的模型时嗯,它们更大的模型通常更慢,但不是嗯,它不是完美的那个方向。它嗯,它就像一个散点图,有一条最佳拟合线,而不是>> 因为我也想象,是的,你可以在理论上并行化更多,并使其与较小的模型一样快。对吧?并行化有时会使其更快,有时会使其变慢。嗯,这>> 可能再次,所有这些都取决于你最初是如何设计的。对吧?>> 所以,所以有嗯,有几种不同类型的并行化。所以,假设你有一个模型,首先,就像大多数前沿模型,我说前沿是指嗯,一个模型,它是最顶尖的,比如嗯,前十个最智能的模型之一。嗯,任何前沿模型都需要并行化嗯,因为它无法装入一个 GPU。>> 是的。>> 所以,如果你看看嗯,如果你看看像 Kimmy K 2.5,那是一个万亿参数。嗯,如果你以 4 位量化来看它嗯,你每参数使用半字节,你有 500 GB 的权重,>> 而且这必须装入 GPU 的 VRAM 或多个 GPU 的 VRAM。>> 完全正确。所以,如果你看看 B200 嗯,它现在是推理的顶尖产品,嗯,所有 GB300 都很快上线了嗯,一个 B200 有 192 GB 的 VRAM,所以你需要嗯,而且你可以有一个、两个、四个或八个,嗯,所以你至少需要四个才能容纳所有参数,然后你需要更多的空间来容纳 KV 缓存,以及在推理过程中进行计算。嗯,所以,然后你需要八个 GPU,任何做过并行编程的人都知道,并行化会使事情变得更难,而且会使事情变慢,除非你除非你做得对。所以,你不能只是像管道一样从一个 GPU 发送到下一个,再到下一个,因为那样你会得到气泡,你会得到很多减速。嗯,>> 相反,你必须做一些叫做张量并行或专家并行的事情,用于专家混合模型。嗯,你知道,非常非常笼统地说,张量并行会降低延迟,而专家并行会提高吞吐量。虽然嗯,最常见的服务你会发现将两者混合使用。而且这些再次,就像,如果一个实际的模型性能工程师在房间里听到我说这些,他们会说,哇,哇,哇,哇,哇。有嗯,一百个因素你没有考虑。但你知道,根据我目前的观察,张量并行似乎是延迟一号,而专家并行是吞吐量一号。>> 是的,对,酷。好的。是的,这再次,也许,是的,也许其他人不这么认为,但也许因为我在数据库领域,我一直在考虑像查询延迟以及为什么一个数据库比另一个慢?为什么一个查询比另一个慢?所以对我来说,这是一个显而易见的问题,为什么一个模型可以在两秒钟内给我一个答案,而另一个需要 20 秒的推理时间,对吧?就像嗯,是的,你嗯,Base 10 是你们自己托管 GPU 基础设施吗?还是你们在管理由其他大型云提供商如 AWS 提供的 GPU 基础设施?>> 确切地说,更像是后者,我们在嗯,十几个不同的云上嗯,但我们也可以嗯,如果你给我们一些 GPU,我们也可以在那些上运行。嗯,你把新的 GPU 想象成更像是嗯,一种容量,几乎就像一个会计问题。嗯,一旦一旦你有了它们嗯,推理看起来都一样,无论它们在哪里。>> 对,是的。有趣。好的。什么什么嗯,所以我不确定你有多熟悉,再次,我不知道你的嗯,背景有多好,但我非常熟悉整个数据库基础设施领域,以及如何设置它,以及最佳实践是什么,比如,你有一个应用程序,你连接到你的数据库,什么构成了良好的 HA 数据库,但至少大规模推理是一个相当新的问题,推理作为一件事已经存在一段时间了,对吧?但它过去几年从来没有被用得那么多,对吧?所以,现在最大的挑战是什么?是字面意义上我们没有足够的 GPU,英伟达需要制造更多的 GPU,还是有优化挑战,或者只是嗯,或者例如,为什么嗯,我不是说 Base 10,而是其他提供商有时你会看到他们的状态页面,他们说他们一直在宕机,而且就像为什么,为什么他们每天都在宕机,为什么这么难?所以,是什么让运行一个大型计算基础设施变得困难?>> 嗯,有很多挑战。嗯,我将从最后一个开始,因为你的最后一个问题,我认为这是一个非常有趣的问题。嗯,你运行你的嗯,你的数据库的这些机器,它们是基于 CPU 的,对吧?>> 是的。>> 它们多久会发生一次故障?就像机器本身多久会坏掉?>> 不太频繁。是的,有。所以,当你有一些非常大的数据库运行时,就像你有数千台服务器一起工作。>> 是的。当你有很多的时候,一个会经常坏掉,你只需要替换它,对吧?但就像一台服务器,它非常罕见,对吧?>> 如果你估算一下,比如每 N 个嗯,CPU 小时一次故障,>> 是的,也许一年一次,那是数量级,对吧?是的。可能多一点少一点,但是的,一年一次。>> 是的。 [清嗓子] 所以,嗯,如果你嗯,看看这个图表是嗯,改编自嗯,Llama 3 训练论文。>> 训练和推理是不同的问题,但它们仍然在 GPU 上运行,GPU 由于相同的原因而发生故障,就像 GPU 本身会发生故障,可能会发生基础设施故障,可能会发生网络故障,可能会发生依赖项断裂,但如果你只看纯硬件故障嗯,根据这些结果,你可能会期望每 50,000 个 GPU 小时发生一次硬件故障。所以,如果你运行一个 H100 AX H100 的单节点一年,你应该嗯,很可能嗯,超过 50% 的几率预期嗯,其中一个 GPU 在这一年里会直接坏掉。嗯,而且如果你想达到嗯,我猜想对于数据库提供商来说,四九的正常运行时间实际上并不算好。嗯,>> 是的,那是最低限度。49。是的。是的。>> 对于推理来说,49 是顶级的。嗯,是的,那是一年几分钟的停机时间。59 是一年几秒钟的停机时间。嗯,我们已经实现了嗯,>> 我认为实际上是每月。我认为是每月几分钟,而不是每月几秒钟。差不多是这样。但但是的,我明白你的意思。是的。>> 是的。所以,就像>> 我想说的是,这似乎更难,因为显然有无数聪明人正在努力,但他们似乎仍然比数据库更容易宕机,对吧?>> 对。所以,所以第一个问题是,嗯,我试图用所有这些数字说明的是,我们正在建造的地面并不非常稳定。嗯,所以,>> GPU 本身相对频繁地发生故障。嗯,当一个 GPU 发生故障时,通常整个节点都必须被移除才能修复。嗯,所以,第一个问题是,如何检测 GPU 故障并然后自动嗯,根据它进行调整。嗯,所以我们做了很多关于嗯,主动主动可靠性,主动被动可靠性的工作。第二个问题是云提供商本身。嗯,虽然当然每个人都在努力工作,并且嗯,你知道,遵循所有可能的最佳实践,这个世界的现实是,嗯,你的云提供商会有区域性中断以及完全故障。嗯,有时恢复需要几个小时。>> 而且再次,就像你可以直接告诉客户,嘿,我们的 SLA 是排除云提供商的停机时间。嗯,或者你可以再次,弄清楚如何嗯,故障转移,这样你就有一些 GPU 在 AWS 上运行,一些在 GCP 上运行,然后嗯,>> 完全正确>> 把东西放在需要的地方。嗯,所以,老实说,这和嗯,使分布式数据库成为我们行业可靠性基石的嗯,系统工程工作是相同的。嗯,只是从一个数量级嗯,更不稳定的东西开始嗯,然后应用相同的严谨过程,但嗯,更多,我想。>> 因为,是的,在数据库世界里,情况也是如此,对吧?我们在云提供商上运行,但这些节点可能会在任意时间发生故障,所以我们我们已经非常擅长进行故障转移和所有这些事情,以至于看起来好像从来没有问题,即使有时有问题,我们也只是掩盖了它们,对吧?>> 是的。然后一切都只是嗯,需要更长的时间,因为你知道节点获取时间,实际启动 GPU 比启动 CPU 需要更长的时间,嗯,长得多。然后你必须将你的镜像流式传输到它,而你的镜像要大得多。嗯,我不知道 Postgress 镜像有多大,但我猜想它小于一 GB。>> 嗯,我不知道,但是的,可能小于一 GB。是的。>> 是的。通常我们的镜像会是那个大小的 10 到 50 倍。>> 好的。是的。>> 然后你必须流式传输权重,再次,那些可以是 500 GB。嗯,然后你必须嗯,启动服务嗯,这相对来说很快。嗯,所以,是的,在出现问题后恢复,即使你马上就能拿到一个节点,如果你认为每秒一 GB 的带宽很棒,这实际上是嗯,在几乎所有情况下,加载权重需要 500 秒。这只是,>> 你知道,你不能不能这样。嗯,>> 是的,实际上,这是一个非常好的观点。是的。这就像你期望超低延迟,但即使有好的硬件,也有所有这些嗯,非常缓慢的操作必须发生才能使其工作。是的。>> 然后然后还有一件事是,嗯,世界上大部分的容量是嗯,Hopper 容量或更早的。 Blackwell 出来了,Blackwell 是最新一代的 Nvidia GPU。一年多前就出来了,但它们仍然比 Hoppers 和之前的要稀缺得多。>> 而且还有就是嗯,>> 实际的内核级工程工作几乎随着每一次发布而改变,特别是随着嗯,Hopper,然后更重要的是 Blackwell 引入了全新的异步编程范式 CCUDA。嗯,为变压器嗯,前向传递的每一步构建一个高度优化的内核是一项艰巨的挑战,而且由于出口管制的存在,中国目前的大部分开源研究仍然是为 Hopper GPU 构建的。>> 嗯>> 有趣。所以,即使我们已经到了 Blackwell 生命周期的一半,但要成为 Blackwell 推理和 Blackwell 内核编程的真正专家仍然是一个有意义的挑战。嗯,我顺便说一句,我看到这个情况发生在三四年前的 Hopper 上。就像行业花了几年时间才嗯,跟上硬件。嗯,而且我猜想我们会继续看到这个周期。就像我非常非常期待 Reuben。当你看看芯片架构和完成 tape out 并大规模制造芯片的时间线时,Reuben 是第一款在大型语言模型推理不仅仅是理论上的世界里设计的 GPU。>> 对,是的。所以它应该非常擅长它。>> 是的。你甚至可以在嗯,早期的说法中看到,他们正在大力推动解耦,他们嗯,正在大力推动 VRAM 带宽,这非常非常关键,嗯,以及嗯,VRAM 容量,嗯,到嗯,低精度 FP4 FP8 张量核心嗯,就像所有已被证明对推理有效的都嗯,正在到来,但再次,整个行业需要很长时间才能嗯,弄清楚如何充分利用这些芯片的潜力。是的,我想我们有一个问题来自 Ahmed,他在 LinkedIn 做基础设施。所以他非常了解嗯,数据库基础设施和其他类型的基础设施,但他很好奇,你的书是否讨论了 GPU 健康检查、修复、调度、编排。这是你涵盖的内容吗?>> 我在高层次上触及了它。就像,坦率地说,我不是一个基础设施专家。我更了解 GPU 上发生的事情,而不是我们如何获取 GPU 以及权重如何到达 GPU。所以,在 GPU 上是书中的六到七章,以及围绕它的所有基础设施内容是最后一章。嗯,这嗯,我肯定很想了解更多。嗯,但老实说,我认为对于一个嗯,这个人叫什么名字?Amit。>> Attit 是的。嗯,很高兴见到你 Amed,谢谢你嗯,加入直播。对于像你这样的人,我认为像推理工程这样的书的价值在于,你可能已经了解了很多嗯,基础设施层面的东西,所以你可以将它与嗯,在你配置好 GPU 后,实际发生在 GPU 上的事情进行匹配。>> 好的,酷。我这里还有一个。我正在尝试弄清楚,也许你比我更了解,所以这可能是一个愚蠢的问题,但如果我们并行进行推理>> 是的。这些并行 GPU 如何保持上下文,以免它们发送生成相同的结果?>> 那是>> 我不确定我是否完全理解这个问题,但也许你明白。>> 是的,这是一个有趣的问题。所以,如果我理解正确的话,就像你发送一个请求到八个 GPU,你得到一个答案而不是八个答案?嗯,那是因为嗯,并行策略,你实际上是在 GPU 之间分片权重嗯,但你共享嗯,你分片权重嗯,但你共享上下文来回传递。所以,在一个八个 GPU 的节点上,你有一个非常高的带宽互连,叫做 NVLink,嗯,它允许你来回发送数据。它仍然嗯,比比如 VWAM 带宽慢得多。嗯,但它嗯,它足够快,你可以发送嗯,隐藏状态来回传递嗯,并进行所有减少等等。嗯,所以,你知道,我认为可视化并行的最简单方法实际上是专家并行。嗯,张量并行更依赖于对实际嗯,实际模型架构的深刻理解。但如果你想到一个专家混合模型,比如我们有一个简化的模型,有 16 个专家,你有八个 GPU,基本上每个 GPU 上有两个专家,而专家混合输入的工作方式是,在每次通过模型时,每次你生成一个 token 时,就像在每个级别上击中几个专家。所以,也许是每个级别两个专家。所以,你可以想象在前向传递中,你就像在 GPU 之间跳跃。你甚至可以嗯,就像把它想象成一个大学生,有所有的教授在他们的办公室里,他们想弄清楚一个答案,他们就在不同的办公室之间跑来跑去,一点一点地得到答案,然后最后他们走出大楼,知道答案。嗯,所以,是的,这就是嗯,这就是嗯,系统能够嗯,有效地使用并行化,而不会重复工作。嗯,然后所有这些东西也将存储在叫做 KV 缓存的东西中。嗯,所以,如果你想到 KV 就像键值,嗯,然后你就像,“哦,键,缓存,该死。”>> 嗯,我读了,不是整本书,但今天早上读了书中的几部分,这是嗯,这是我正在阅读的组件之一。是的。是的。>> 所以,所以这就是嗯,这就是如何在请求中,你如何记住你在推理过程中的位置。嗯,然后也就像在请求之间,你实际上可以保留那个 KV 缓存,然后在下一个请求上嗯,可能跳过预构建的一部分嗯,并利用它来加速自己。>> 好的。是的。我很好奇。这稍微改变了话题,但就像这本书涵盖了 [清嗓子] 这么多东西。你是怎么学会这一切的?因为就像再次,你出版这本书的一部分是因为你希望其他人了解更多关于这个,成为推理工程师。你是怎么学会的?因为你没有这本书来教你如何做到这一切,对吧?>> 所以,我在 base 10 工作了四年多。>> 哦,哇。好的,酷。>> 当我来到这里时,我对此一无所知。嗯,但幸运的是,就像世界上其他人也一样。 [笑声] 嗯,>> 那么,四年,那甚至是在人工智能炒作真正开始之前,对吧?就在它开始的时候。>> 是的。我在 ChatGPT 发布前将近一年加入了 B10。>> 哇。好的。哇。>> 所以,你知道,我当时嗯,我非常痴迷于人工智能,并且有一个非常强烈的论点,即人工智能将成为它现在这样的大事。不,我开玩笑的。我完全不知道。我当时知道我会买很多英伟达股票,然后嗯,就像,你知道,玩了几年电子游戏。>> 你现在就不会在这里了,因为你会在游艇上或者别的什么地方。>> 我即使有游艇也会来你的节目。嗯,但你知道,我我完全不知道,当时我完全不知道它会像这样变大。嗯,我只是,我在大学毕业后在几家不同的公司工作过,而且我并没有在任何一家公司找到很多机会,我正在寻找一个我感觉我可能会在那里待一年,而且我嗯,认识了一些在 BAS 工作得很酷的人。我嗯,冷邮件说,“嘿,我可以来这里当技术作家,写你们的文档吗?”嗯,我我我进去了,然后嗯,我只是留了下来,再次,我的第一份工作是技术作家。所以,我花了嗯,几年时间,只是为平台写文档。>> 嗯>> 是的,你必须真正理解平台才能做到。所以,是的。然后然后我转到了 Devwell,我做的很多事情都是博客文章和会议演讲,基本上我坐下来和一个工程师谈话,他们会嗯,解释他们所做的一切,然后我把它包装成一种可供更广泛的工程师受众理解的方式。>> 所以,在那段时间里,在那四年里,你知道,我只是嗯,我学到了所有这些东西。然后大约六个月前,当我有了写这本书的想法时,我们真的开始加速增长,尤其是在招聘方面,我我看到人们进来,非常聪明,有经验的人>> 然后说,嗯,我实际上不知道如何教你这些东西,因为你没有四年时间可以嗯,只是坐在这里学习,在嗯,在那些做这件事的工程师的脚下。你需要知道。>> 你必须立即上手。是的。是的。完全正确。>> 嗯,所以,你知道,这部分嗯,我受到启发,让我说,嗯,也许我可以在一个地方写下我所知道的一切。>> 是的。而且而且绝对>> 对你来说最有趣的部分是什么?就像你做的所有事情,你的会议演讲等等,你最喜欢推理的哪个方面,或者教育?我认为模型性能技术,就像应用研究一样酷,因为如果你看看,>> 当你说的时候,你的意思是像基准测试之类的,还是你的意思?>> 我的意思是,就像,就像你使用的技术,你知道,如果你去人工分析,让我展示一下。如果你去人工分析,然后看看嗯,>> 我们对一个开源模型的性能,你知道,还有其他几家公司也很好地解决了模型性能问题。嗯,但如果你看看那个,然后看看嗯,另外十个提供商,你知道,你可以看看像 Kimmy 这样的东西,我们会达到每秒 300 个 token,而长尾提供商会达到 50 个。所以,为什么,你知道,我们实际上在做什么?嗯,>> 是的,那是在相同的成本下,还是在可比的成本下,但速度快得多。>> 是的,通常更低,实际上。>> 哦,哇。好的。>> 但除非除非有人觉得,你知道,除非其他人只是在低于成本销售。嗯,>> 但因为,是的,因为有了更好的优化,你就能获得更多的吞吐量和更多的延迟,而且你可以嗯,在两者之间的嗯,高效前沿上任意移动。嗯,总之,就像,在医学领域,你知道,你可能会做研究,然后十年后会出来一种商业药物。而在嗯,比如物理或数学领域,嗯,也许是嗯,在前沿研究发表和嗯,实际看到它之间有几年的差距。而在这里,就像>> 人们做研究,然后它就在生产环境中运行,为世界上最大的公司服务,比如每月。是的。>> 那太酷了。所以,你知道,当我坐下来写这本书时,我实际上只打算写第五章。嗯,关于>> 哪一章是第五章?>> 性能技术。它是嗯,它是量化,投机解码,KV 缓存重用,并行化,解耦,批处理,就像所有这些嗯,所有那些酷的东西。然后我意识到,嗯,实际上你需要了解堆栈上下的一切,因为这是所有这些,都是为了嗯,提供上下文和使其有意义。>> 但那绝对是我最喜欢的部分。嗯,我喜欢嗯,应用研究部分。嗯,以及如何利用这些技术来嗯,让模型在生产中运行得更快。>> 是的。你对嗯,再次,那更像是实际的模型性能,但你对嗯,评估基准测试的看法是什么?对吧?有所有这些基准测试,人们会发布,对吧?有时它们似乎很有用,有时它们似乎毫无意义,因为就像,嗯,这个得分很高,但当我使用它时,>> 它感觉很糟糕,对吧?所以,就像>> 评估模型的最佳方法是什么?>> 你知道吗?基准测试可能是现在最大的未解决问题。嗯,>> 我给你举个例子。就像语言模型的涌现行为并不总是符合预期。你会认为语言模型在校对方面会很棒。嗯,你知道,就像在文本中找到客观错误似乎是语言模型会非常擅长的事情。>> 是的。>> 嗯,我试着让它校对我的书。嗯,[笑声] 而且,你知道,如果你对如何构建人工智能应用程序有一点了解,你就会说,“嗯,Philip,那是个愚蠢的主意,因为有上下文退化。就像,如果你把一整本书,也就是 47,000 字,这可能取决于你的分词器,60,000 到 70,000 个 token。如果你一次性把它们都扔进模型,它会感到困惑。”我说,“是的,绝对。”所以,让我们构建一个工具。让我们一次一页地通过这本书,并提供一个非常清晰的提示,说明错误是什么样的,并提供一些示例。>> 让我们确保我们运行它通过每一个前沿模型,而不仅仅是一两个,这样我们就能从不同的角度来看它。嗯,而且,你知道,要么我写代理工具很糟糕,这完全有可能,因为我是一个让模型变快的人,而不是一个让模型有用的人。>> 或者校对是它们实际上相当糟糕的事情,因为它抓住了,你知道,书中可能几十个错误,然后我把它们修复后发给了一个人类校对员,他又抓住了大约一百个。>> 对。是的。所以我们需要一个光标机器人,但我们需要它为作者,你知道,机器人之类的。是的。>> 完全正确。所以,所以,你知道,可能只是一个嗯,我组织系统的方式有问题,但也有可能,就像你会期望语言模型能够处理的事情。嗯,而且,你知道,所以,所以可能我发现了一些某种嗯,你知道,新颖的经济上有价值的任务,而语言模型现在还不能胜任。而且>> 对>> 如果是这样,那么我想为它构建一个基准。但但你实际上是如何做到的?你实际上是如何构建校对评估的?因为>> 你该怎么做。你发布你的书稿作为基准。你说这里有 150 个错误,然后看看它抓住了多少。对。>> 是的。是的。但一般来说,你的评估应该有成千上万或数万。>> 所以,这是一个测试用例。是的。我是在要求 LLM 生成合成错误,但然后它们会生成它们已经知道是错误的错误吗?嗯,是去很多作者那里,问嗯,“嘿,我能拿到你们书的草稿,让你们的编辑标记出来,这样我就可以让你们编辑失业了吗?”而且 [笑声] >> 那不会受欢迎。嗯,>> 是的。是的。>> 是的。所以,嗯,评估中的大问题通常是设置评估。就像一旦你有了数据集,一旦你有了确定输出是否正确的机制,就像你可以很快地爬坡到一个模型,包括在许多情况下,一个更小的微调模型,它在这个类的问题上表现出色。这是我们现在在这里做的很多事情。我们增加了一个训练后团队。嗯,我们现在做了很多嗯,很多数据收集和嗯,与客户进行评估工作。嗯,而且>> 哦,是为了嗯,为了制作嗯,基本上是为他们的用例定制模型调整。>> 完全正确。因为,就像,切换到开源的方式不是,就像,嗯,我一直在用 Opus 做所有事情,现在我要插入 DeepSeek,然后我将在上面运行所有东西,然后我的整个应用程序将便宜十倍。>> 而且你知道,而且而且快五倍。那那实际上不是这样的。嗯,首先,你必须做的是,就像分解你的应用程序的任务,然后说,实际上,你知道,我有一个任务是搜索,我有一个任务是生成大纲,我有一个任务是写章节。我有一个任务是校对,然后你你有点创建所有这些任务,也许是一个更响亮的系统,它理解什么任务正在发生,并选择合适的模型,然后你围绕那个任务构建一个数据集。你选择模型,然后你把它微调,让它在这个任务上做得非常好。在某些情况下,你可以将你的嗯,模型微调到一个点,使其在该特定任务上比前沿模型更好。嗯,而且
那么,你知道你可以用 SFT 来做到这一点,你可以用 RL 来做到这一点,有很多这样的机制。嗯,一旦你有了数据和验证机制,然后你把它发布出去,突然间,你产品中的那个特定任务就会变得更快、更便宜,而且更可靠。那么,有没有一些公司,比如说,他们在他们的应用程序中有 20 个不同的 AI 用例,他们会为这些特定的用例调优 20 个不同的特殊模块模型吗?好的。嗯,我的意思是,如果你每年在推理上花费数千万甚至数亿美元,并且你可以削减成本,同时提高你的质量和可靠性,那么,那就值得了。就像,这是 100% 值得的。这些公司确实这样做,而且他们做得越来越多,这是一种前沿策略。有一小部分公司可能在一年前还在这样想,而现在有更多的人在这样想。是的。是的。那很酷。我有一个(清嗓子)问题。这看起来是一个两部分的问题,我们已经讨论过,但也许你可以更深入地谈谈。那么,在这个领域你如何实践?考虑到 GPU 的巨大成本,你在这个领域如何实践,这可能不是重点,但对于那些想成为你一样的人或者想进入这个行业的人,你有什么建议?是的。嗯,这有点像一个先有鸡还是先有蛋的问题,对吧?因为一旦你在任何一种 AI 公司找到一份工作,你基本上应该拥有几乎无限的计算资源。但是,你需要计算资源才能获得技能,才能在 AI 公司找到工作。所以,就像(笑声)它是如何发生的?你是怎么做的?首先,你不需要八个 B200 来练习设置 SG Lang 和练习理解并行性,你可以在 A10 上运行这些东西。你可以去,你知道,如果有人想设置一个极简的家庭推理设置,那需要多少钱?我的意思是,最低成本是,你可以在你的笔记本电脑上运行 Olama,然后玩玩它。我还认为,在语言模型之外的许多领域成本要低得多,比如图像生成,ComfyUI 和整个家庭图像生成实验室之所以成为一个庞大的开源社区是有原因的,因为很多消费级硬件甚至可以运行这些模型。你可以在你的手机上进行音频和视频的输入输出。哇。你可以在浏览器中进行嵌入式模型。你可以在浏览器中进行分词器。有很多有趣的东西你可以构建和学习。你可以去看看一些“从零开始构建 GPT”之类的课程,这些课程通常是构建一个 GPT2 类型模型,你可以在普通的消费级笔记本电脑上构建和运行。然后还有很多便宜的云 GPU,比如 Ampere 系列 GPU,A10,Lovelace L4,T4,甚至是一两代之前的。那么,这些需求较低,所以更容易获得一个吗?它们通常可以租用,每小时不到一美元。所以,是的,这个行业绝不是便宜的。但是,有很多教育资源在那里,而且,你知道,再次强调,除非你已经到了“哦,天哪,我写的内核必须在 Blackwell 上运行,因为我需要这个特定的平铺模式”的地步,否则你已经远远超出了 Blackwell GPU 公司会非常乐意给你提供你想要的数量的程度。是的。在 Base 10,你们在寻找什么?你们想雇佣的工程师有什么样的特点?因为我猜你们会雇佣一些已经是专家的人,也许也会雇佣一些不是专家但有潜力成为专家的人,对吧?是的。幸运的是,我们现在处于一个我们可以与我们感兴趣的任何领域的顶尖专家合作的地位。这绝对不是我四年前的情况,我四年前的那个人今天不可能被 Base 10 雇佣,因为那个人。你的时机非常好。是的,是的。但是,你知道,你不必成为所有领域的专家。我们最近雇佣了一些为一些容器框架和容器库做出开源贡献的人,来帮助我们处理一些应用程序安全问题,以及帮助我们处理一些冷启动和基础设施方面的挑战。我们雇佣了很多“水外”的人,在很多情况下,他们有来自 Nvidia 等公司的经验,并且之前处理过一些模型性能方面的挑战。但是,比证书或经验更重要的是,我们寻找的是卓越能力的证据。如果你一生中做过一件了不起的事情,那么你更有可能再做一件。我四年前申请 Base 10 的一个重要原因是,我写了一本书并出版了,取得了适度的商业成功,这表明我能够做许多其他同样困难的事情,直到我再次做同样的事情。是的,你做了同样的事情。是的。但是,是的,所以,这更多的是关于你是否做过很酷的事情,以及你是否对我们关心的技术之一有非常深入的了解,如果这两者都成立,那么其他一切都可以通过良好的态度和强大的职业道德以及所有正常的必备条件来学习。是的,这是我们在 Planet Scale 经常谈论的,我们使用“P99 工程师”这个词,对吧?意思是 99 个百分位。这并不意味着你在背景等方面是 99 个百分位,而是你是否拥有那种“我要学习,我要努力工作,我要出色地完成工作”的驱动力?是的。所以,这在面试某人时,既有些具体,又有些难以捉摸。幸运的是,如果你在寻找一个 99 个百分位的工程师,假设全世界有大约 2000 万软件工程师,这意味着你有 20 万人可供选择,这实际上是一个相当大的数字。是的,很多。而且,如果你在那里,你想成为其中一员,那么,跻身前 20 万名并不难。是的,如果你现在开始工作,开始学习,努力工作,你绝对可以进入这个群体。好的,让我们看看,还有一个问题,我们快到时间了,所以我们会很快结束,但我看到了这个问题:你如何看待 Rust 推理库,比如 Candle、Burn、Tract?你是否看到了 Rust 在推理工程中的未来?我完全无法回答这个问题,但我不知道这是否对你来说是一个好问题。我绝对从未听说过这些人。我非常专注于 Python 加 C++ CUDA 的堆栈世界。好的。是的。我想说的是,我越来越多地看到,甚至自己也尝试过一些有趣的事情,那就是使用 AI 编码工具来编写我不知道的语言的代码,因为我非常只是一个普通的 Python 和 JavaScript 开发人员。而且我知道像 Rust 和 Go 这样的语言具有大大更好的性能特征,而且在很多情况下,它们只是因为缺乏对语言的普遍了解而受到限制。所以,我肯定不会感到惊讶。我们确实发布了一个用于嵌入式的客户端库,它利用了很多 Rust 的东西。所以,是的,瓶颈是什么?基于 CP Python 的客户端是 CPU 密集型的,实际上无法发送足够快的请求来饱和服务器。我敢肯定,这实际上是你熟悉的。绝对。是的。这是一种很棒的语言,但它是一种慢语言。是的。所以,是的,我虽然不了解这些特定的库,但我确实可以想象一个未来,在那里,最适合这项工作的编程语言可以被更多地使用,而不仅仅是大家普遍认同的编程语言。我觉得 Python 和 JavaScript 就像英语一样,它们是一种功能相对齐全且成功的语言,这得益于大规模的协调,而不是像一个更晦涩的语言,它有更好的诗意特征或信息密度更高,或者别的什么。但就是没有背后的全球协调机制。是的。(鼻哼)不错。好吧,我想我们在这里结束。你想再次推广你的书,或者有什么想留给观众的吗?你想说什么?我想推广我的书。我整个七月都在推销书。展示一下书。就是它。它叫做“推理工程”。它有一个非常闪亮的封面。如何获得一本?你不能。我卖完了。所有这些今天都会发货,但我还有很多。所以,我们下周会有一大批货。你可以去 b10.com/influence engineering。加入等候名单购买一本。我们有 PDF 和 EPUB。它们是很好的文件,有很好的布局等等。所以,你可以暂时下载它们。也许获得实体书的最佳方式是,如果你要去 GTC,来 Base 10 的展位。那将是我们进行的第一次大规模的现场赠送活动。但是,是的,我们正在大量印刷这些东西,我们想让人们拿到它们。不错。太棒了。好吧,谢谢 Philip。感谢你的到来,也许我们很快会再聊。是的。是的,绝对。非常感谢你邀请我。很高兴与你聊天,Ben。好的。谢谢大家。再见。