预测人类意图:为何需要超越Next Token预测
Yobi CTO分享为什么下一Token预测不适合意图预测,揭示用Transformer+图神经网络构建行为模型的实践经验。
Yobi CTO分享为什么下一Token预测不适合意图预测,揭示用Transformer+图神经网络构建行为模型的实践经验。
Yobi 是一家行为 AI 公司,为广告科技、营销等领域构建预测未来行为的基础模型。
你可以通过 fportman.com 或 yobi.ai 与 Frank 联系。
恭喜 Hooked 获得 Populist 徽章,他们在"移除已保存图像周围空白"问题上的回答获得了认可。
Ryan Donovan (00:01.103) 大家好,欢迎来到 Stack Overflow 播客,这是一个讨论软件和技术的地方。我是 Ryan Donovan,是本节目的主持人。今天我们要讨论的是 LLM 在非语言任务上的失败,比如意图预测。我的嘉宾是 Frank Portman,他是 Yobi 公司的 CTO。所以欢迎做客本节目,Frank。当然,在我们开始今天的话题前。
Frank Portman (00:21.72) 感谢邀请。
Ryan Donovan (00:27.993) 我们喜欢先了解一下我们的嘉宾。你是怎么进入软件和技术领域的?
Frank Portman (00:32.832) 这是个很好的问题。我从事这个行业已经有一段时间了,但实际上很久以前,我想成为一名数学家。
Ryan Donovan (00:41.627) 差不多啦,对吧?
Frank Portman (00:42.894) 差不多,我觉得我的成长故事与许多从事技术工作的人非常相似。当我很小的时候,我喜欢电脑,喜欢电子游戏,喜欢折腾,但我绝对不是那种在 13 岁就在编程的人。我只是知道怎样在我的电脑上打开终端。
Ryan Donovan (00:53.115) 嗯。
Frank Portman (01:03.134) 这很先进,但也不是太离谱。但我就像,好吧,技术很酷,但我喜欢数学,所以我实际上是为纯数学而上的大学。
Ryan Donovan (01:06.031) 嗯。
Frank Portman (01:15.628) 我完成了学业,我仍然觉得它超级有趣,但一路上我们必须上几门课程,这些课程不只是我们直接专业的范围,我觉得这很常见。所以我说,好的,让我们做应用数学。我不只是做纯数学。具体来说,让我们选择那些必须自己实现矩阵乘法的课程,然后看看。突然间我不再是那个向别人请教的人了。反而别人在向我请教。
Ryan Donovan (01:30.019) 对,对。
Ryan Donovan (01:42.171) 是的。是的。
Frank Portman (01:42.988) 你明白我的意思吗?然后我想,也许这里面有什么东西,因为做你擅长的事总是很有趣的。我觉得这对我来说真的很有趣,编写软件和用软件解决问题就像一系列的小谜题。顺便说一下,这不是软件工程的工作。我认为这就像你所做的编码,软件工程的工作是关于解决业务问题的,我们可以涉及那一点。
Ryan Donovan (02:06.683) 嗯。
Frank Portman (02:12.422) 但我觉得这很有挑战性,也很有成就感,这正是数据科学和机器学习成为非常热门的关键词的时候。所以,好吧,尽管我这方面没有正规培训或教育,但我确实有数学和统计学背景。看起来我编码也很擅长。让我试试看。进入这个领域很困难。你知道,没有什么比找到第一份工作更难的了,我想。但从那时起,这就是我一直在做的。
Ryan Donovan (02:22.639) 对。
Ryan Donovan (02:41.199) 是的,显然这些天矩阵乘法相当火热,是吧?
Frank Portman (02:46.752) 现在确实火热。这些天一切都归结为这个。
Ryan Donovan (02:50.677) 是的。所以讲讲,你知道,我听说过有人用 LLM 来做一种通用的、抽象化的下一个 token 预测,其中下一个 token 可能是意图信号、可能是流程中的步骤、可能是链中的行为。你为什么认为这是一种较差的方法或有缺陷的方法?
Frank Portman (03:20.104) 我认为有几个方面,我绝对欢迎你对我的任何观点进行质疑,因为我只看到我们自己做的东西,也看到这个行业在高层次上做什么。首先,模型的好处是它们会做你训练它们做的事情。但这也是最坏的地方。
Ryan Donovan (03:36.667) 嗯。
Frank Portman (03:39.454) 我不清楚为什么用归纳偏差来说,收集世界上所有的文本,也许所有的视频,非常擅长预测某些相当长的序列——说起来也很公平。然后也许对其进行微调,使其在对话中更令人愉快或更正确,这是非常主观的。对我来说,不清楚为什么这种归纳偏差会使这些 LLM 擅长的东西是这样。
比如预测或做出预测或决策,但它们在合成上下文中的信息方面是非常惊人的。它们在写代码方面是非常惊人的。
它们可以做各种各样的新兴事物,比如以莎士比亚的形式写说唱。但在不确定性下的决策制定是围绕模型意图和做出预测的事情。对我来说,不清楚为什么像"让我们只是训练来预测下一个 token"这样的归纳偏差可以将其构建到存在中。但我确实认为这些技术,比如 LLM,结合正确的工具。
Ryan Donovan (04:27.227) 好的。
Frank Portman (04:49.826) 你可以开始到达那里。我认为这就是为什么人们对智能体一切而不是相当像"LLM 统治一切"感到兴奋的原因,如果你明白我的意思的话。
Ryan Donovan (04:54.562) 是的,是的。
Ryan Donovan (04:59.257) 是的。我认为你在那里提到了。这就像为了得到这种归纳偏差,你需要大量的基础数据。我认为我与从事意图的下一个 Token 预测的人交谈的地方是在非常受限的用例中,比如招聘工作或类似的东西。所以你在看一种更广义的意图预测。是这样吧?
Frank Portman (05:18.51) 嗯。
Frank Portman (05:27.374) 我对我们正在构建的东西的想法,也许我现在会给出这个定义。所以它会是,我认为我们自己是一家行为 AI 公司,构建行为的基础模型。
Ryan Donovan (05:35.323) 好的。
Frank Portman (05:38.926) 我认为这与例如文本生成、视频生成、图像生成的基础模型不同。有几个原因。我认为大部分不同的归纳偏差是进入其中的数据和我们训练模型的方式。我的意思是,也许重复地说,这些是任何模型的两个最大的因素。
Ryan Donovan (05:59.169) 是的,是的,是的。
Frank Portman (06:00.334) 对我们来说,这些是不同的因素。我们训练的数据是专有的。这是敏感的。我们可以谈论像为什么我们在做这张床,考虑到很多人看着我们说,这太难做了,但它是专有的。这是敏感的。它通常甚至可以识别为匿名 ID,比如匿名的浏览器会话或类似的东西。模型我们,它不总是文本。有时候是文本,但有时候它只是产品 A,这是。
再一次,我们有时为了隐私考虑而做的事情。然后我们训练的方式是我们不是在字面上尝试创建聊天机器人体验。我们在尝试创建一个我们称之为广泛预测的基础表示,未来的行为。这是我们的,这是我们的基础模型变体。这意味着如果它是广泛预测的,突然你可以为一个在训练数据集中没有的产品运行广告活动。而且它表现很好,就像基础对于 LLM 意味着,
显然在历史上,训练数据中从来没有像莎士比亚这样见面的东西。但它在这方面做得相当不错,对吧?那就是那种基础的涌现。
Ryan Donovan (07:04.325) 当然。是的。
Ryan Donovan (07:09.593) 是的。所以当你说行为预测时,它只是局限于广告吗?或者你也有一种长尾的、像《少数派报告》的角度?
Frank Portman (07:20.926) 这是个很好的问题。我会说没有少数派报告的角度。但我们不是一个广告技术公司,我的首席执行官会很生气,如果我在这里花太多时间谈论广告。我们是一家行为 AI 公司。我们可以讨论为什么我们首先在广告领域工作。我实际上认为这很有趣,因为我对此相当陌生。我的意思是,我在这里已经四年了,但理论上,我对广告世界是陌生的。
Ryan Donovan (07:25.797) 好的,好的。
Frank Portman (07:46.498) 但我们看到自己正在建设和建立产品,可以在任何地方进行个性化决策或推荐。广告显然是一个非常经济上可行的地方,可以首先玩耍。
Ryan Donovan (07:59.704) 我的意思是,互联网是建立在广告上的。所以这是有道理的,这就是你应用行为预测的地方。那么如果不是 LLM,你们用什么样的模型呢?
Frank Portman (08:02.156) 是的。
Frank Portman(08:13.25):归根结底,这些架构往往看起来都非常相似。早年那篇论文的标题叫《Attention Is All You Need》,而且某种程度上确实如此。是的,我们使用大规模 Transformer。我们也使用图模型,因为我们需要处理一些语言模型不涉及的身份问题。例如,我们希望能够以某种方式关联各种匿名标识符,同时仍然尊重隐私。
Ryan Donovan(08:22.157):嗯。对。是的。
Frank Portman(08:39.062):所以,我们的技术栈中包含一些图神经网络的变体,但归根结底,注意力就是你所需要的一切,对吧?大规模 Transformer、正确的训练流程,以及足以训练这一切的电力。诸如此类的事情,才是我现在必须操心的。
Ryan Donovan(08:51.052):对。
Ryan Donovan(08:54.587):是的。
Ryan Donovan(09:01.143):明白。那训练流程与基于语言的 Transformer 有什么不同?
Frank Portman(09:12.334):具体到实际训练流程,当我们只是在数据中心里以分布式方式通过 GPU 运行 PyTorch 时,两者非常相似。我们确实会遇到一些有意思的问题——如果我钻得太深,你随时可以打断我——但在图模型领域,或者当某些 token 是离散且具有高基数的时候,比如所有网站,或者经过哈希处理的特定用户 ID 等,我们需要考虑归纳式模型与直推式模型之间的问题。归纳式模型能够以一种还算令人满意的方式,对任意一种新节点、新数据行之类的对象进行归纳。而直推式模型只能表示它训练时所包含的那些状态,之后就需要借助启发式方法,将新的表示归纳到模型中。
这些都是我过去在科技行业从事推荐系统工作时学到的知识。不过,这些知识对我们同样非常适用。比如说,行为侧的变化可能没有那么快。没错,某个地方可能新开了一家连锁店,我们或许应该把它纳入模型,但这并不是特别重要。用户侧的变化却大得多。
比如,你会做新的事情,也会偏离过去的某些路径。你以前可能看起来和某类人很相似,现在却走向了不同的方向。因此,我们确实必须能够以相对令人满意的方式处理新节点。正因如此,我们投入了大量时间来研究归纳式架构,而不只是直推式架构。
Ryan Donovan(10:43.579):嗯。
Frank Portman(10:52.364):不过,从定义上来说,LLM 在某种程度上就是归纳式的。归根结底,所有这些 Transformer 模型的内部某处——也许某位听众会说:“其实我找到了一个例外。”——都会有某种查询表,用来存储与特定 token 相关的嵌入。
Ryan Donovan(10:57.551):对,是的。
Ryan Donovan(11:05.989):嗯。
Frank Portman(11:14.398):这个表当然可以训练,对吧?我不是说它被冻结了或固定不变,但它确实存在于模型内部的某个地方。在语言领域,我觉得其规模平均可能是六位数,也许七位数,但大概还是六位数,也就是几十万个 token。Transformer 能够以各种具备上下文感知能力的方式组合这些 token。仅仅给定 30 万或 50 万个基础表示,就能做到如今这些模型正在做的事情,这一点非常惊人。
而世界上的行为数量要比这高出大约三个数量级。基本上,这就是我们目前划分和处理它的方式。我们甚至还能把这个数字进一步提高。
Ryan Donovan(11:47.237):对。
Ryan Donovan(11:50.553):对。对于语言,你似乎可以预测将会出现的各种单词。你有嵌入,也有某种语义地图。但对于行为呢?在这方面,你们会退回到启发式方法吗?
Frank Portman(12:10.382):比如在运行推理时吗?还是……
Ryan Donovan(12:12.855):是的,比如遇到某种未知行为时。
Frank Portman(12:16.164):明白了。目前,我们的模型在行为侧采用直推式方案。我们有办法加入此前未见过的新行为,但这个过程与核心用户表示侧是以某种解耦方式完成的。这是我们希望进一步实现的能力,不过我不想说它不重要,只能说我们在这方面确实已经开始遇到收益递减。
Ryan Donovan(12:23.769):嗯。
Frank Portman(12:41.506):因为行为虽然很多,却未必会频繁更替。没错,新网站会不断出现,也会有各种新的东西。
Ryan Donovan(12:46.863):对吧?对。但人本身的底层基础不会改变。就像人类最基本的操作系统不会发生太大变化。
Frank Portman(12:56.236):是的,他们可能会做的事情,其总体集合不会变化,但他们实际做什么却会发生很大变化。这也正是这个产品存在的原因。
Ryan Donovan(13:00.443):是的。
Ryan Donovan(13:04.247):好,我想做一点推测,因为最近关于物理 AI 的讨论很多,而这项技术似乎可能适用于物理 AI。你们有在考虑这个方向吗?还是目前仍然专注于广告?
Frank Portman(13:20.438):你所说的物理 AI,是指机器人之类的东西吗?我觉得我们还是会专注于软件、个性化和预测。不过,你一开始提出的问题是:为什么 LLM 不擅长这件事?我们认为机会就在这里——无论哪家公司走向哪里,我们都可以成为决策层。
Ryan Donovan(13:23.523):是的,基本上就是机器人。
Ryan Donovan(13:42.085):嗯。
Frank Portman(13:47.106):无论这家 LLM 公司走向哪里,还是那家 LLM 公司走向哪里,或者无论最终形态是什么。
也许你根本不需要某些 AI 智能体,也许只需要工具。我认为,专有数据以及我们基于这些数据构建产品的专有方式,可以成为负责决策、预测和推理的那一层。至于实际的产品体验,无论是聊天机器人,还是每秒处理数百万次查询的实时 API 和广告服务器,几乎都无关紧要。当然,其中一种如今聊起来显得更性感一些,那就是 AI 智能体式的产品。
Ryan Donovan(14:17.421):好,那我们就聊聊这种 AI 智能体应用,因为我觉得很多人要么正在构建 AI 智能体,要么正准备进入这个领域。带有决策层的 AI 智能体流程会是什么样子?
Frank Portman(14:34.222):想想你在对话中试图凭空逼出答案的所有那些时候,比如:“我该做什么?”Predict 应该能够调用一个工具。也许可以。我的意思是,我觉得这需要深度合作,或者可能需要我们亲自构建。也可能有办法将这项能力直接内置到模型本身,就像把我们的表示以及我们所做的事情嵌入进去。但从实际效果来看,当上下文或当前任务需要某种预测或推荐时,就使用我们。
就实际接口和集成而言,我们现在还没有那么通用,但我认为我们可以做到。另外,我觉得这也引出了另一个问题:我们现在是不是正处于一种潮流之中,认为聊天是人与人之间,或者聊天机器人之间最理想的沟通方式?我不知道我们是否真的处于这样的潮流中。说清楚一点,我意识到刚才的措辞有些带倾向性,但我确实不确定。
Ryan Donovan(15:30.629):当然。不过,是的,这对人类来说似乎是一种自然且容易理解的方式,对吧?我们彼此之间就是通过语言交流的。那为什么不让机器人也这样做呢?
Frank Portman(15:41.132):是的,而且它确实奏效了,对吧?如果回顾 GPT 的起源,看看如今许多前沿实验室,比如 DeepMind——我当时也身处其中一些圈子——人们其实有点不服气,因为他们会说:“是啊,这不是显而易见吗?我们也能做到。”只不过当时这件事看起来没那么酷,也没那么有意思。但问题是,确实有人做了,对吧?有人投入了全部时间,把它做了出来,而且它奏效了。
Ryan Donovan(16:01.317):对。对。是的,是的。我和《Attention Is All You Need》原始论文的一位作者聊过。他说自己是在吃午饭时想到这个点子的,然后花了一个下午把它大致编码实现出来。就这样,它诞生了,对吧?是的。
Frank Portman(16:21.624):确实如此,而且你说得对。对你我而言,也就是对人类来说,语言绝对有某种特殊之处。但显然,从通用智能的角度更抽象地来看,语言可能同样具有特殊之处。我觉得这一点非常酷。语言中确实发生着某种不同寻常的事情。
Ryan Donovan(16:29.691):嗯。
Ryan Donovan(16:42.543):是的。说回 AI 智能体的决策,我在想,AI 智能体中是否存在不需要决策的流程?我真正想问的是:对于 AI 智能体而言,“决策”究竟意味着什么?
Frank Portman(16:58.83)这是个好问题。所以我认为,肯定有些事情并不需要做决策。我认为,如今 AI 智能体正在解决两个具有经济价值的问题,这是毫无疑问的。一个是编程。另一个我会宽泛地归类为「你口袋里的 LLM」。
它显然具有经济价值,因为人们愿意为它付费。至于我们究竟在用它做什么、为什么要这样做,我认为这方面稍微模糊一些,但它也会不断进步,对吧?某种意义上,我觉得「口袋里的个人助理」是说得通的。至于编程,我每天都能看到它的价值。它具有经济价值是毫无疑问的。我们在这方面投入了很多钱。
Ryan Donovan(17:38.841)很多公司都是如此,是的。
Frank Portman(17:41.184)而且我其实不认为这两个用例——我的意思是,编程可能比「让我们讨论一下 X、让我们自动化 Y」稍微更需要决策一些——真的需要大量决策。我用了「大量」这个词,可能算是稍微留了点余地。但对于编程这件事,是的,它需要做出这样的决定:我真的要把这段代码写出来,而且我可能会、也可能不会请求批准。
Ryan Donovan(17:55.524)是的。
Frank Portman(18:05.318)但至少在它已有的上下文,以及训练它时所使用的预训练内容范围内,这对我来说似乎更加可行。类似地,比如「嘿,你能查看一下我的日历吗?」它确实需要做出执行这个操作的决定。但你基本上已经明确告诉了它应该做什么。当我想到它如今无法做出的那些困难决策时,例子会是:「嘿,Chad GPT,我今天应该在营销上花多少钱?」
Ryan Donovan(18:21.723)是的。
Ryan Donovan(18:29.499)当然。我的意思是,我们真的希望它做出这类决定吗?我读过一篇关于信念卸载和情境性失能的论文,也就是把我们个人决策中的这些部分交出去。这不太好,是的。
Frank Portman(18:47.852)我同意。听着,我得谨慎措辞,因为我不想被这里各个不同阵营的人围攻。但我认为,AI 智能体编程如果使用方式不够明智,也在逐渐让我们变得迟钝。我们内部一直都在讨论这个问题。感觉我们的反应有点变慢了,比如在深入思考方面。
Ryan Donovan(19:14.681)是的,而且我读到过,这其实是把能力卸载给任何工具都会产生的一种结果,并不只是 AI 智能体,对吧?比如,我不会使用六分仪了;没有地图应用,我也不擅长在城市里辨认方向,对吧?是的。所以关于决策,我也想稍微聚焦一下,因为像选词、
Frank Portman(19:28.792)当然,是的。
Ryan Donovan(19:44.955)函数命名之类的,也属于细粒度的决策,但你所说的「决策」是另一种东西,对吧?
Frank Portman(19:52.94)是的。我想,一个具体的例子是,我们当前的产品每秒要处理
数百万次查询,基本上是为了判断:嘿,有人正在浏览这个发布商的网站。他们正在看这个电视节目。我有这个广告位。这是相关上下文。这是节目内容,或者这是 ESPN 上的一篇文章。我是否要展示任何内容?如果要,具体展示什么?确切使用哪个广告素材?它属于哪个广告活动?诸如此类。然后,
我们甚至可以先忽略延迟问题。因为我觉得人们有时会说:「嗯,是的,当然,聊天机器人没那么快。」但我们先假设它们足够快。即使拥有预训练时接触到的所有内容,以及上下文中的全部信息——而实际上,在这个例子里,上下文非常少,对吧?它只不过是「这是一行数据」。
Ryan Donovan(20:38.245)是的。
Ryan Donovan(20:46.149)是的,是的。
Frank Portman(20:50.734)它们要如何预测最理想的操作?它们需要进行预测。这不只是「我正在生成下一个词,然后觉得 get numbers 很适合作为一个查询数据库中数字的函数名」这么简单。而是:「天哪,我需要进行预测。」这取决于期望值。如果期望值要编码在生成序列的条件概率中,我认为那会是一种非常值得一看的模型。
Ryan Donovan(21:16.601)是的。嗯,而且我认为,要做出准确的预测,你需要某种历史数据;不只是那种已经固化在模型中的历史数据,还要有与上下文相关的历史数据。你会如何获取这类上下文,并将其应用于决策?是的。
Frank Portman(21:35.502)对于我们的用例而言,上下文以这种高度专业化模型的权重形式存在。因为我们构建的不是聊天机器人,所以关于这个特定发布商、页面,或者页面上可能存在的 token 的上下文,都会被固化到模型中,因为它们在行为预测方面更加专业。
Ryan Donovan(21:43.803)嗯。
Ryan Donovan(21:57.861)你……
Frank Portman(21:57.934)但对于纯语言模型,一切都以归纳方式来自这个包含 30 万、50 万个 token 的表格,当然,其上还有极其复杂的 Transformer,但所有内容都是从中归纳出来的。与任意一个特定发布商有关的上下文确实存在,因为这些模型确实拥有世界模型,但我认为,若要用于个性化之类的目的,它还不够细致。
Ryan Donovan(22:17.765)嗯哼。
Frank Portman(22:22.7)它可以长篇大论地告诉你,McDonald’s 和 Burger King 之间的相似度高于 McDonald’s 和 H 之间的相似度。但对于推荐而言,这些只不过是些小把戏。
Ryan Donovan(22:28.485)对。
Ryan Donovan(22:32.421)嗯,对。我的意思是,这就很有意思了,算是进入了不同的……比如,区分两家汉堡连锁店只是个小把戏,而这几乎像是一个品牌忠诚度问题,对吧?就像你喜欢 Jets 还是 Giants?嗯,所以,你刚才提到你们每秒要运行相当可观数量的查询?
Frank Portman(23:02.167)然后……
Ryan Donovan(23:02.715)具体是哪一种……