
Andrej Karpathy 又说了些业界不爱听的「大实话」。
上周,在与知名播客主持人 Dwarkesh Patel 的对谈中,Karpathy 非常直白地指出了当下 LLMs 研究进展、Agents 存在的实际问题。
观点看起来有点悲观。
「AGI 仍需十年时间」、「LLM 认知有缺陷」、「强化学习很糟糕」……
但抛开在对话中这些看似「激进、唬人」的批判观点,在这场对谈中更值得关注的是,Karpathy 对于 AI 的深入理解以及思考逻辑。站在原点,从问题的本质核心出发,去理解 LLMs、Agents 现存的一些问题。
我们转载了「机器之心」的全文翻译,没做删减和「二次咀嚼」,希望读者能更好地感受 Karpathy 的思考方式,毕竟同样的内容,每个看的人「对齐」的重点也不一样。
Karpathy 在对谈后,对于一些关键争议点做了补充回应,一并整理在文章中。
播客链接:https://www.youtube.com/watch?v=lXUZvyajciY
全文翻译来自「机器之心」。
超 15000 人的「AI 产品市集」社群!不错过每一款有价值的 AI 应用。

最新、最值得关注的 AI 新品资讯;
不定期赠送热门新品的邀请码、会员码;
最精准的AI产品曝光渠道
Karpathy 的回应:
不是唱衰,而是没那么乐观
播客发布后,昨天 Karpathy 又专门发了一篇帖子,回应大家比较关注的几个争议点。
原帖地址:https://x.com/karpathy/status/1979644538185752935
首先是,对于 AGI 实现时间的回应。
Karpathy 认为,他对「AGI 时间线」的预测,从整体上看,十年原本应该是一个非常乐观的 AGI 实现时间线。只是在和当下普遍存在的过度炒作氛围相比,才显得「不够乐观」。
播客中提到的:2025 年或许是智能体的元年,但接下来的十年都将是「智能体时代」,来自于此前他关于 OpenAI Operator 智能体的观点。
Karpathy 对「AGI 时间线」的预测比硅谷 AI 圈子里普遍的乐观情绪悲观大约 5 到 10 倍,介于极度乐观的炒作和极度悲观的怀疑论之间。他解释说,这种看似矛盾的立场但其实并不冲突:
肯定了进展:近年来,大语言模型(LLM)确实取得了巨大的进展,这是不可否认的。
也指出了挑战:但同时,距离真正实现一个「在世界上任意岗位都更想雇它而不是雇人」的实体,仍然有大量的工作需要完成。这包括了基础的苦活累活、复杂的系统集成、将 AI 连接到物理世界的感知与执行系统、解决社会层面的协同问题、以及至关重要的安全与防护工作(例如防止「越狱」和「投毒」攻击),此外还有深入的理论研究。
对于动物 vs 幽灵
Karpathy 表示,对「苦涩的教训」 并不是不加批判地全盘接受。他认为,当前的 LLMs 与动物智能都并不是从零开始学习的,而是通过不同方式「预装」了大量智能。但仅通过这种「预装」方式,也就是 LLM 的 pre-training,是否真的可行,Karpathy 很怀疑。
前沿的 LLMs 是高度复杂的产物,在预训练数据、微调数据和强化学习环境调优等所有阶段都融入了大量人类智慧。但是否存在一个单一的、简单的算法,能够让 AI 在没有任何预设下从零开始学习一切。如果这样的算法真的被构建出来,那将是 AI 领域最不可思议的突破。
Karpathy 强调,动物并不是「从零学习」的典范。他认为,动物通过进化被预装了大量的智能(例如刚出生就能奔跑的小斑马),其后天进行的学习总体上是相当有限的。从工程角度看,我们无法重演进化过程。
通过 LLMs,我们偶然发现了一种替代方法来「预装」大量智能到神经网络中,不是通过进化,而是通过预测互联网上的下一个 token。这种方法产生了与动物不同的智能实体,他将其比作「幽灵」(ghosts)或「精灵」。我们应该随着时间的推移让这些智能体变得更像动物,这也是许多前沿工作的目标。
对于强化学习的局限性
Karpathy 此前也已经多次批评过强化学习。Karpathy 认为,RL 就像「通过吸管获取监督信号」,导致「信号/计算量比」非常糟糕。
同时,传统 RL 的「信噪比」太低且容易受干扰。RL 过程的噪声很大,因为即使一个错误百出的任务,如果最终碰巧达到正确答案,可能会被鼓励,同样,即使包含 Brilliant 洞察力的 Token,如果后续出错,也可能会被抑制。
Karpathy 认为,未来会出现替代的学习范式。比起强化学习,在长期上,他更看好「智能体交互(agentic interaction)」。最近观察到近期一些关于「系统提示学习」(system prompt learning)方向的论文,是正确的探索方向。
但 Karpathy 也提到,arxiv 上的理论想法与前沿 LLM 实验室实际的、规模化、通用性的实现之间会有差距,但总体上非常乐观,很快将在这一关键领域看到良好进展。比如,ChatGPT 的内存功能,就是这种新学习范式在实际部署中的原始示例。
后续,他对这个又做了新的补充:
我觉得有个误会——我不是在说要「替代」强化学习(RL),这不对。我之前想澄清,但没讲清楚。它们其实是分层的。
第一层:基础模型的自动补全(base model autocomplete)。
第二层:指令微调(SFT),也就是让模型学会「像助手一样」回应(参见 InstructGPT 论文)。
第三层:强化学习(RL),这让我们能优化采样过程本身,抑制幻觉、卡壳重复等问题,还能让模型学会像「第 37 步」(move 37)那种风格的复杂推理——这些是单靠 SFT 很难做到的。
我认为这三层都会长期存在,是最终方案的一部分。但我想说的是,我们还需要第 4 层、第 5 层、第 6 层……新的想法和机制。最终实现 AGI 的「配方」里,强化学习一定还是关键环节——就像人类用强化学习去塑造各种行为一样,它是工具箱里非常强大的那一件。
对于认知核心(Cognitive core)
Karpathy 给出了「认知核心」更明确的核心思想:通过精简 LLMs、降低其记忆能力或主动剥离记忆,来提高 LLM 的泛化能力。
现在的 LLMs 过度依赖记忆,而人类没办法清晰记忆的特点反而可能是一种有益的正则化。与 LLMs 相比,人类的「缺陷」更像是一种特性。
关于模型大小趋势的「反向」,Karpathy 提到,模型需要先变大才能变小。先堆到足够大以承载能力,再在架构、训练范式和数据上做减法与蒸馏,向「更小、更专注的认知内核」收敛。
对于 Agents
Karpathy 对这个行业更多的批评在于,工具开发上超出了当前的实际能力。
他倾向于与 LLMs 协作的中间模式,但不是完全自主的智能体。Karpathy 举了个例子,他不希望 Agents 花 20 分钟生成 1000 行代码,也不原意去监督一个由 10 个智能体组成的团队。
他更希望 LLM 能分块工作,解释代码,证明正确性,引用 API 文档,在不确定时与他协作,能够在过程中学习和进步。应该更现实地看待这些工具的能力,以及如何适应今天的行业。过度追求自主 Agents,可能会导致软件质量下降、漏洞增多和安全风险。
未来是「Agent 的十年」
Dwarkesh Patel:你认为我们正处于 Agents 的十年(decade)里,而不是「Agent 之年」,为什么?
Andrej Karpathy:你刚才提到的那句「 Agent 的十年」 实际上是对已有说法的回应。我不确定最初是谁提出来的,但有人提到,随着大语言模型的演进,今年将是「Agent 之年」。这种说法让我有些不以为然,因为行业内存在一些过于乐观的预测。在我看来,更准确的描述是,这将是「Agent 的十年」。
我们已经有一些非常早期的 Agent,它们非常令人印象深刻,我自己每天都在使用,比如 Claude 和 Codex 等,但我仍然觉得有很多工作要做。我觉得我们将与这些 Agent 一起工作十年,它们会变得更好,未来一定很精彩。我只是对这种时间预期产生了反应。
Dwarkesh Patel:你认为十年内会完成什么?瓶颈是什么?
Andrej Karpathy:让它们真正工作。当你谈论 Agent,或者实验室里的人可能想的 Agent,你应该把它想象成一个你会雇佣的员工或实习生,跟你一起工作。那么,什么时候你希望让像 Claude 或 Codex 这样的 Agent 来做这些工作呢?目前,它们当然做不到。那它们需要什么才能做到呢?为什么你今天不让它们做?原因就是它们根本不行。它们不够聪明,缺乏多模态能力,它们无法进行计算机操作之类的。它们没有你之前提到的很多能力,它们没有持续学习能力,你不能简单地告诉它们一些事情,它们就能记住。这些 Agent 在认知上存在缺陷,它们现在并不行。解决这些问题可能需要大约十年的时间。
Dwarkesh Patel:如果有人问我,持续学习需要多长时间,我无法知道这是一个应该花 5 年,10 年,还是 50 年的项目。为什么是十年?为什么不是一年?为什么不是 50 年?
Andrej Karpathy:这就是你进入我的直觉领域的时候,做出一些基于我自己在这个领域经验的推测。我在行业中有大约 15 年的经验,见过很多关于 AI 预测的案例,也亲身经历了它们的结果。我对人工智能的直觉源于此。我觉得这些问题是可以解决的,是可行的,但它们仍然是困难的。如果我把这些问题综合起来考虑,感觉大约十年就能解决。
Dwarkesh Patel:我还想听听在座的各位在不同的突破性时刻对即将发生事情的感受。他们的感受有哪些方面过于悲观,哪些方面过于乐观?
Andrej Karpathy:这个问题问得有点大,因为你谈论的是过去 15 年发生的事情。人工智能之所以如此精彩,是因为发生了许多翻天覆地的变化,整个领域突然焕然一新。我可能经历过两三次这样的变化。我仍然认为还会继续发生,因为它们几乎以令人惊讶的规律性出现。
当我的职业生涯开始,当我开始研究深度学习 ,当我对深度学习产生兴趣时,恰巧在多伦多大学遇到了杰夫・辛顿(Geoff Hinton) 。辛顿当然是人工智能的教父级人物,他训练了所有这些神经网络 ,我觉得这很不可思议,也很有趣。这远非人工智能领域所有人当时都在做的主要工作,这只是一个边缘小众课题。这也许是 AlexNet 等技术带来的第一次重大变革。
AlexNet 改变了所有人的方向,每个人都开始训练神经网络,但它仍然是针对具体任务的。也许我有一个图像分类器,或者一个神经机器翻译器之类的。人们慢慢地对 Agent 产生了兴趣。人们开始思考:好吧,也许我们在视觉皮层旁边打勾之类的,但大脑的其他部分呢?我们如何才能得到一个完整的 Agent 或一个可以与世界互动的完整实体?
在我看来,2013 年左右雅达利深度强化学习的转变是早期 Agent 研究的一部分,因为它试图让 Agent 不仅能感知世界,还能采取行动、与环境互动并从环境中获得奖励。当时,这指的是雅达利游戏。
我觉得那是一个失误。就连我参与的早期 OpenAI 也采取了同样的失误, 因为当时的时代潮流是强化学习环境、游戏、玩游戏、通关游戏、获取各种不同类型的游戏,而 OpenAI 做了很多这方面的工作。强化学习是人工智能的另一个重要领域,大概有两三年甚至四年的时间,每个人都在游戏上进行强化学习。这完全是一个失误。
我在 OpenAI 尝试做的事情是,我一直对游戏能否引领 AGI 有点怀疑 。因为在我看来,你想要的是像会计师那样的东西,或者某种能够与现实世界互动的东西。我只是不明白游戏与 AGI 有什么关系。例如,我在 OpenAI 的项目属于 Universe 项目的范围 ,是一个使用键盘和鼠标操作网页的 Agent。我真正想要的是能够与实际数字世界互动、能够进行知识工作的机器。
事实证明,这太早了,早到我们根本不应该研究这个。因为如果你只是磕磕绊绊地敲击键盘、点击鼠标,试图在这些环境中获得奖励,你的奖励太少,根本学不会。你会烧毁一片森林,永远无法有所成就。你缺少的正是神经网络的表征能力。
例如,今天人们正在训练那些使用计算机的 Agent,但他们是在大语言模型的基础上进行的,你必须先获得语言模型,先获得表征,然后通过所有的预训练和所有 LLM 工作来实现这一点。
粗略地说,我觉得人们有几次试图过早地获得完整的解决方案,也就是过早地开始使用 Agent。Atari 和 Universe 的情况就是这样,甚至我自己也经历过。在使用这些 Agent 之前,你实际上必须先做一些事情。现在 Agent 的性能已经大大提升,但也许我们仍然缺少一些关键的组件。
我想说的是人们所做的三大件事:针对每个任务训练神经网络,尝试第一轮 Agent,然后可能是 LLM,并在完成其他所有事情之前寻求神经网络的表示能力。
Dwarkesh Patel:如果我要强化萨顿的观点 ,我会认为人类可以一下子承担所有事情,甚至动物也可以一下子承担所有事情。动物或许是一个更好的例子,因为它们甚至没有语言的框架,它们被抛到这个世界上,它们必须在没有任何标签的情况下理解一切。
那么,AGI 的愿景应该只是一种观察感官数据、观察电脑屏幕,然后从头开始理解正在发生的事情的东西。如果人类处于类似的境地,必须从头开始训练…… 这就像一个人的成长过程,或者动物的成长过程。为什么这不应该成为人工智能的愿景,而不是像我们这样进行数百万年的训练呢?
Andrej Karpathy:这真是个好问题。萨顿上过你的播客,我也看过,还写了一篇关于那篇播客的文章,谈了一些我的看法。我非常谨慎地用动物来类比,因为它们的进化过程非常不同。动物是进化而来的,它们拥有大量的内置硬件。
例如,我在文章中举了斑马的例子。斑马出生几分钟后就会跟着妈妈跑来跑去,这是一件极其复杂的事情。这不是强化学习,而是与生俱来的东西。进化显然有某种方式来编码我们神经网络在 ATCG 中的权重 ,我不知道这是如何运作的,但它显然有效。
大脑的形成过程截然不同,我不太愿意从中汲取灵感,因为我们实际上并没有进行这个过程。我在文章中说过,我们不是在创造动物,我们是在创造鬼魂、灵魂,或者随便人们怎么称呼它,因为我们不是通过进化进行训练,而是通过模仿人类以及他们发布到互联网上的数据来进行训练的。
最终你会得到这些空灵的精神实体,因为它们完全数字化,并且模仿人类。这是一种不同的智能。如果你想象一个智能空间,我们几乎是从不同的起点出发的,我们实际上并不是在创造动物,但随着时间的推移,让它们变得更像动物也是可能的,我认为我们应该这样做。
还有一点,我确实觉得萨顿有一个他的框架:「我们想要构建动物。」如果我们能实现这个框架,那就太好了,那将是惊人的。如果有一个算法,你可以在互联网上运行,它就能学习一切,那将是不可思议的。我不确定它是否存在,而且动物肯定不会这样做,因为动物有进化的外环。
很多看似学习的过程其实更像是大脑的成熟过程,我认为动物身上很少有强化学习,很多强化学习更像是运动任务,而不是智力任务。所以粗略地说,我实际上认为人类实际上并不真正使用强化学习。
在我看来,强化学习的很多应用场景更偏向于运动,比如投篮之类的简单任务,但我不认为人类会将强化学习用于很多智能任务,比如解决问题等等。 这并不意味着我们不应该在研究中这样做,只是我觉得动物会这样做,或者不会这样做。
Dwarkesh Patel:你提到进化做的事情类似于预训练的作用,意思是它通过构建某种东西来理解世界。区别在于,进化必须通过 3GB 的 DNA 来对人类进行调整,这和模型的权重完全不同。模型的权重实际上是一个大脑,显然并不存在于精子和卵子中。所以它必须培养出来。而且,大脑中每个突触的信息不可能仅仅存在于 3GB 的 DNA 中。进化似乎更接近于找到一种能够进行终身学习的算法,或许终身学习并不等同于强化学习,这与您之前所说的一致吗?或者您不同意这一点?
Andrej Karpathy:我同意你的观点,确实存在一些神奇的压缩,因为显然神经网络的权重并不是存储在 ATCG 中。确实有一些学习算法被编码进去了,这些算法会接管并进行在线学习。我完全同意这一点,我想说我更注重实践。我并不是从「让我们造动物」这个角度来看问题的,我从「让我们创造有用的东西」出发。我正在观察,我们不会去做进化,因为我不知道该怎么做。
但事实证明,我们可以通过模仿互联网文档来构建这些幽灵般的实体,这种方法行得通。它能让你达到某种拥有大量内置知识和智能的境界,或许类似于进化的过程,这就是为什么我把预训练称为糟糕的进化。这是我们在技术和现有资源条件下,在实践中可行的版本,目的是让我们能够达到一个起点,从而进行强化学习等操作。
Dwarkesh Patel:萨顿在这里提出了一个重要的观点,进化实际上并没有给我们知识,它给了我们寻找知识的算法,这似乎与预训练不同。也许有人认为,预训练有助于构建一种能够更好地学习的实体。它教授元学习,因此类似于寻找一种算法。但如果「进化给我们知识,预训练也给我们知识」,那么这种类比似乎站不住脚。
Andrej Karpathy:这很微妙,我认为你反对它是正确的,但基本上,预训练的作用是通过互联网获取下一个词预测器 ,然后将其训练到神经网络中。它做了两件不相关的事情:第一,它获取所有这些我称之为的知识。第二,它实际上正在变得智能。
通过观察互联网中的算法模式,它启动了神经网络内的所有这些小电路和算法,用来做诸如上下文学习等事情,你不需要也不想要这些知识。我认为这可能阻碍了神经网络的整体发展,因为它有时会让它们过于依赖这些知识。
例如,我觉得 Agent 有一件事做得不好,就是无法超越互联网数据流的边界。如果它们拥有更少的知识或更少的记忆,也许它们会更好。我认为我们未来要做的 —— 这将成为研究范式的一部分 —— 是找到方法去除一些知识,保留我所说的认知核心 。这个智能实体剥离了知识,但包含算法,拥有智能的魔力、解决问题的策略以及所有这些东西。
Dwarkesh Patel:这里面有很多有趣的东西,让我们先从上下文学习开始。这些模型在最智能的情况下 —— 我和它们对话,我会想:哇,另一端真的有东西在回应我的思考 —— 如果它犯了错误,它就会说:「哦,等等,这样想不对。我要倒退了。」所有这些都是在上下文中发生的,我觉得真正的智能是肉眼可见的。
这种上下文学习过程是通过预训练中的梯度下降发展起来的 。它自发地进行上下文学习的元学习,但上下文学习本身并非梯度下降,就像我们人类一生中能够做事的智力是由进化决定的,但我们一生中的学习是通过其他过程进行的一样。
Andrej Karpathy:我并不完全同意这一点。我不太确定上下文学习是不是在进行梯度下降,它不是显式的梯度下降。上下文学习是在一个 token 窗口内完成模式。事实证明,互联网上有大量的模式。你说得对,模型学会了完成这些模式,而这就存在于权重中。神经网络的权重正在尝试发现模式并完成这些模式。在神经网络内部发生了一些适应过程,这有点神奇,就因为互联网上有大量的模式,所以这些过程自然发生。
我想说的是,有一些我认为很有意思的论文探讨了上下文学习背后的机制。我确实认为上下文学习有可能在神经网络层级内部运行一个小的梯度下降循环。 我记得有一篇论文, 他们使用上下文学习进行线性回归。你输入到神经网络的是一对一对的 XY 值,比如 XY,XY,XY,这些点恰好在一条直线上。然后你输入 X,并期望得到 Y。当你以这种方式训练神经网络时,它会进行线性回归。
通常,当你运行线性回归时,你会使用一个小的梯度下降优化器,它查看 XY,计算误差,计算权重的梯度,并进行几次更新。结果发现,当他们查看这个上下文学习算法的权重时,他们发现了一些与梯度下降机制的相似之处。事实上,我认为那篇论文更有说服力,因为他们硬编码了神经网络的权重,通过注意力机制和神经网络的所有内部结构来执行梯度下降。
这就是我唯一的反驳。我不知道上下文学习是如何工作的,但我认为它可能在内部做了一些有点类似于梯度下降的事情。我只是反驳了你说它没有做上下文学习的说法。谁知道它到底在做什么,但它可能做了一些类似的事情,不过我们并不清楚。
Dwarkesh Patel:所以,值得思考的是,既然上下文学习和预训练都像是实现某种梯度下降的过程,为什么在上下文学习中我们会感觉更接近持续学习、真实智能的那种东西?而从预训练中却没有类似的感觉,你可以反驳这一点。
如果它们是相同的算法,那有什么不同吗?你可以从一个角度考虑,模型在接受训练时,每获取一个信息,它存储了多少信息?如果你看预训练,比如 Llama 3,我认为它是在训练 15 万亿个 tokens。如果你看 70B 的模型,这就相当于每个 token 的存储信息是 0.07 比特。而如果你看上下文学习中的 KV 缓存,随着每个新 token 的增加,它的增长量大约是 320KB。所以,这在每个 token 被模型吸收的信息量上有一个 3500 万倍的差异。我想知道这是否相关。
Andrej Karpathy:我基本同意。通常我会这么表达:在神经网络训练过程中发生的任何事情,知识只是对训练时发生事情的模糊记忆,这是因为压缩非常剧烈。你把 15 万亿个 tokens 压缩成只有几亿个参数的最终神经网络,显然,这里面有大量的压缩,所以我把它称作是对互联网文档的模糊记忆。
而任何发生在神经网络上下文窗口内的事情 —— 你输入所有 token 并构建所有这些 KV 缓存表示 —— 都是神经网络直接可以访问的,所以我把 KV 缓存和测试时发生的事情比作工作记忆。所有上下文窗口里的东西,神经网络都能很直接地访问到。
LLM 和人类之间总是存在着一些几乎令人惊讶的相似之处。我之所以感到惊讶,是因为我们并非试图直接构建人脑,我们只是发现这种方法有效,并且正在尝试。但我确实认为,权重中包含的所有内容,都是你对一年前阅读内容的模糊记忆。你在测试时作为上下文提供的任何内容,都直接存在于工作记忆中。这是一个非常有力的类比,可以帮助我们更好地理解事物。
例如,当你向 LLM 询问某本书的内容时,比如 Nick Lane 的书,LLM 通常会给出一些大致正确的答案。但如果你给它整章的内容并向它提问,你会得到更好的结果,因为这些信息现在被加载到模型的工作记忆中了。所以,这就是我同意你观点的原因。
Dwarkesh Patel:人类智能中哪些部分是我们最无法通过这些模型复制的?
Andrej Karpathy:有很多。所以也许可以这样想,我不知道这是否是最好的方式,但我几乎觉得 —— 这些类比并不完美 —— 我们偶然发现了 Transformer 神经网络,它非常强大,非常通用。你可以用音频、视频、文本或任何你想要的东西来训练 Transformer,它只是学习模式,它们非常强大,而且效果非常好。对我来说,这几乎表明这是某种皮质组织 。它就是这样,因为皮质也是出了名的可塑性很强,你可以重新连接大脑的某些部分。曾经有过一些略显残酷的实验 ,将视觉皮层重新连接到听觉皮层,然后动物学得很好等等。
我认为当我们在神经网络中进行推理和规划,为思维模型进行推理追踪时,这有点像前额叶皮质 。也许它们就像一些小标记,但我仍然认为还有很多大脑部分和核团尚未被探索。例如, 当我们用强化学习微调模型时, 基底神经节会进行一些强化学习,但海马体在哪里呢 ?目前还不清楚它是什么。有些部分可能并不重要,也许小脑对认知和思维并不重要,所以我们可以跳过其中的一些部分,但我仍然认为还有杏仁核 ,它控制着所有的情绪和本能。大脑中可能还有很多其他非常古老的核团,我认为我们还没有真正复制它们。
我不知道我们是否应该致力于构建一个模拟人脑的模型。我本质上是个工程师。也许回答这个问题的另一种方式是,你不可能把这个东西当作实习生来雇佣。因为它本身就带有许多认知缺陷,而这些缺陷我们在与模型对话时都能直观地感受到,所以它还不完全成熟。你可以把它看作大脑的部分功能还没有完全实现。
Dwarkesh Patel:这或许与思考这些问题将多快得到解决有关。有时人们会谈到持续学习:「看,你完全可以复制这种能力。就像上下文学习会随着预训练而自发出现一样,如果模型被激励在更长的时间范围内(或超过一个会话的时间范围内)回忆信息,那么更长时间内的持续学习也会自发出现。」 因此,如果某个外循环强化学习在它内部包含多个会话,那么这种持续学习(它会自我微调,或者写入外部存储器之类的)就会自发出现。你认为这样的事情合理吗?这种事情发生的可能性有多大?
Andrej Karpathy:我不确定我是否完全认同这一点。这些模型,当你启动它们,如果窗口中的 token 为零,它们总是从头开始,回到它们之前的状态。所以我不知道在那个世界观下它是什么样子。也许可以拿人类来打个比方,我觉得当我醒着的时候,我正在构建一个白天发生的事情的上下文窗口。但当我入睡时,一些神奇的事情发生了,我觉得那个上下文窗口不会再存在了。这其中有一个提炼过程,会进入我大脑的权重中,这发生在睡眠和其他所有情况下。
我们在大语言模型中没有类似的机制。在我看来,这更类似于你所说的持续学习之类的缺失。这些模型实际上没有蒸馏阶段,也就是获取发生的事情,进行深入分析,仔细思考,进行一些合成数据生成过程,然后将其提炼回权重,并且可能每个人拥有一个特定的神经网络,也许是 LoRA 。它不是一个全权重神经网络,它只是一些权重中经过修改的小的稀疏子集。
但我们确实想创造一些方法来创造具有非常长上下文的个体。它不仅仅停留在上下文窗口中,因为上下文窗口会变得非常非常长。也许我们对此有一些非常精细、稀疏的注意力机制,但我仍然认为人类显然有一些将部分知识提炼成权重的过程。我们忽略了它。我确实认为人类有一些非常精细、 稀疏的注意力方案 ,我认为我们已经开始看到一些早期的迹象。DeepSeek v3.2 刚刚发布,我看到他们以稀疏注意力为例,这是拥有非常非常长的上下文窗口的一种方法,所以我觉得我们正在重做进化过程中通过非常不同的过程得出的许多认知技巧,但我们将在认知上趋向于一个类似的架构。
Dwarkesh Patel:十年后,您是否认为它仍然会像 transformer 一样,但具有更多经过修改的注意力机制和更稀疏的 MLP 等等?
Andrej Karpathy:我喜欢从时间上的平移等变性来看待这个问题。比如说十年前,我们在哪里?在 2015 年,我们主要使用卷积神经网络,残差网络刚刚出来。虽然与现在非常相似,但依然有很大不同。Transformer 还没有出现,所有这些对 Transformer 更现代的调整也还没有出现。也许我们可以打赌,根据平移等变性,10 年后,我们仍然在用前向后向传播来训练大型神经网络 ,并通过梯度下降进行更新,但可能看起来会有所不同,只是一切都变得更大了。
最近我回溯到了 1989 年。几年前,我当时正在复现 Yann LeCun 在 1989 年提出的卷积网络 ,这是我所知的第一个通过梯度下降训练的神经网络,就像现代神经网络在数字识别中训练梯度下降一样。我只是想知道如何让它现代化,这其中有多少是算法、有多少是数据、这些进步有多少是计算和系统进步,我仅仅通过时光倒流 33 年就能够把错误减半。
所以,如果我用算法穿越到 33 年前,我可以调整 Yann LeCun 在 1989 年所做的改进,并将误差减半。但为了获得更大的提升,我必须添加更多数据,将训练集扩大 10 倍,然后进行更多计算优化。我必须使用 dropout 和其他正则化技术进行更长时间的训练。
所以所有这些方面都必须同时改进。我们可能会拥有更多数据,可能会拥有更好的硬件,可能会拥有更好的内核和软件,可能会拥有更好的算法。所有这些方面,几乎没有哪个方面会占上风。它们都出奇地势均力敌。这种趋势已经持续了一段时间。
所以回答你的问题,我预计算法上会与现在有所不同。但我也预计一些长期存在的东西可能还会存在。它可能仍然是一个用梯度下降训练的巨型神经网络,这是我的猜测。
Dwarkesh Patel:令人惊讶的是,所有这些措施加起来也只让误差减少了一半,30 年的进步…… 也许一半已经很多了。
Andrej Karpathy:一半已经很多了。但让我震惊的是,所有方面都需要全面改进:架构、优化器、损失函数,而且它已经全面改进了,而且已经持续改进了。所以我预计所有这些改进都会持续有效。
Dwarkesh Patel:我正要问你一个关于 nanochat 的类似问题 。因为你最近才开始写代码,所以构建聊天机器人的每一步都清晰地印在你的记忆里。我很好奇你是否也想过类似的想法:「哦,从 GPT-2 到 nanochat,竟然没有一件事情是相关的。」 这段经历中,你有什么意外的收获吗?
Andrej Karpathy:它试图成为构建 ChatGPT 克隆的整个流程的最简单的完整存储库。因此,您拥有所有步骤,而不仅仅是单个步骤,因为单个步骤繁琐复杂。我过去曾研究过所有单个步骤,并发布了一些小代码片段,以简单的代码形式从算法角度向您展示了如何完成这些步骤,但这个存储库涵盖了整个流程。就学习而言,我不确定我是否一定从中学到了一些东西。我已经想好了如何构建它。这只是一个机械地构建它并使其足够清晰的过程,以便人们可以从中学习并发现它有用。
Dwarkesh Patel:学习的最佳方法是什么?是不是直接删除所有代码,然后尝试从头开始重新实现,并尝试添加修改?
Andrej Karpathy:这个问题问得好。基本上,它大概有 8000 行代码带你走完整个流程。我可能会把它放在右边的显示器上。如果你有两个显示器,就把它放在右边。你想从头开始构建,那就从头开始构建。允许引用,不允许复制粘贴。
但我也认为代码库本身就很庞大。编写代码时,你无法从上到下进行,而是从代码块开始,然后不断扩展代码块,而这些信息缺失了,你不知道从哪里开始。所以,需要的不仅仅是一个最终的代码库,还需要构建代码库,这是一个复杂的代码块扩展过程,所以这部分目前还没有完成。我很想在本周晚些时候添加它,可能是视频之类的。粗略地说,这就是我想尝试做的。自己构建这些东西,但不要允许自己复制粘贴。
我确实认为知识几乎可以分为两种。一种是高层次的表面知识,但当你从零开始构建某个东西时,你不得不接受你不理解的东西,而且你不知道自己不理解。
它总能带来更深层次的理解,这是构建的唯一途径。如果我构建不了,我就不理解。我相信这是费曼的名言 。我一直坚信这一点,因为所有这些细微的东西都没有得到妥善安排,而你实际上并没有掌握这些知识。你只是自以为拥有这些知识。所以,不要写博客文章,不要做幻灯片,什么都不要做。编写代码,安排好,让它运行起来。这才是唯一的出路。否则,你就是在缺失知识。
LLM 存在很多认知缺陷,
在代码方面表现尤其明显
Dwarkesh Patel:你在推特上说,编码模型对你构建这个代码库几乎没有帮助,这是为什么?
Andrej Karpathy:我大概花了一个多月的时间搭建了这个代码库。我认为现在人们与代码的交互方式主要分为三类。有些人完全拒绝所有的大模型,只是从零开始写代码,现在可能不再是正确的做法了。
中间阶段,也就是我现在的阶段,你仍然需要从头开始编写很多内容,但你可以使用这些模型中现有的自动完成功能。所以,当你开始写一小段代码时,它会自动完成,你只需点击即可。大多数情况下它是正确的,有时也可能不正确,你需要进行编辑,但你仍然是你所写内容的架构师,然后是氛围编码 :「嗨,请实现这个或那个」,输入后,模型就会自动执行。这就是 Agent。
我确实觉得这些 Agent 在特定的环境下工作得很好,我会在特定的场景中使用它们。但这些都是可用的工具,你必须了解它们擅长什么、不擅长什么,以及什么时候使用它们。例如,Agent 在处理模板代码时非常有效,模板代码通常只是复制粘贴的内容,Agent 在这方面非常擅长。它们非常擅长处理互联网上经常出现的情况,因为这些模型的训练数据集中有很多这样的例子。
我想说 nanochat 不是其中一个例子,因为它是一个相当独特的代码库。我构建的代码并没有那么多。它不是模板代码,它几乎是智力密集型代码,所有东西都必须非常精确地安排。这些模型存在很多认知缺陷。举个例子,它们总是误解代码,因为它们记忆了太多互联网上典型的做事方式,而我根本没有采用这些方式。比如说这些模型总是以为我写的是正常代码,而我却不是。
Dwarkesh Patel:可以举个例子?
Andrej Karpathy:你有八个 GPU ,它们都在进行前向和后向计算,在它们之间同步梯度的方法是使用 PyTorch 的分布式数据并行容器,当你进行后向计算时,它会自动开始通信和同步梯度。我没有使用 DDP,因为它没有必要。我把它丢掉了,写了自己的同步例程,直接放在优化器的步长中。模型一直试图让我使用 DDP 容器,但我没有使用那个容器,因为我不需要它,而且我有一个类似的自定义实现。
Dwarkesh Patel:它们就是无法理解你有自己的实现。
Andrej Karpathy:它们过不去这一点,它们总是试图弄乱我的代码风格,它们防御性过强。它们会做很多 try-catch 语句,它们一直在尝试创建一个生产级的代码库,而我的代码中有很多假设。我不需要这些额外的东西。所以我觉得它们在膨胀代码库、增加复杂性,它们不断误解,大量使用弃用的 API,简直一团糟,完全没有实际的用处。
我也觉得用英语输入我想要的内容很烦人,因为打字太费劲了。如果我直接导航到我想要的代码部分,然后我知道代码应该出现在哪里,接着开始输入前几个字母,自动完成功能就会自动获取并直接给出代码。这需要非常高的信息带宽来指定你想要的内容。你只需指向你想要的代码,输入前几个字母,模型就会自动完成。
我的意思是,这些模型在堆栈的某些部分表现良好。我使用了两个我认为具有说明性的模型,一个是我生成报告的时候,那部分比较死板,所以我对其中的一些内容进行了部分氛围编码。这很好,因为它不是关键任务,而且运行良好。
另一个部分是我在 Rust 中重写 tokenizer 时。因为我对 Rust 不太熟,所以在写一些 Rust 代码时,我做了一些 vibe-coding。但我有一个完全理解的 Python 实现,我只是确保我做一个更高效的版本,而且我有测试,所以做这部分时我会更有安全感。它们增加了对你可能不熟悉的语言或范式的可访问性。我认为它们在这里也非常有用。Rust 代码有很多,模型在这方面表现得很好。我恰好不太了解,所以模型在这方面非常有用。
Dwarkesh Patel:这个问题之所以如此有趣,是因为人们对人工智能爆炸式增长并迅速迈向超级智能的主要理解是,AI 将自动化 AI 工程和 AI 研究。他们会看到你可以用 Claude Code 从头开始制作整个应用程序、CRUD 应用程序,然后想「如果你在 OpenAI 和 DeepMind 等公司内部拥有同样的能力,想象一下,一千个或一百万个你并行工作,发现一些细微的架构调整。」
Andrej Karpathy:它们不太擅长编写以前从未写过的代码,而这正是我们在构建这些模型时想要达到的目标。
Dwarkesh Patel:关于你在 nanochat 中添加的架构调整,它们应该是在某个论文里,或者在某个 repo 里吧?令人惊讶的是,他们无法在你需要「添加 RoPE 嵌入 」之类的时候将其集成到代码库中,它们的做法是错误的吗?
Andrej Karpathy:它们知道,但并不完全知道。它们不知道如何将其完全集成到代码库中,也不知道你的风格、代码和位置,你正在做的一些自定义操作,以及如何将其与代码库的所有假设相符。它们确实有一些知识,但还没有达到能够整合并理解的程度。
很多东西都在不断改进。目前,我使用的最先进的模型是 GPT-5 Pro ,它非常强大。如果我有 20 分钟时间,我会复制粘贴我的整个代码库,然后去 GPT-5 Pro 上提问。通常来说,它的表现并不太差,甚至比一年前好得令人惊讶。
总的来说,模型还不成熟。我觉得这个行业发展得太快了,大家试图把这看作是非常了不起的,但事实并非如此,大家还没有接受现实,也许大家正在尝试融资之类的。我不知道发生了什么,但我们正处于中间阶段。模型很强大,它们仍然需要大量改进。目前,自动完成功能是我的强项。但有时,对于某些类型的代码,我会去使用 LLM。
Dwarkesh Patel:纵观编程历史,生产力的提升有很多 —— 编译器 、 linting 、更优秀的编程语言 —— 这些都提高了程序员的生产力,但并没有带来爆炸式增长。这听起来和自动完成的功能非常相似,另一个类别就是程序员的自动化。有趣的是,你看到更多与更优秀的编译器之类的历史类比。
Andrej Karpathy:这或许能引出另一个想法。我很难区分人工智能的起点和终点,因为我认为人工智能从根本上来说,是计算的延伸,而且是相当基础的延伸。我看到了这种递归式自我改进或加速程序员速度的连续过程:代码编辑器、语法高亮,甚至类型检查,比如数据类型检查 —— 所有这些我们为彼此构建的工具。
甚至搜索引擎。为什么搜索引擎不是 AI 的一部分?排名本身就是 AI。谷歌甚至在早期就认为自己是一家开发谷歌搜索引擎的人工智能公司,这完全合理。
我把它看作是一个更广泛的连续体,而不是其他人所认为的那样,我很难划清界限。我觉得我们现在的自动补全功能好多了,现在我们也有了一些 agent,虽然它们有时也会出问题,但人类做的底层工作越来越少了。我们编写汇编代码不是因为我们有编译器,编译器会用我的高级语言 C 语言编写汇编代码。
强化学习很糟糕,
效率极低
Dwarkesh Patel:让我们谈谈强化学习。你在推特上关于这个话题发布了一些非常有意思的内容。从概念上讲,我们应该如何理解人类通过与环境互动建立一个丰富的世界模型,而这种方式似乎几乎与最终的奖励无关?
如果某人正在创业,十年后她才知道企业是成功还是失败,我们说她积累了许多智慧和经验。但这并不是因为过去十年中每一件发生的事的对数概率被加权或减权了。发生了某种更加深思熟虑和丰富的事情。那么,这在机器学习中有什么类比,它与我们现在使用大语言模型的方式有什么不同?
Andrej Karpathy:或许我可以这样表达:人类并不使用强化学习,正如我之前所说的,我认为他们做的是不同的事情。强化学习比我想象的要差得多。强化学习很糟糕。恰好是因为在它之前的所有方法都更差,因为我们以前只是模仿人类,所以它有很多问题。
以强化学习为例,假设你给了一个数学问题,你试图找到答案。在强化学习中,你首先会并行地尝试很多方法。你给出一个问题,你试着做几百个不同的尝试。这些尝试可能很复杂,也许你得到一个答案。然后你查一下书背面,看到「好吧,正确答案是这个。」你会看到这些方法成功了,但另外 97 种方法没用。
强化学习所做的就是,它会去选择那些表现非常好的方法,并且在整个过程中你所做的每一件事,每一个 token 都会被加权,像是「多做这些」。
问题在于,人们会说,你的估算器有很高的方差,但实际上它是噪音。它几乎假设你解决正确答案的过程中,每一个小步骤都是正确的,而这并不真实。你可能走了许多弯路,才最终到达正确的解决方案。每一个错误的步骤,只要最终到达了正确答案,它们就会被加权「做更多这个」。这太糟糕了,这就是噪音。
你做了所有这些工作,结果发现,最终你得到的只是一个「哦,你做对了」的数字。然后你根据这个来加权或减权整个过程。我喜欢把它比作「你通过吸管吸取监督」。你做了所有的工作,这可能只是几分钟的滚动,但你通过吸管吸取了最终奖励信号的监督信息,并将其广播到整个过程,然后用这个来加权或减权。这简直是愚蠢且疯狂的。
人类绝对不会这么做。首先,人类不会做几百次的尝试。其次,当一个人找到解决方案时,他们会有一个相当复杂的过程来回顾,「好吧,我觉得这些部分做得不错,这些部分做得不太好。我应该做这个或者那个。」他们会思考。当前的大语言模型中没有任何东西可以做到这一点。但我确实看到一些论文尝试做到这一点,因为在这个领域,每个人都意识到了这个问题。
首先,模仿学习,顺便说一下,最初是非常令人惊讶且奇迹般的,因为我们可以通过模仿来微调人类的行为。这是令人难以置信的。因为一开始,我们只有基础模型。基础模型只是自动补全。那时我没有意识到这一点,我得自己去理解。让我震惊的论文是 InstructGPT,因为它指出,你可以拿预训练的模型,它是自动补全,如果你仅仅在像对话的文本上微调它,模型会非常快速地适应并变得非常会话化,并且它会保留所有预训练时的知识。这让我震惊,因为我没有理解到它能够在风格上调整得如此迅速,几轮微调就能变成一个用户助手。它能这样工作,真的太神奇了。真是不可思议。那是两到三年的工作。
现在来到了强化学习。强化学习让你比单纯的模仿学习做得更好,因为你可以有这些奖励函数,然后你可以在奖励函数上进行爬升。一些问题有正确答案,你可以在这些问题上进行爬升,而不需要去模仿专家轨迹。所以这很棒。模型也可以发现人类可能永远想不到的解决方案。这简直太棒了。然而,它仍然很愚蠢。
我们还需要更多。我昨天看到谷歌的一篇论文,试图考虑反思和回顾的想法。是不是记忆库的论文?我不确定。我看过一些这方面的论文。所以我预计会有一些重大更新,改变我们如何做大语言模型算法。我认为我们还需要三、四、五个这样的改进。
Dwarkesh Patel:你说基于结果的奖励的问题是,你有这么大的一个过程,然后在最后,你试图从那一个最终的部分学习关于你应该做什么、关于这个世界的所有信息。既然这个问题显而易见,为什么作为替代方案的基于过程的监督没有成功地让模型更强大?是什么阻碍了我们使用这个替代范式?
Andrej Karpathy:基于过程的监督只是指,我们不会仅仅在最后有一个奖励函数。在你工作了 10 分钟之后,我不会告诉你你做得好还是不好。我会在每一步都告诉你你做得怎么样。我们没有那样做的原因是,如何正确地做到这一点是很棘手的。你有部分解决方案,而你不知道如何分配信用。所以当你得到正确答案时,它只是对答案的等式匹配,非常简单可以实现。如果你做的是过程监督,那如何以自动化的方式分配部分信用?这并不是显而易见的。
很多实验室正在尝试用这些大语言模型评判者来做这件事。你让大语言模型试着去做。你提示一个大语言模型,「嘿,看看一个学生的部分解决方案。如果答案是这个,你认为他们做得怎么样?」然后他们试图调整提示词。
之所以这很棘手是有一个微妙的原因。那就是,每当你用大语言模型来分配奖励时,这些大语言模型是非常庞大的,拥有数十亿个参数,而且它们是可以被操控的。如果你用强化学习去对它们进行训练,你几乎可以确保会找到针对大语言模型评判者的对抗性例子。所以你不能做太久。你可能做 10 步或 20 步,可能会有效,但你不能做 100 步或 1000 步。我理解这并不显而易见,但基本上模型会找到一些漏洞。它会在大模型的缝隙中找到这些虚假的东西,并找到一种方法来欺骗它。
我脑海中有一个明显的例子,这可能是公开的,如果你使用大语言模型评判者来奖励,你只需给它一个学生的解答,问它学生做得好不好。我们曾经用强化学习训练这个奖励函数,效果很好。然后,突然,奖励变得非常大,几乎是一个巨大的跃升,它完美无缺。你看着它,想,「哇,这意味着学生在所有这些问题上都做得完美,完全解决了数学问题。」
但当你看模型输出的内容时,它们完全是胡说八道。它们一开始还行,然后变成了「dhdhdhdh」。就像,「哦,好吧,我们做两加三,然后做这个做那个,然后 dhdhdhdh。」你看着它,这简直疯狂。怎么可能得到 100% 的奖励?你看看大语言模型评判者,结果发现「dhdhdhdh」是模型的对抗性例子,它给了它 100% 的概率。
这只是因为这是一个大语言模型没有在训练时见过的样本,处于完全的泛化领域。它在训练中从未见过它,在纯泛化领域,你可以找到这些打破它的例子。
Dwarkesh Patel:你基本上是在训练大语言模型成为一个提示注入模型。
Andrej Karpathy:甚至不是那样。提示注入太高级了。你是在找到对抗性例子,像它们所说的。这些是没有意义的解答,显然是错的,但模型认为它们很棒。
Dwarkesh Patel:你认为这是让强化学习更有效的瓶颈吗?如果是的话,那就意味着要让大语言模型更好地作为评判者,如果你想以自动化的方式做这件事。是不是就需要一种类似 GAN 的方式,训练模型变得更加鲁棒?
Andrej Karpathy:实验室可能已经在做这些了。显而易见的是,「dhdhdhdh」不应该得到 100% 的奖励。好吧,把「dhdhdhdh」放到大语言模型评判者的训练集中,告诉它这不是 100%,这是 0%。你可以这么做,但每次你这么做,你就得重新训练一个新的大语言模型,它还是有对抗性例子。
如果你多次迭代,可能会越来越难找到对抗性例子,但我不敢百分之百确定,因为这个模型有可能有万亿级的参数。我敢打赌实验室正在尝试解决这个问题。不过我还是认为我们需要其他的思路。
Dwarkesh Patel:很有意思。那么,你觉得其他的思路可能是什么呢?
Andrej Karpathy:一种思路是回顾解决方案,包含合成样本,这样当你在这些样本上训练时,你能够变得更好,并以某种方式进行元学习。我开始看到一些相关的论文出现。我现在还只是看论文摘要,因为很多这些论文只是提出了想法。需要有人在前沿的大语言模型实验室中以全局通用的方式使其工作,因为你看到这些论文时,它们只是偶尔冒出来,有些噪声在其中。它们是很酷的想法,但我还没有看到有人能有力地证明它是可行的。话虽如此,大语言模型实验室相对封闭,所以谁知道他们现在在做什么。
「认知核心」很关键,
未来的 LLM 应该是更小参数
Dwarkesh Patel:我可以概念化地理解如何用自己创造的合成样本或合成问题进行训练。但人类似乎还有另一件事 —— 也许睡觉是这样的,也许做白日梦是这样的 —— 不一定是想出假问题,而只是反思。
我不确定机器学习如何类比白日梦、睡觉或反思。我还没有想出新的问题。显然,最基本的类比就是对反思进行微调,但我觉得在实践中这可能效果不佳。你对这个类比有什么看法?
Andrej Karpathy:我确实认为我们忽略了一些方面。举个例子,以读书为例。目前,当 LLM 阅读一本书时,这意味着我们会扩展文本序列,然后模型会预测下一个 token,并从中获取一些知识。这实际上不是人类所做的。当你阅读一本书时,我甚至不觉得这本书是我应该关注和训练的说明。这本书是一组提示,让我进行合成数据生成,或者让你去读书俱乐部和朋友们讨论。你真正获得知识是通过操纵这些信息来实现的。LLM 没有类似的机制。他们实际上不这么做。我希望在预训练阶段看到某个阶段,模型会仔细思考材料,并尝试将其与已有知识相协调,并花一段时间思考,使其发挥作用。所有这些都没有等同之处。这都是研究。
有一些非常微妙的,我认为很难理解的原因解释了为什么它并非微不足道:为什么我们不能直接合成并训练它?因为每一个合成的例子,如果我给出一个关于一本书的模型的合成生成,你看着它,你会想,「这看起来很棒。为什么我不能用它来训练?」你可以尝试,但如果你继续尝试,模型会变得更糟。这是因为你从模型中获得的所有样本都被默默地崩溃了。如果你看任何一个单独的例子,这并不明显,它们占据了关于内容的可能思考空间中非常小的流形。当 LLM 崩溃时,它们有一个崩溃的数据分布。一个简单的方法是去 ChatGPT 并问它,「给我讲个笑话。」它只有三个笑话。它没有提供所有可能的笑话。它只知道三个笑话。它们悄无声息地崩溃了。
你无法从这些模型中获得像人类模型那样的丰富性、多样性和熵。人类模型的噪声要大得多,但至少从统计学意义上来说,它们没有偏见。它们并非悄无声息地崩溃。它们保留着大量的熵。那么,如何在熵值保持不变的情况下,让合成数据生成工作正常进行呢?这是一个值得研究的问题。
Dwarkesh Patel:为了确保我理解正确,崩溃与合成数据生成相关的原因是,你希望能够提出一些合成问题或反射,而这些问题或反射目前还不在你的数据分布中。
Andrej Karpathy:我的意思是,假设我们有一本书的某一章,我请 LLM 思考一下,他会给你一些看起来很合理的答案。但如果我问 10 次,你会发现所有答案都一样。
Dwarkesh Patel:你不能只是不断地在相同数量的即时信息上进行「反射」的缩放,然后从中获得回报。
Andrej Karpathy:任何单个样本看起来都还不错,但它的分布非常糟糕。糟糕到如果你继续用太多你自己的东西进行训练,你实际上就会崩溃。
我认为这个问题可能没有根本的解决方案。我还认为人类会随着时间的推移而崩溃。这些类比出奇地好。人类在其一生中会崩溃。这就是为什么孩子们还没有过度拟合。他们会说一些让你震惊的话,因为你能看到他们的想法,但这与人们所说的不同,因为他们还没有崩溃。而我们却崩溃了。我们最终会重复同样的想法。我们最终会说越来越多同样的话,学习率下降,崩溃持续恶化,然后一切都恶化了。
Dwarkesh Patel:你看过这篇超级有趣的论文吗?它说做梦是防止这种过度拟合和崩溃的一种方式。做梦之所以具有进化适应性,是因为它会让你置身于与你日常现实截然不同的奇特情境中,从而防止这种过度拟合。
Andrej Karpathy:这是一个有趣的想法。我确实认为,当你在脑海中生成一些东西,然后你去处理它时,你是在用你自己的样本进行训练,用你的合成数据进行训练。如果你这样做太久,你就会偏离轨道,最终崩溃。你总是需要在生活中寻找熵。与他人交谈是熵的一个重要来源,诸如此类。所以也许大脑也建立了一些内部机制来增加这个过程中的熵。这是一个有趣的想法。
Dwarkesh Patel:这个想法很不成熟 —— 我们所知的学习能力最强的,也就是孩子,他们非常不擅长回忆信息。事实上,在童年的最初阶段,你会忘记所有的事情。你会对某个年份之前发生的一切失去记忆。但你非常擅长学习新的语言,并从世界中学习。也许这其中有某种「只见树木不见森林」的特质。
而如果你把它与另一个极端进行比较,你会发现 LLM 预训练模型能够逐字逐句地复述维基百科页面中的下一个内容。但它们像孩子那样快速学习抽象概念的能力要有限得多。而成年人则介于两者之间,他们没有儿童学习的灵活性,但他们能够以一种对孩子来说更难的方式记住事实和信息。我不知道这个范围里有什么有趣的东西。
Andrej Karpathy:我认为这里面确实有意思的地方,我确实认为,与 LLM 相比,人类更擅长只见树木不见森林。我们其实不太擅长记忆,这其实是一个特点。正因为我们不太擅长记忆,所以我们被迫在更普遍的意义上寻找模式。
相比之下,LLM 非常擅长记忆。他们会背诵来自各种训练源的段落。你可以给他们完全无意义的数据。你可以对一定量的文本或类似的东西进行哈希处理,你会得到一个完全随机的序列。如果你用它训练,即使只是一两次迭代,它也能突然把整件事都复述出来。它会记住它。一个人不可能读一串随机数然后把它背诵给你听。
这是一个特性,而不是缺陷,因为它迫使你只学习可泛化的部分。而 LLM 则被预训练文档的记忆所困扰,从某种意义上来说,这可能非常令人分心。所以,当我谈到认知核心时,我想移除记忆,这也是我们之前讨论过的。我希望它们的记忆更少,这样它们就不必去查找资料,只保留用于思考的算法、实验的想法以及所有这些用于行动的认知粘合剂。
Dwarkesh Patel:这也与防止模型崩溃有关吗?
Andrej Karpathy:我不确定。这几乎就像一个独立的轴。模型的记忆能力太强了,我们应该以某种方式移除它。人类的记忆能力差得多,但这是一件好事。
Dwarkesh Patel:解决模型崩溃的方案是什么?你可以尝试一些非常简单的方法。比如,在对数函数上的分布应该更宽一些,或者其他什么的。有很多简单的方法可以尝试。这些简单的方法最终会造成什么问题呢?
Andrej Karpathy:你可以想象一下对熵之类的函数进行正则化。我猜它们在经验上效果不佳,因为现在的模型已经崩溃了。但我想说,我们想要的大多数任务实际上并不需要多样性。这或许就是问题的答案。
前沿实验室正在努力让模型变得有用。我觉得输出的多样性并不是…… 首先,它更难处理和评估,但也许它并没有捕捉到大部分价值。
Dwarkesh Patel:事实上,它会受到主动惩罚。如果你在强化学习方面非常有创造力,那就不好了。
Andrej Karpathy:是的。或者,如果你写了很多东西,或者需要 LLM 之类的帮助,那可能就不好了,因为模型会默默地给你提供所有相同的东西。它们不会探索很多不同的方法来回答一个问题。
也许这种多样性,因为没有那么多应用程序需要它,所以模型没有它。但这在合成数据生成时就会有问题,等等。所以,如果我们不让这种熵在模型中保持下去,那我们就是在搬起石头砸自己的脚。或许实验室应该更加努力。
Dwarkesh Patel:我想你暗示过这是一个非常基础的问题,不容易解决。你对此有什么看法?
Andrej Karpathy:我不知道这是否真的非常基础。我不知道我是不是有意这么说的。我确实认为我没有做过这些实验,但我认为你可以将熵正则化得更高。这样一来,你就是在鼓励模型给出越来越多的解决方案,但你又不希望它偏离训练数据太多。它会开始创造自己的语言。它会开始使用极其罕见的词汇,所以它会偏离分布太多。
所以我认为控制分布很棘手。从这个意义上来说,这可能并非易事。
Dwarkesh Patel:如果只能猜测的话,最佳智能核心最终应该有多少位?我们放在冯・诺依曼探测器上的东西,它必须有多大?
Andrej Karpathy:这在该领域的历史上真的很有趣,因为曾经有一段时间,一切都非常规模化,比如「哦,我们要制作更大的模型,数万亿个参数的模型」。这些模型的规模曾经是上升的,现在又下降了。最先进的模型更小。即便如此,我认为它们记忆的内容太多了。所以不久前我曾预测,我几乎可以得到即使在十亿个参数的情况下也表现非常出色的认知核心。
如果你和一个十亿参数的模型交谈,我认为 20 年后,你们可以进行非常高效的对话。它会思考,而且更像人类。但如果你问它一些事实性的问题,它可能需要查找,但它知道自己不知道,然后它会做所有合理的事情。
Dwarkesh Patel:你认为它会需要十亿个参数,这很令人惊讶。因为我们已经有十亿个参数模型,甚至几十亿个参数的非常智能的模型了。
Andrej Karpathy:最先进的模型就像一万亿个参数。但它们能记住很多东西。
Dwarkesh Patel:是的,但我很惊讶,考虑到这样的速度,10 年后…… 我们有了 GPT-OSS-20B。这比 GPT-4 原版好多了,后者有超过一万亿个参数。考虑到这种趋势,我很惊讶你认为 10 年后认知核心仍然是十亿个参数。我很惊讶你没有说:「那会是几千万甚至几百万。」
Andrej Karpathy:问题是,训练数据就是互联网,这真的很糟糕。正因为互联网很糟糕,所以才有巨大的提升空间。即使是互联网,当你我想到互联网时,你想到的也是《华尔街日报》。但事实并非如此。当你在前沿实验室查看预训练数据集时,你随机浏览的互联网文档,你会发现它完全是垃圾。我根本不知道这是怎么回事。它就像股票行情、代码,是来自互联网各个角落的大量垃圾。它不像《华尔街日报》的文章,那是极其罕见的。所以,因为互联网太糟糕了,我们必须建立非常大的模型来压缩所有这些数据。大部分压缩工作是记忆工作,而不是认知工作。
但我们真正想要的是认知部分,删除记忆部分。我想说的是,我们需要智能模型来帮助我们优化预训练集,将其缩小到只剩下认知部分。这样一来,我认为你就可以采用更小的模型,因为它拥有更好的数据集,你可以在其上进行训练。但它可能不是直接在数据集上训练的,而是从一个更好的模型中提炼出来的。
Dwarkesh Patel:但为什么精简后的版本仍然是十亿呢?
Andrej Karpathy:我觉得精简方法效果非常好。所以几乎每个小模型,如果你有一个小模型,它几乎肯定是精简过的。
Dwarkesh Patel:对,但为什么十年后的精简版本没有低于 10 亿呢?
Andrej Karpathy:哦,你认为它应该小于 10 亿?我的意思是,拜托,我不知道。在某些时候,至少需要 10 亿个旋钮才能做一些有趣的事情。你认为它应该更小吗?
Dwarkesh Patel:是的。如果你看看过去几年的趋势,那就是只寻找唾手可得的成果,从数万亿级的模型发展到两年内规模缩小两个数量级且性能更佳的模型,这让我觉得智能的核心可能更小、更小。用费曼的话来说,底部还有很大的空间。
Andrej Karpathy:我觉得我谈论十亿参数的认知核心已经有点反常了,而你却超越了我。也许我们可以再小一点。我确实认为,实际上,你希望模型拥有一些知识。你不希望它查找所有东西,因为那样你就无法在脑子里思考了。你一直在查找的东西太多了。一些基础课程需要用来获取知识,但它不能包含深奥的知识。
Dwarkesh Patel:我们正在讨论什么可能是认知核心。还有一个问题,那就是前沿模型的规模会随着时间的推移变成什么样?我很好奇你有没有预测。我们的规模可能在 GPT 4.5 之前一直在增长,但现在规模正在下降或趋于稳定。造成这种情况的原因有很多。你对未来有什么预测吗?最大的模型会变得更大、更小,还是会保持不变?
Andrej Karpathy:我没有非常确定的预测。只是在实践中,他们有失败的预算和成本预算。事实证明,预训练并不是你希望投入大部分失败或成本的地方。这就是为什么模型变得更小的原因。它们确实小了一点,预训练阶段更小,但它们会在强化学习、中期训练以及所有后续步骤中弥补这一点。他们只是在实践中考虑了所有阶段以及如何最大限度地利用资金。
预测这种趋势非常困难。我确实仍然期待着有很多唾手可得的成果。这是我的基本预期。我在这方面的分布非常广泛。
Dwarkesh Patel:你是否认为这些唾手可得的成果与过去两到五年发生的事情类似?如果我比较一下 nanochat 与 nanoGPT 以及您所做的架构调整,这些事情会继续发生吗?
Andrej Karpathy:在大多数情况下,是的。我预计数据集会变得更好很多。当您查看普通数据集时,它们非常糟糕。糟糕到我甚至不知道一切是如何运作的。看看训练集中的普通样本:事实错误、无意义的内容。不知何故,当你进行大规模处理时,噪音就会消失,只留下一些信号。数据集将大幅改进。
一切都会变得更好。我们的硬件,所有运行硬件的内核,以及最大化硬件性能的内核。英伟达正在慢慢调整硬件本身,Tensor Cores,所有需要改进的,以及将继续改进的。所有内核都会变得更好,最大限度地利用芯片。所有算法都可能随着优化、架构以及所有建模组件(包括所有操作方式以及我们训练的算法)的改进而改进。我预计不会出现任何主导因素。所有因素都会增加 20%。这大致是我所看到的。
AGI 将融入 2% 的 GDP 增长
Dwarkesh Patel:人们提出了不同的方法来绘制我们在实现全面通用人工智能方面取得的进展。如果你能画出一条线,就能看到这条线与通用人工智能的交点,以及在 x 轴上会如何体现。有人提出用教育水平来衡量。我们有一个高中生,然后他上了大学,学习强化学习,并打算获得博士学位。
Andrej Karpathy:我不喜欢这个说法。
Dwarkesh Patel:或者他们会提出用视野长度来衡量。也许他们可以自主完成一分钟的任务。然后他们可以自主完成一小时、一个人一小时、一个人一周的任务。你觉得这里相关的 y 轴是什么?我们应该如何看待人工智能的进步?
Andrej Karpathy:我对此有两个答案。第一,我几乎想完全拒绝这个问题,因为我认为这是计算的延伸。我们讨论过如何绘制计算的进展图吗?或者说,如何绘制自 20 世纪 70 年代以来计算的进展图?y 轴是什么?从这个角度来看,整个问题有点好笑。
当人们谈论人工智能和最初的 AGI,以及我们在 OpenAI 成立时是如何谈论它的时,AGI 指的是一个可以完成任何具有经济价值的任务的系统,其性能可以达到甚至超过人类。这就是当时的定义。我当时对此非常满意。我一直坚持这个定义,后来人们又编造了各种各样的其他定义。但我喜欢这个定义。
人们一直以来做出的第一个让步就是,他们干脆把所有物理的东西都去掉,因为我们讨论的只是数字知识工作。与最初的定义相比,这是一个相当大的让步,但我们会接受。如果我们说「哦,只有知识型工作」的话,会夺走多少经济份额?我不知道具体数字。如果要我估计的话,我觉得大概 10% 到 20% 是知识型工作。这仍然是一个非常大的市场。经济规模是多少?10% 或 20% 又意味着什么?即使在美国,我们谈论的市场份额或工作量也高达几万亿美元。这仍然是一个非常庞大的市场。
回到定义上,我要寻找的是这个定义在多大程度上是正确的?是否存在工作或大量任务?如果我们将任务视为任务而不是工作。这很难,因为问题在于社会会根据构成工作的任务,根据哪些工作可以自动化或不可自动化来重构。
今天,哪些工作可以被人工智能取代?最近一个很好的例子是 Geoff Hinton 的预测,他预测放射科医生将不再是一个职业,而事实证明,这在很多方面都是非常错误的。尽管计算机视觉非常擅长识别图像中所有需要识别的不同事物,但放射科医生仍然活跃且不断发展。这只是一项杂乱而复杂的工作,涉及大量表面,需要处理患者等各种情况。
我不知道按照这个定义,人工智能是否已经取得了巨大的进展。我正在寻找的一些工作具有一些特性,使其非常适合尽早实现自动化。例如,呼叫中心员工经常被提及,我认为这是正确的。呼叫中心的工作具有许多简化特性。它是一系列任务,每个任务看起来都很相似。你接听一个电话,通常需要 10 分钟的互动时间,或者更长一些。你按照某种方案完成某项任务,然后修改一些数据库条目之类的。
你确实需要引入任务范围 —— 执行一项任务需要多长时间 —— 然后你还需要去除上下文。你不需要处理公司或其他客户的不同服务部分。它只有数据库、你和你服务的人。它更封闭,更容易理解,是纯粹的数字化。所以我会寻找这些东西。
但即使如此,我还没有考虑完全自动化。我正在寻找一个自主性滑块。我预计我们不会立即取代人类。我们将用人工智能来代替人类,它们会完成 80% 的工作量。它们将 20% 的工作量委托给人类,而人类则监督由五个人工智能组成的团队,完成呼叫中心那些更机械的工作。我会寻找新的界面或新的公司,提供一些层面,让你能够管理一些尚不完善的人工智能。我预计这种情况会在整个经济领域出现。很多工作比呼叫中心员工难得多。
Dwarkesh Patel:对于放射科医生来说,我完全是猜测,但可以打个比方:Waymo 刚推出时,会有一个专人坐在前排,你必须让他们在那里,确保万一出了什么大问题,他们能及时监控。即使在今天,人们仍然在密切关注,确保一切顺利。刚刚部署的 Robotaxi 车内仍然有人。
现在我们可能面临类似的情况:如果 99% 的工作都实现了自动化,那么最后 1% 的工作就变得非常宝贵,因为它阻碍了其他所有工作的开展。如果放射科医生的情况也是如此,坐在 Waymo 前排的那个人必须接受多年的特殊培训才能完成最后 1% 的工作,那么他们的工资应该会大幅上涨。我想知道放射科、呼叫中心员工的工资是否也存在类似的情况。
Andrej Karpathy:这是一个有趣的问题。我认为放射科目前还没有出现这种情况。我认为放射科不是一个很好的例子。我不知道 Geoff Hinton 为什么选择放射科,因为我认为这是一个极其混乱、复杂的职业。
例如,我更感兴趣的是当今呼叫中心员工的情况,因为我预计很多死记硬背的工作在今天都可以自动化。我没有第一手资料,但我会关注呼叫中心员工的趋势。我还预计他们可能会换用人工智能,但之后我还会等上一两年,因为我预计他们可能会撤回并重新雇佣一些员工。
Dwarkesh Patel:有证据表明,在采用人工智能的公司中,这种情况已经普遍发生,我认为这相当令人惊讶。
我还发现了真正令人惊讶的事情。AGI 对吧?一种无所不能的东西。我们会移除体力劳动,但它应该能够完成所有知识工作。你可能会天真地认为,这种进步的方式是,你把顾问正在做的一个小任务从「桶」里拿出来。你把会计师正在做的一个小任务从「桶」里拿出来。然后,你就把这种做法推广到所有知识工作中。
但相反,如果我们真的相信在当前范式下我们正走在通用人工智能的道路上,那么实际进展却大相径庭。顾问和会计师的生产力似乎并没有大幅提升。程序员似乎在工作中越来越精雕细琢。如果你看看这些公司的收入,扣除与谷歌类似的普通聊天收入,只看 API 收入,就会发现编程占据了主导地位。所以,这种「通用」的东西,应该能够完成任何知识型工作,却绝大多数只做编程。你对通用人工智能部署方式的预期令人惊讶。
Andrej Karpathy:这里有一个有趣的观点。我确实认为编码对这些 LLM 和 Agent 来说绝对是完美的入门选择。这是因为编码从根本上来说一直都是围绕文本进行的。它是计算机终端和文本,一切都基于文本。LLM 的学习方式是在网上进行训练的,他们喜欢文本。他们是完美的文本处理器,而且外面有各种各样的数据。这简直是天作之合。
我们还预置了许多用于处理代码和文本的基础设施。例如,我们有 Visual Studio Code 或你最喜欢的 IDE 来显示代码,代理可以接入其中。如果代理的 diff 代码发生了变化,我们就会立即拥有所有这些代码,这些代码会使用 diff 代码库来显示所有差异。这几乎就像我们为代码预先构建了许多基础设施一样。
相比之下,有些事情根本不喜欢这种做法。例如,有些人试图构建自动化流程,不是为了编码,而是为了 PPT。我看到一家公司在做 PPT。这真的难太多了。难的原因是幻灯片不是文本,它是一些小图形,按空间排列,包含视觉元素。幻灯片没有这种预先构建的基础设施。例如,如果一个 Agent 要修改你的幻灯片,系统如何向你展示差异?你又如何看到差异?目前还没有任何东西可以显示这些差异,必须有人来构建它。有些东西本身就不适合人工智能,因为人工智能是文本处理器,而代码却出人意料地适合。
Dwarkesh Patel:我不确定这是否能解释这一切。我个人曾尝试让 LLM 在纯语言输入和语言输出的领域发挥作用,比如重写记录稿,根据记录稿制作剪辑。我很可能没有尽我所能。我把很多好的例子放在上下文中,但也许我应该做一些微调。
我们共同的朋友安迪・马图沙克告诉我,他尝试了 500 亿种方法,试图让模型擅长编写间隔重复提示。同样,这些任务很大程度上是语言输入和语言输出的任务,这类任务应该是这些 LLM 课程的核心内容。他尝试了用少量样本进行上下文学习。他尝试了监督微调和检索。但他无法让这些模型制作出令他满意的卡片。
因此,我发现即使在语言输出领域,也很难从这些模型中获得与编码无关的经济价值,这令人震惊。我不知道这是什么原因造成的。
Andrej Karpathy:这很有道理。我不是说任何文本都是无关紧要的。我确实认为代码是非常结构化的。我想说,文本可能更加华丽,而且文本中的熵也更大。我不知道该如何表达。而且代码很难,所以人们觉得 LLM 能赋予他们很大的力量,即使是从简单的知识开始。我不知道我是否有一个很好的答案。显然,文本让事情变得容易得多。
超级智能是社会自动化的进步,
但可能会导致失控
Dwarkesh Patel:如何看待超级智能?它与普通人类或人类公司在本质上有何不同?
Andrej Karpathy:我认为它是社会自动化的一个进步。从计算趋势来看,很多事情都会逐渐自动化,而超级智能将是这一趋势的延伸。我们预计随着时间的推移,会出现越来越多的自主实体,它们将承担大量的数字工作,并在一段时间后最终承担体力工作。基本上,我粗略地将其视为自动化。
Dwarkesh Patel:但自动化涵盖了人类已经可以做的事情,而超级智能则意味着人类无法做到的事情。
Andrej Karpathy:人类所做的事之一就是发明新事物,如果可以理解的话,我会将这些发明纳入自动化范畴。
Dwarkesh Patel:我想,从更抽象的角度,更定性的角度来说,你是否认为某种东西会让人感觉…… 因为这个东西要么思维速度很快,要么拥有大量副本,要么副本可以自我融合,要么更聪明,所有这些人工智能都可能具备,那么这些人工智能所处的文明,会不会感觉与人类在本质上存在差异?
Andrej Karpathy:会的。它本质上是自动化的,但它会非常陌生。它看起来会非常奇怪。就像你提到的,我们可以在计算机集群上运行所有这些,而且速度要快得多。
当世界变成这样时,我开始担心的一些情况是,人们会逐渐失去对正在发生的事情的控制和理解。我认为这是最有可能的结果。我们会逐渐把这些东西层层叠加,而理解它的人会越来越少。然后,人们会逐渐失去对正在发生的事情的控制和理解。在我看来,这似乎是所有事情最有可能的结果。
Dwarkesh Patel:让我稍微探讨一下。我不太清楚失去控制和失去理解是不是一回事。台积电、英特尔 —— 随便一家公司 —— 的董事会成员都只是些声名显赫的八十岁老人。他们几乎不懂事,甚至可能根本就没有实际的控制权。
一个更好的例子就是美国总统。总统拥有巨大的权力。我并非想对当前的执政者做出什么好的评价,或者我可能是想,但实际的理解水平与控制水平截然不同。
Andrej Karpathy:我觉得这很公平。这是一个很好的反驳。我认为两者都会失去。
Dwarkesh Patel:为什么呢?理解力的丧失显而易见,但为什么会失去控制呢?
Andrej Karpathy:我们已经深入到一个我不知道会是什么样子的领域,但如果我要写科幻小说,它们看起来应该不是一个单一实体接管一切,而是多个相互竞争的实体,它们逐渐变得越来越自主。其中一些实体会变得叛逆,另一些实体会与之抗争。这就是我们委托给它们的完全自主活动的后果。
Dwarkesh Patel:导致失控的并非它们比我们聪明。
Andrej Karpathy:很多这些东西,它们将成为人们的工具,它们代表人们行事,诸如此类。所以,也许这些人掌控着控制权,但从我们想要的结果来看,这或许是整个社会的失控。有些实体代表个人行事,而这些实体仍然大致被视为失控。
Dwarkesh Patel:我应该早点问这个问题。我们之前讨论的是,目前在进行人工智能工程或人工智能研究时,这些模型更像是编译器,而不是替代品。
在某种程度上,如果你拥有通用人工智能 (AGI),它应该能够完成你所做的事情。你是否觉得拥有一百万个并行的你的副本会大大加速人工智能的进展?如果这种情况真的发生了,你预计一旦我们拥有了真正的 AGI,就会迎来智能爆炸吗?我今天说的可不是 LLM。
Andrej Karpathy:我预计,但这很正常,因为我们已经身处智能爆炸时代,而且已经持续了几十年。它基本上就像 GDP 曲线,是涵盖了行业诸多方面的指数加权和。一切都在逐渐自动化,而且这种趋势已经持续了几百年。工业革命就是自动化,包括一些物理组件、工具构建等等。编译器是早期的软件自动化等等。我们长期以来一直在递归地自我改进和爆炸式增长。
换句话说,如果不考虑生物力学等等因素,地球曾经是一个非常无聊的地方,而且看起来非常相似。如果你从太空看,我们正处于这场爆炸式增长之中,但我们看到的是慢动作。我确实觉得这已经发生了很长时间了。再说一次,我并不认为人工智能是一项与早已发生之事截然不同的技术。
Dwarkesh Patel:你认为它会延续这种超指数增长的趋势吗?
Andrej Karpathy:是的。这就是为什么我对此非常感兴趣,因为我曾一度试图在 GDP 中寻找人工智能的影子。我认为 GDP 应该会增长。但后来我研究了一些其他我认为极具变革性的技术,比如电脑、手机等等。你无法在 GDP 中找到它们。GDP 也同样呈指数增长。
即使是早期的 iPhone 也没有 App Store,也没有现代 iPhone 那样的花哨功能。所以,尽管我们认为 2008 年 iPhone 的问世是一场重大的翻天覆地的变化,但事实并非如此。一切都如此分散,扩散如此缓慢,最终所有事物都会被平均化,形成同一个指数级增长。计算机也是如此。你不会在 GDP 中看到它们,因为它的进展非常缓慢。
人工智能也会出现同样的情况。它只是更加自动化。它让我们能够编写以前无法编写的各种程序,但人工智能本质上仍然是一种程序。它是一种新型的计算机和计算系统。但它也存在所有这些问题,它会随着时间的推移而扩散,并且仍然会以相同的指数级增长。我们仍然会经历一个极其垂直的指数级增长。生活在这样的环境中会非常陌生。
Dwarkesh Patel:如果回顾工业革命之前到现在的趋势,你会发现它呈现出一种超指数增长,增长率从 0% 到 1 万年前的 0.02%,再到现在的 2%。你是说,如果把人工智能也算进去,那么人工智能能带来 20% 或 200% 的增长吗?
还是说,如果回顾过去 300 年,你会看到科技层出不穷 —— 计算机、电气化、蒸汽机、铁路等等 —— 但增长率始终如一,都是 2%。您是说增长率还会上升吗?
Andrej Karpathy:有一段时间,我试图在 GDP 曲线中寻找人工智能,但我说服自己这是错误的。即使人们谈论递归式自我改进、实验室之类的东西,这仍然是家常便饭。它当然会递归地自我改进,而且它一直在递归地自我改进。
LLM 让工程师能够更高效地构建下一轮 LLM,而且更多的组件正在实现自动化和调整等等。所有工程师都能使用谷歌搜索,这都是其中的一部分。所有工程师都有集成开发环境 (IDE),所有工程师都能使用自动完成功能或使用 Claude Code 等等,这些都只是整体加速的一部分。一切都非常顺畅。
Dwarkesh Patel:需要澄清的是,你说的是增长率不会改变。智能爆炸终将显现,因为它使我们能够继续保持 2% 的增长轨迹,就像互联网帮助我们保持 2% 的增长轨迹一样。
Andrej Karpathy:是的,我预计它会保持同样的模式。
Dwarkesh Patel:我只是想反驳你的观点,我预计它会失败,因为我认为真正的通用人工智能 —— 我指的不是 LLM 的编程机器人,而是真正取代服务器中人类的机器 —— 与其他提高生产力的技术有着本质的区别,因为它本身就是劳动力。
我认为我们生活在一个劳动力非常紧张的世界。如果你和任何一家初创公司的创始人或任何人交谈,你可能会问,你还需要什么?你需要真正有才华的人。如果你有数十亿额外的人发明东西,整合自身,从头到尾支撑着公司,那感觉和单一技术在本质上是不同的。就好像地球上多了 100 亿人一样。
Andrej Karpathy:也许这是一个反驳。在这一点上,我很乐意被说服。但我会说,比如,计算就是劳动。计算曾经是劳动。很多工作岗位消失了,因为计算机正在自动化大量数字信息处理,而这些处理现在不需要人工参与。所以计算机也是劳动,这已经是必然趋势了。
以自动驾驶为例,它也是计算机在做劳动。这已经是必然趋势了。
Dwarkesh Patel:你有一台机器,它正在以可能更快的速度输出更多类似的东西。历史上,我们有一些增长模式转变的例子,增长率从 0.2% 上升到 2%。在我看来,一台机器随后输出下一辆自动驾驶汽车、下一个互联网等等,这似乎很有道理……
Andrej Karpathy:我明白这种说法的由来。同时,我确实觉得人们会假设 “我们把上帝装在一个盒子里,现在它可以做所有事情”,但事实并非如此。它会成功完成一些事情,也会在其他一些事情上失败。它会逐渐被投入社会,最终会呈现同样的模式。这是我的预测。
这种假设突然在一个盒子里出现一个完全智能、完全灵活、完全通用的人,我们可以用它来解决社会中的任意问题,我不认为我们会经历这种离散的变化。我认为我们会在整个行业中实现同样的逐步普及。
Dwarkesh Patel:这些对话常常会造成误导。我不喜欢在这种情况下使用「智能」这个词,因为智能意味着你会认为会有一个超级智能坐在服务器里,它会预知如何发明新技术和新发明,从而引发爆炸式增长。我设想的 20% 的增长并非如此。我设想的是,可能存在数十亿个非常聪明的类人大脑,或者说,这就是所需的全部。
但事实是,有数亿、数十亿个这样的大脑,每个都在独立地制造新产品,思考如何将自己融入经济。如果一个经验丰富的聪明移民来到这个国家,你就不需要思考我们如何将他们融入经济了。他们会自己想办法。他们可以创办公司,可以发明创造,或者提高世界生产力。
即使在当前形势下,我们也有一些地方实现了 10% 到 20% 的经济增长。如果人口众多,但资本相对较少,那么香港、深圳或其他城市几十年来的经济增速可能超过 10%。有很多非常聪明的人准备利用这些资源,完成这段追赶时期,因为我们经历过这种不连续性,我认为人工智能可能也是如此。
Andrej Karpathy:我理解,但我仍然认为你预设了一些离散的飞跃。我们正在等待一些解锁的机会。突然之间,数据中心就涌现出一些天才。我仍然认为你预设了一些离散的飞跃,这种飞跃史无前例,我在任何统计数据中都找不到,而且我认为这种飞跃可能不会发生。
Dwarkesh Patel:我的意思是,工业革命就是这样一次飞跃。你们的增长速度从 0.2% 上升到了 2%。我只是说你们会看到另一个类似的跃升。
Andrej Karpathy:我有点怀疑,我得看看。比如,工业革命之前的一些记录就不太好。我有点怀疑,但我没有强烈的意见。你说这是一次极其神奇的单一事件。你是说,也许还会有另一个事件也像那样,极其神奇。它会打破范式,等等。
Dwarkesh Patel:…… 工业革命的关键在于它并非神奇。如果你放大来看,你会发现 1770 年或 1870 年并没有出现什么关键的发明。但与此同时,你确实将经济推向了一个发展速度更快、指数级增长十倍的领域。我预计人工智能也会出现类似的情况,我们并非一蹴而就地创造出了关键的发明。
Andrej Karpathy:这是一个悬而未决的问题,正在被解开。比如,也许会有一种新的能源。有一些问题需要解决 —— 在这种情况下,是某种认知能力 —— 而且还有很多认知工作需要完成。
Dwarkesh Patel:没错。
Andrej Karpathy:你预计,当这项新技术跨过门槛时,这些悬而未决的问题会被填补。
Dwarkesh Patel:或许可以这样想:纵观历史,很多增长源于人们提出想法,然后人们付诸行动去实现这些想法,并创造有价值的产出。在这段时间的大部分时间里,人口一直在爆炸式增长,这推动了增长。
过去 50 年里,人们一直认为增长停滞了。前沿国家的人口也停滞了。我认为我们又回到了人口指数增长导致产出超指数增长的时代。
Andrej Karpathy:这真的很难说。我理解这种观点,但我的直觉并不认同。
智能和文化的进化
Dwarkesh Patel:你向我推荐了 Nick Lane 的书,于是我也采访了他。我有一些关于智能和进化史的思考问题。
现在,你在过去 20 年从事人工智能研究,可能对智能是什么以及开发智能需要什么有了更具体的认识。你是否因此对进化偶然发现智能感到惊讶?
Andrej Karpathy:我刚才来的时候在听他的播客。关于智慧生物及其进化,这都是非常非常近期的事情。我很惊讶它竟然进化出来了。
我觉得思考世界很有趣。假设有一千颗像地球一样的行星,以及它们的样子。我想 Nick Lane 在这里谈论的是一些早期阶段。他预计其中大多数行星上都会出现非常相似的生命形式,以及类似细菌的生物。这其中也有一些断层。直觉上,我觉得智慧生物的进化应该是一个相当罕见的事件。
也许你应该根据某种生物存在的时间长短来判断。如果细菌存在了 20 亿年却什么也没发生,那么进化成真核生物可能就相当困难了,因为细菌在地球进化或历史的早期就出现了。我们拥有动物多久了?也许有几亿年了,多细胞动物会跑来跑去。这大概相当于地球寿命的 10%。在这个时间尺度上,或许并不太难。但它的发展过程仍然让我直觉上感到惊讶。我原本以为只会出现很多类似动物的生命形式,做类似动物的事情。但事实上,能够创造并积累文化和知识的事物,却让我感到惊讶。
Dwarkesh Patel:如果你认同 Rich Sutton 的观点,即智力的关键在于动物智力…… 他曾说过:「如果你研究过松鼠,你就已经基本掌握了通用人工智能。」
我们在 6 亿年前寒武纪生命大爆发后不久就发现了松鼠的智力。似乎 6 亿年前的氧化事件引发了这一事件。但紧接着,智力算法就出现了,并赋予了松鼠智力。这暗示着动物智力也是如此。只要环境中有了氧气,就有了真核生物,算法就唾手可得了。或许进化如此迅速地偶然发现了这一点只是个意外,但我不知道这是否意味着最终一切都会变得非常简单。
Andrej Karpathy:这些东西真的很难说。你可以稍微根据某种东西存在了多久,或者感觉某种东西遇到瓶颈的时间长短来判断。Nick Lane 非常擅长描述细菌和古菌中这种非常明显的瓶颈现象。20 亿年来,什么都没发生。生物化学极其多样化,但却没有任何东西能够发育成动物。
正如你所说,我不知道我们是否在动物和智慧生物之间看到过类似的对应关系。我们也可以从我们认为某种智慧生物单独出现的次数来看待这个问题。
关于这一点,我想说:人类拥有智慧,鸟类也拥有智慧。渡鸦等动物非常聪明,但它们的大脑部分截然不同,我们之间并没有太多共同点。这或许暗示着智慧的出现只是短暂的。在这种情况下,智慧的出现频率应该更高。
Dwarkesh Patel:之前的嘉宾 Gwern 和 Carl Shulman 就此提出了一个非常有趣的观点。他们的观点是,人类和灵长类动物所拥有的可扩展算法,也出现在鸟类中,或许在其他时期也出现过。但人类找到了一个进化利基,它奖励智力的边际提升,并且拥有一个可扩展的大脑算法,可以实现这些智力的提升。
比如,如果一只鸟的脑容量更大,它早就从空中消失了。就脑容量而言,它非常聪明,但它并不处于一个奖励脑容量增大的生态位。它可能类似于一些非常聪明的……
Andrej Karpathy:比如海豚?
Dwarkesh Patel:没错,但人类有双手,学习使用工具会得到奖励。我们可以将消化过程外化,将更多能量输送到大脑,从而启动飞轮。
Andrej Karpathy:还有需要利用的东西。我猜如果我是海豚,事情会更难办。你怎么生火?在水里,在水里能做的事情,可能比在陆地上少,只是化学层面上是这样。
我同意这种关于这些生态位和激励机制的观点。我仍然觉得这很神奇。我本来以为有些事情会卡在肌肉更发达的动物身上。探索智能是一个非常迷人的转折点。
Dwarkesh Patel:正如 Gwern 所说,它之所以如此困难,是因为存在一条非常微妙的界线:要么是某些东西太重要了,不值得你把正确的电路直接提炼回 DNA 中;要么是它根本不值得你去学习。它必须是某种能够激励你用一生去构建学习算法的东西。
Andrej Karpathy:你必须激励某种适应性。你需要环境是不可预测的,这样进化就无法将你的算法嵌入到你的权重中。从这个意义上说,很多动物都是预先设定好的。人类必须在出生时就弄清楚这一点。你需要这些环境变化非常快,你无法预见什么会有效。你创造的智能就是在测试时弄清楚这一点。
Dwarkesh Patel:Quintin Pope 写了一篇有趣的博客文章,他说他不认为会出现急剧的飞跃,是因为人类在 6 万年前就经历了急剧的飞跃,我们似乎已经拥有了今天的认知架构。1 万年前,农业革命,现代化。那 5 万年里发生了什么?你必须构建这个文化框架,以便代代相传地积累知识。
在我们进行人工智能训练的方式中,这种能力是免费存在的。在很多情况下,它们实际上是经过提炼的。如果你重新训练一个模型,它们可以互相训练,它们可以在同一个预训练语料库上训练,它们实际上不必从头开始。从某种意义上说,人类花了很长时间才实现这种文化循环,但通过我们进行 LLM 的训练,它就免费存在了。
Andrej Karpathy:是也不是。因为 LLM 实际上并不具备与文化相当的东西。也许我们赋予它们太多,并鼓励它们不去创造它或诸如此类的东西。但就文化、书面记录以及彼此之间传递笔记的发明而言,我认为目前 LLM 还没有与之相当的东西。LLM 目前实际上并不具备文化,我认为这是阻碍之一。
Dwarkesh Patel:LLM 的文化会是什么样子?
Andrej Karpathy:最简单的情况是,LLM 可以编辑一个巨大的便笺簿,当 LLM 阅读资料或帮忙完成工作时,它实际上是在自己编辑便笺簿。为什么 LLM 不能为其他 LLM 写一本书呢?那会很酷。为什么其他 LLM 不能读这个 LLM 的书,并从中受到启发或震惊之类的?这些东西都是无法比拟的。
Dwarkesh Patel:这种事情什么时候会开始发生?多智能体系统和某种独立的人工智能文明和文化?
Andrej Karpathy:在多智能体领域,有两个强大的想法尚未被真正提出。我认为第一个是文化,法学硕士(LLM)拥有不断增长的知识库,用于自身目的。
第二个更像是强大的自我对弈理念。在我看来,它极其强大。进化过程中充满了竞争,推动着智能和进化。从算法的角度来说,AlphaGo 是在与自己对弈,这就是它学习如何真正精通围棋的方式。目前还没有与自我对弈的 LLM 等同的东西,但我希望它也能存在。目前还没有人做到过。为什么一个 LLM 不能创造一堆问题,让另一个 LLM 学习解决呢?这样,这个 LLM 就可以一直尝试解决越来越难的问题,诸如此类。
有很多方法可以组织它。这是一个研究领域,但我还没有看到任何令人信服的成果,能够证明这两种多智能体改进的有效性。我们目前主要关注的是单个智能体,但这种情况会改变。在文化领域,我也会将组织划分开来。我们也没有看到任何令人信服的成果。这就是为什么我们还处于早期阶段。
Dwarkesh Patel:阻碍 LLM 之间这种合作的关键瓶颈是?
Andrej Karpathy:或许我会这样说,有些类比方法有效,但实际上却有效,而且效果惊人。许多较小的模型,或者说更笨的模型,与幼儿园学生、小学生或高中生非常相似。不知何故,我们的研究规模还不够大,无法让这些方法真正发挥作用。我的 Claude 代码,他们感觉自己仍然像小学生。我知道他们可以参加博士生测验,但他们的认知能力仍然像幼儿园或小学生。
我不认为他们能够创造文化,因为他们仍然是孩子。他们是天才儿童。他们对这些东西记忆力极强。他们可以令人信服地创造出各种看起来非常不错的杂乱作品。但我仍然认为他们并不真正了解自己在做什么,他们也不具备我们那些需要收集的、关于所有这些小细节的认知能力。
自动驾驶进展缓慢,
从 demo 到产品需要「九个九的循环」
Dwarkesh Patel:你谈到自己在特斯拉从 2017 年到 2022 年领导自动驾驶技术的发展。亲眼见证了从酷炫的演示到如今成千上万辆真正实现自动驾驶的汽车的进步。为什么这花了十年时间?这期间发生了什么?
Andrej Karpathy:我几乎会立即反驳的一点是,从很多方面来说,自动驾驶还远远没有完成。自动驾驶非常有趣,因为我投入了五年时间,这绝对是我获得很多直觉的地方。自动驾驶有着悠久的历史,最早的自动驾驶演示可以追溯到 20 世纪 80 年代。你可以看到 1986 年卡内基梅隆大学的一个演示。当时有一辆卡车正在道路上自动驾驶。
当我加入特斯拉前,我参与了 Waymo 的一个非常早期的演示。 2014 年左右的时候,它基本上让我体验到了完美的驾驶体验。我们绕着帕洛阿尔托转了一圈。我当时觉得很接近了,但最终还是花了很长时间。
对于某些类型的任务和工作来说,从演示到产品之间存在着巨大的差距。尤其是在自动驾驶这样的领域,失败的代价太高。许多行业、任务和工作可能不具备这种特性,但当你拥有这种特性时,肯定会增加开发时间。
例如,在软件工程中,我认为这种特性确实存在。对于很多模拟编程来说,它并不存在。但如果你编写的是真正的生产级代码,这种特性应该存在,因为任何类型的错误都会导致安全漏洞或类似问题。数以百万计的人的个人社保号码被泄露或类似情况发生。所以在软件开发中,人们应该小心谨慎,有点像自动驾驶。自动驾驶中,如果出了问题,你可能会受伤。后果可能更糟。但在软件开发中,事情的严重程度几乎是无限的。
我确实认为它们都有这个特性。它就像一个九个九的循环。每一个九都是一个恒定的工作量。每一个九都是相同的工作量。当你拿到一个演示版,并且某个东西 90% 的时间都能正常工作,那只是第一个九。然后你需要第二个九,第三个九,第四个九,第五个九。我在特斯拉工作了五年左右,我们可能经历了三个或两个九。我不知道那是什么,但经过了多个九的迭代。还有更多的九要完成。
这就是为什么这些事情需要这么长时间的原因。看到一个演示版的东西对我来说绝对是一种成长。每当我看到任何东西的演示,我都会非常失望。如果是有人为了演示而炮制的演示,那就更糟糕了。如果可以互动,那就好一些了。但即便如此,你还没有完成。你需要真正的产品。当它与现实接触时,它将面临所有这些挑战,以及所有需要修补的不同行为环节。
这是一个至关重要的安全领域,除非你正在做氛围编码,这很美好、很有趣等等。
Dwarkesh Patel:听到你这么说,很有意思。人们常说,自动驾驶之所以花了这么长时间,是因为失败的代价太高了。人类平均每行驶 40 万英里或每七年就会犯一次错误。如果你必须发布一个至少七年内不会犯错的编码代理,那么部署起来就会困难得多。
但你的观点是,如果你犯了一个灾难性的编码错误,比如每七年就破坏某个重要系统……
Andrej Karpathy:很容易犯错。
Dwarkesh Patel:事实上,这远少于七年,因为你一直在输出这样的代码。就 token 而言,这需要七年时间。
Andrej Karpathy:从某些方面来说,这是一个更难的问题。自动驾驶只是人们做的成千上万件事之一。我想,它几乎就像一个单一的垂直领域。而当我们谈论通用软件工程时,它甚至更多…… 涉及的范围更大。
Dwarkesh Patel:人们对这个类比还有另一个反对意见,那就是在自动驾驶领域,很大一部分时间都花在了解决如何获得稳健的基本感知、构建表征以及建立一个具有一定常识的模型上,以便它能够在看到稍微偏离分布的情况时进行泛化。如果有人朝这边挥手,你不需要为此进行训练。这个东西会理解如何应对这样的事情。
这些都是我们今天通过 LLM 或 VLM 免费获得的东西,我们不必解决这些非常基本的表征问题。所以现在在不同领域部署人工智能就像把一辆搭载现有模型的自动驾驶汽车部署到另一个城市,这很难,但不像是一项需要 10 年才能完成的任务。
Andrej Karpathy:我不确定我是否完全同意这一点。我不知道我们免费获得了多少。在理解我们获得了什么方面仍然存在很多差距。我们肯定在单个实体中获得了更具泛化的智能,而自动驾驶是一项非常特殊用途的任务…… 从某种意义上说,构建一个专用任务可能更难,因为它不会脱离你正在大规模进行的更通用的任务,如果这说得通的话。
但这个类比仍然不太贴切,因为 LLM 仍然很容易出错,而且它们还有很多空白需要填补。
另一个方面是,自动驾驶汽车还远未完成。部署规模非常小。即使是 Waymo 之类的公司,也只有很少的车。粗略地说,是因为他们不经济。他们构建的是未来的东西。所有这些成本都存在,不仅仅是这些汽车及其运营和维护的边际成本,还有整个系统的资本支出。让它变得经济实惠对他们来说仍然是一项艰巨的任务。
另外,当你看着这些无人驾驶的汽车时,我实际上觉得这有点误导,因为这些汽车里有非常精密的远程操作中心,里面的人与汽车形成了一种循环。我还没有完全掌握,但人操作的程度比你想象的要高。有人从天上向外发射信号。我不知道他们是否完全参与了驾驶过程。有时他们会参与,但他们肯定参与其中,而且还有人类。从某种意义上说,我们并没有真正把人从驾驶中移除,而是把他们转移到了你看不见的地方。
我仍然认为,正如你提到的,在不同环境之间进行转换还需要一些工作。要让自动驾驶成为现实,仍然存在挑战。但我确实同意,它肯定已经跨过了一个门槛,感觉有点真实,除非它真的是远程操作的。例如,Waymo 无法覆盖城市的各个角落。我怀疑是城市某些地方信号不好。但要说的是,我对整个技术栈一无所知,只是在猜测。
Dwarkesh Patel:你在特斯拉领导了五年的自动驾驶项目。
Andrej Karpathy:抱歉,我对 Waymo 的具体情况一无所知。顺便说一句,我很喜欢 Waymo,而且我一直都在用它。我只是觉得大家有时对一些进展有点太天真了,而且还有很多工作要做。在我看来,特斯拉采用了一种更具可扩展性的方法,而且团队做得非常好。我之前预测过这件事会如何发展。Waymo 起步较早,因为可以集成很多传感器。但我确实认为特斯拉正在采取更具可扩展性的策略,而且未来看起来会更接近这种策略。这还需要时间才能实现。
但我不想说自动驾驶花了十年才发展起来,因为它现在还没发展起来。
Dwarkesh Patel:因为第一,自动驾驶始于 1980 年,而不是 10 年前;第二,自动驾驶的终点还没有到来。
Andrej Karpathy:当我们谈论自动驾驶时,我通常想到的是规模化的自动驾驶。人们不需要考驾照等等。
Dwarkesh Patel:人工智能的部署速度有多快,以及它在早期阶段的价值有多大,这可能是目前世界上最重要的问题。如果你想模拟 2030 年的情况,你应该对这个问题有所了解。
你可能会想到的另一件事是,自动驾驶对延迟有要求。我不知道实际的模型是什么,但我猜大概有数千万个参数之类的,这对于 LLM 的知识工作来说并非必要的限制。也许在计算机使用等方面会有所限制。
但另一个重要问题,也许更重要的是资本支出问题。是的,提供额外的模型副本确实需要额外的成本,但一个会话的运营成本相当低,你可以将人工智能的成本分摊到训练运行本身中,具体取决于推理扩展的进展情况等等。但这肯定不像为了服务某个车型的另一个实例而制造一辆全新的汽车那么简单。因此,更广泛地部署的经济效益要好得多。
Andrej Karpathy:没错。如果你坚持比特的概念,比特比任何接触物理世界的东西都要简单一百万倍。比特是完全可变的,可以以极快的速度重组。你会期望在行业中也出现更快的适应性变化等等。第一个是什么?
Dwarkesh Patel:延迟要求及其对模型大小的影响?
Andrej Karpathy:我认为大致正确。我还认为,如果我们谈论的是大规模的知识工作,实际上也会有一些延迟要求,因为我们必须创建大量的计算资源并为其提供服务。
简要谈谈最后一个方面。社会对此有何看法?法律后果是什么?从保险角度来看,它是如何运作的?它包含哪些层面和方面?人们在 Waymo 上放置锥体相当于什么?所有这些都会有类似的情况。所以我觉得自动驾驶是一个非常好的比喻,你可以借鉴。车里的锥体相当于什么?隐藏起来的远程操作工人相当于什么?以及它的所有方面。
Dwarkesh Patel:你对这对当前的人工智能建设意味着什么有什么看法?这将在一两年内使全球可用计算量增加 10 倍,到 2020 年可能增加 100 倍以上。如果人工智能的使用率低于一些人天真的预测,这是否意味着我们过度建设了计算能力?还是这是一个单独的问题?
Andrej Karpathy:有点像铁路的情况。历史上有先例。或者说,是电信行业?它为十年后才出现的互联网铺平了道路,并在 90 年代末创造了整个电信行业的泡沫。
我知道这听起来很悲观,其实我很乐观。之所以听起来悲观,只是因为我打开推特,看到一堆我完全无法理解的东西。这种情况存在的原因有很多。说实话,很多都与融资有关。很多只是吸引注意力,在互联网上把注意力转化为金钱。这样的事情有很多,我只是对此做出反应。
但总体而言,我非常看好科技。我们会努力解决所有这些问题。科技发展速度很快。我不知道是否存在过度建设。我认为我们能够消化掉我所理解的正在建设的东西。例如,Claude Code 或 OpenAI Codex 之类的东西一年前甚至还不存在。对吗?这是一项神奇的技术。未来会有巨大的需求,就像我们已经在 ChatGPT 等方面看到的需求一样。
我不知道是否存在过度建设。我只是在对一些人们一直错误理解的快速发展做出反应。在我从事人工智能的 15 年里,我听过很多次,一些非常有名望的人总是犯错。我希望这个问题能够得到适当的校准,其中一些问题还会产生地缘政治影响等等。我不希望人们在这个领域犯错。我希望我们能够立足于现实,认清技术是什么,不是什么。
AI 的出现将彻底改变教育
Dwarkesh Patel:我们来谈谈教育和 Eureka Labs 吧。我很好奇你现在在做什么,为什么不研究人工智能本身呢?
Andrej Karpathy:我觉得人工智能实验室所做的事情有一定的决定论性。我可以帮忙,但我不知道我是否能以独特的方式改进它。我个人最大的担忧是,很多事情都发生在人类身上,而人类却因此被剥夺了力量。我关心的不仅仅是我们将要建造的戴森球,以及人工智能将如何以完全自主的方式建造,我关心的是人类的未来。我希望人类未来能够过上富裕的生活。
我觉得这才是我能比在前沿实验室里进行渐进式改进更能带来独特价值的地方。我最害怕的是像《机器人总动员》或《蠢蛋进化论》之类的电影里描绘的那种人类站在这些东西一边的东西。我希望人类在未来能够变得更好。对我来说,教育是实现这一目标的途径。
Dwarkesh Patel:那么你在那里做什么呢?
Andrej Karpathy:简单来说,我们正在努力建立星际舰队学院。我不知道你看过《星际迷航》没有。
Dwarkesh Patel:我没有看过。
Andrej Karpathy:星际舰队学院是一所精英院校,致力于尖端科技、建造宇宙飞船,并培养学员成为这些宇宙飞船的飞行员等等。所以我设想的是一个精英技术知识机构,一个非常先进、一流的学校。
Dwarkesh Patel:如何才能很好地教授技术或科学内容?你是这方面的世界级大师之一。
Andrej Karpathy:教育方面有一点让我非常着迷,那就是我认为人工智能的出现将彻底改变教育。教育必须进行某种程度的重塑和变革。
我们还处于早期阶段。会有很多人尝试做一些显而易见的事情。比如,获得 llm 并向它提问。现在就把所有你现在通过提示就能做到的基本事情都做一遍。这很有帮助,但我觉得还是有点草率。我想把事情做好,但我觉得我的能力还达不到我想要的水平。我想要的是真正的辅导经历。
一个突出的例子是我最近在学韩语,也就是语言学习。我经历了一个阶段,在网上自学韩语。我又经历了一个阶段,在韩国和一群人一起参加一个小班的韩语学习,这真的很有趣。我们有一个老师和大约 10 个人一起学习韩语。然后我换成了一对一辅导。
最让我着迷的是,我觉得我遇到了一位非常好的辅导老师,但想想这位辅导老师为我做了什么,那段经历有多么不可思议,以及我最终想要达到的目标有多高。通过一次非常简短的交谈,她立刻就了解了我作为一名学生的水平,我知道什么,不知道什么。她能够精准地探究各种问题或事物,从而理解我的世界模型。目前,没有哪个大模型能做到 100% 做到这一点,甚至差得远。但如果导师优秀,他们就能做到这一点。一旦她理解了我的知识,她就能真正地帮助我,满足我目前能力范围内的所有需求。我需要始终受到适当的挑战。我不能面对太难或太琐碎的事情,而导师非常擅长提供恰到好处的指导。
我感觉自己是学习的唯一障碍,这并不是说我找不到知识,或者知识没有得到恰当的解释等等。这只是我的记忆能力等等。这就是我希望人们拥有的。
Dwarkesh Patel:如何实现自动化?
Andrej Karpathy:这个问题很好。以目前的能力,你做不到。所以我认为现在还不是开发这种人工智能导师的合适时机。我仍然认为它是一款有用的产品,很多人会开发它,但门槛太高,而且能力还不成熟。即使在今天,我也会说 ChatGPT 是一款非常有价值的教育产品。但对我来说,看到门槛这么高真是太令人着迷了。
Dwarkesh Patel:但你正在开发它,对吧?
Andrej Karpathy:任何一个有过优秀导师的人都会问:「你打算怎么做这个?」我在等待那种能力。
我做过一些计算机视觉的咨询。很多时候,我给公司带来的价值就是告诉他们不要使用人工智能,这就是我的附加价值。我觉得现在的教育行业也一样,我觉得就我的想法而言,现在时机还不成熟,但时机终将到来。目前,我正在构建一个看起来可能更传统的东西,包含实体和数字组件等等。但未来的样子显而易见。
Dwarkesh Patel:你希望今年或明年发布什么?
Andrej Karpathy:我正在开发第一门课程。我希望打造一门非常非常好的课程,成为你学习人工智能的首选之地。这正是我所熟悉的,所以这是一个很好的入门产品,可以帮助我真正精通它。这就是我正在开发的。你简要提到的 Nanochat 是 LLM101N 的顶点项目,而 LLM101N 是我正在开发的一门课程。它是其中非常重要的一部分。但现在我必须开发很多中间环节,然后还要聘请一个由助教组成的小团队等等,来构建整个课程。
很多时候,当人们想到教育时,他们更多地考虑的是我所说的知识传播中比较软性的部分。我脑子里想的是非常硬和技术性的东西。在我看来,教育是一个构建知识坡道的非常困难的技术过程。在我看来,Nanochat 就是知识的坡道,因为它非常简单。它是一个超级简化的全栈产品。如果你把这个产品给别人,他们浏览一下,就能学到很多东西。它能给你带来很多我称之为 eurekas per second 的东西。这就是我想要的,每秒大量的灵光一现。所以对我来说,这是一个技术问题,我们如何构建这些通往知识的坡道。
我几乎认为「灵光一现」可能与一些前沿实验室或那里正在进行的一些工作并没有什么不同。我想弄清楚如何高效地构建这些坡道,这样人们就不会卡壳,所有事情都不会太难或太琐碎,你就能获得合适的学习材料来进步。
Dwarkesh Patel:与其让导师探究你的理解,不如让你拥有足够的自我认知来探索自己,这样你就永远不会卡壳。你可以在与助教或大模型交流,并参考参考实现之间找到正确的答案。听起来自动化或人工智能并不是很重要。到目前为止,这里最大的挑战是你能否解释课程原始资料中已编码的人工智能,这才是这门课程的本质。
Andrej Karpathy:你必须始终根据行业现有的能力进行调整。很多人会直接去问 ChatGPT 之类的问题。但现在,如果你去 ChatGPT 说,教我人工智能,那根本行不通。人工智能现在永远也写不出 nanochat。我正在与人工智能合作创作所有这些材料,所以人工智能从根本上来说仍然非常有用。
早些时候,我在斯坦福大学开设了 CS231n,我认为这是斯坦福大学的第一门深度学习课程,后来非常受欢迎。当时开设的 CS231n 和现在开设的 LLM101N 的区别非常明显。我觉得现在的 llm 真的给了我很大的力量,但我也非常了解情况。他们帮我构建学习资料,我的进度快了很多。他们做了很多枯燥乏味的工作等等。我觉得我的课程开发速度快了很多,而且课程也融入了 llm 的元素,但还没有达到能够创造性地创作内容的程度。我还会继续努力。难点在于始终根据现有情况调整自己。
Dwarkesh Patel:想象一下几年后 Eureka 能提供什么,最大的瓶颈似乎在于如何在一个又一个领域找到能够将他们的理解转化为实际应用的 Karpathy。进入这些坡道。
Andrej Karpathy:随着时间的推移,情况会有所改变。目前,情况是聘请教师与人工智能携手合作,并组建一个团队来构建最先进的课程。随着时间的推移,也许一些助教可以变成人工智能。你只需要拿走所有的课程材料,然后我认为当学生遇到更基础的问题或类似问题时,你可以为他们提供一个非常优秀的自动化助教。但我认为你需要教师来构建课程的整体架构,并确保其适用。所以我看到了这方面的发展趋势。也许在未来的某个时候,我甚至不再那么有用,而人工智能在大部分设计方面做得比我好得多。但我仍然认为这需要一些时间来发挥作用。
Dwarkesh Patel:你是否设想过,其他领域的专家会贡献课程?或者,鉴于你对教学方式的理解,设计内容对愿景至关重要?萨尔・汗 (Sal Khan) 负责可汗学院所有视频的旁白。你是否也这么想?
Andrej Karpathy:不,我会聘请教师,因为有些领域我并非专家。这是最终为学生提供最先进体验的唯一途径。我确实希望聘请教师,但我可能会在人工智能领域继续工作一段时间。对于目前的能力,我确实有一个比人们预期更常规的想法。
我在打造星际舰队学院时,确实会设想一个实体机构,或许会设想一个更低级别的数字课程,这种体验不像全职在校学习,我们会从头到尾讲解课程内容,确保你理解。实体课程是实体课程。数字课程是网络上的一堆内容,或许还会有一些大模型的助教。低级别的课程可能更花哨一些,但至少对 80 亿人来说是可以接受的。
Dwarkesh Patel:我认为你基本上是在从最初原则出发,利用现有的工具来创造大学,并且只选拔那些有动力和兴趣真正投入学习的人。
Andrej Karpathy:不仅需要大量的教育,还需要大量的再教育。我很乐意在这方面提供帮助,因为工作岗位可能会发生很大变化。例如,如今很多人都在努力提升人工智能技能,我认为这门课程在这方面非常值得一教。从动机角度来看,在 AGI 出现之前,动机很容易解决,因为人们想要赚钱。这就是如今在这个行业赚钱的方式。后通用人工智能时代则更加有趣,可能是因为如果一切都自动化了,人们都无事可做,那还有什么人去上学呢?
我常说,前通用人工智能时代的教育很有用,后通用人工智能时代的教育很有趣。类似于现在人们去健身房。我们不需要他们的体力来搬运重物,因为我们有机器可以做到。他们为什么去健身房?因为健身房很有趣,很健康,而且拥有六块腹肌会让你看起来很性感。从人类深层的心理和进化的角度来看,这样做很有吸引力。教育也会以同样的方式发挥作用。你去上学就像去健身房一样。
现在学习的人不多,因为学习很难。你需要从不同的材料中跳来跳去。有些人克服了这个障碍,但对大多数人来说,学习很难。这是一个需要解决的技术问题。像我学习韩语时老师教的那样,学习也同样是一个技术问题。它易于处理,易于构建,应该有人去构建它。它会让学习任何事物变得轻松有趣,人们会因为学习它而感到乐趣。如果我有一位这样的老师来指导任何知识点,学习任何东西都会变得容易得多,人们也会去学习。他们学习它的原因和去健身房的原因一样。
Dwarkesh Patel:这听起来和使用…… 后通用人工智能时代,你把它当作娱乐或自我提升。但听起来你也有一个愿景,即这种教育与人类掌控人工智能息息相关。它对某些人来说是娱乐,而对另一些人来说是赋能?
Andrej Karpathy:确实,最终这有点像一场必输的游戏。从长远来看,这比业内大多数人的预期要长得多。我认为人们可以走得这么远,而我们仅仅触及了一个人能走多远的表面。那只是因为人们在学习太容易或太难的内容时有所犹豫。人们可以走得更远。任何人都会说五种语言,任何人都会了解所有本科生的基础课程,等等。
Dwarkesh Patel:这很有意思。你正在想象,在不同的领域,类似的学习方式会更加深入、更加激烈、更加快速。
Andrej Karpathy:没错。我有点含蓄地押注于人性的永恒性。做所有这些事情都是值得追求的,我认为人们会像几千年来一样敬仰它。这种情况会持续下去。历史上有一些证据可以证明这一点。例如,如果你观察贵族,或者古希腊或类似的时期,每当你在某种意义上处于后通用人工智能时代的小型环境中时,人们都会花费大量时间以某种方式蓬勃发展,无论是身体上还是认知上。我对这种前景感到满意。
如果这是错误的,而我错了,我们最终会进入像《机器人总动员》那样的未来,那么我甚至不在乎有没有戴森球。这是一个可怕的结果。我真的关心人性。每个人都必须在某种意义上成为超人。
Dwarkesh Patel:在当今世界,我们仍然无法…… 你不可能从根本上仅凭自己的劳动或认知就能改变技术的发展轨迹或影响决策。或许你可以影响决策,因为人工智能正在征求你的同意,但这并不意味着我发明了什么,或者我提出了一个新的设计,就能真正影响未来。
Andrej Karpathy:也许吧,我认为会有一个过渡期,如果我们能够理解很多东西,我们就能掌握最新动态并推动发展。从长远来看,这种情况可能会消失。它甚至可能成为一项运动。现在有一些举重运动员在这个方向上走得非常远。在认知时代,举重是什么?也许是那些真正想把知识变成奥运的人。如果你有一位完美的 AI 导师,或许你能走得非常远。如今的天才们仅仅触及了人类思维所能达到的皮毛而已。
Dwarkesh Patel:我喜欢这个愿景。
Andrej Karpathy:比如,很多人讨厌学校。我却非常喜欢学校。我喜欢学习,等等。我想留在学校。我一直待到拿到博士学位,但他们不让我再待下去了,所以我就去了工业界。简而言之,我喜欢学习,即使只是为了学习而学习,但我也喜欢学习,因为它是一种赋能的方式,是一种有用且富有成效的方式。
Dwarkesh Patel:鉴于在线课程目前的发展,为什么它们还没有让我们每个人都能掌握所有知识呢?它们太过于激励人心,因为没有明显的入门路径,很容易陷入困境。如果你有这样的东西 —— 比如一个非常优秀的真人导师 —— 从激励的角度来看,它真的是一个很大的突破。
Andrej Karpathy:我认为是这样,反复学习新知识的感觉很糟糕。投入大量时间却没有成果,或者因为学习的内容太简单或太难而感到无聊,你会得到负面回报。如果你做得正确,学习的感觉会很好。实现这一点是一个技术问题。在一段时间内,学习将是 AI 与人类的合作,而在未来某个时候,也许就只有人工智能了。
Dwarkesh Patel:如果你要给其他领域的教育工作者一些建议,让他们制作像你之前制作的 YouTube 教程,你会给他们什么建议?
Andrej Karpathy:这是一个相当广泛的话题。我大概会半意识地运用 10-20 个技巧和窍门。但其中很多都源于我的物理背景。我曾多次强调每个人都应该在早期学校教育中学习物理,因为早期教育的目的并非积累知识或记忆,它关乎如何激发大脑。物理学对大脑的激发最为有效,因为在学习物理的过程中,一些让你在大脑中思考的事情对以后的学习非常有价值。
建立模型和抽象的概念,以及理解存在一个描述系统大部分的一阶近似,但也可能存在二阶、三阶、四阶项。你观察到的是一个非常嘈杂的系统,但其中有一些基本频率是可以抽象出来的。当一位物理学家走进教室,说「假设有一头球形的牛」时,大家都会笑,但这想法真是妙极了。这种绝妙的想法在整个行业中非常具有推广性,因为一头牛可以用很多种方式近似地看作一个球体。
例如,有一本非常好的书《Scale》,作者是一位物理学家,他讲的是生物学。你可以从中找到很多非常有趣的近似值,并绘制出动物的尺度规律。你可以观察它们的心跳之类的数据,这些数据与动物的大小等等息息相关。你可以把动物看作一个体积。你可以讨论它的散热,因为散热量随着表面积的增大而增大,表面积是正方形的,而热量的产生是立方体的。所以我觉得物理学家拥有所有合适的认知工具来应对现实世界中的问题。
因此,由于这种训练,我总是试图找到所有事物的一阶项或二阶项。当我观察一个系统或事物时,我的脑海里会浮现出各种想法或知识的纠结。我试图找到,什么是最重要的?什么是一阶分量?我该如何简化它?我该如何用最简单的东西来展示这个事物,展示它的实际运作,然后再添加其他项?
也许我的一个代码库中有可以很好说明这一点的例子叫做 micrograd。这是 100 行代码,用于演示反向传播。你可以用一些简单的操作(例如加法和乘法)来创建神经网络。就像乐高积木一样,搭建一个计算图,然后进行前向传播和后向传播来获得梯度。现在,这是所有神经网络学习的核心。
micrograd 是 100 行易于理解的 Python 代码,它可以执行任意神经网络的前向和后向训练,但效率不高。
但这 100 行 Python 代码,包含了你理解神经网络训练方式所需的一切。其他一切都是为了提高效率。为了提高效率,需要做大量的工作。你需要张量,你需要布局它们,你需要对它们进行步长调整,你需要确保你的核函数、正确地协调内存移动等等。粗略地说,这些都是为了提高效率。但神经网络训练的核心知识部分是 micrograd。它只有 100 行代码,你很容易理解。它是链式法则的递归应用,用于推导梯度,从而允许你优化任意可微函数。
所以我喜欢寻找这些小阶项,并将它们放在盘子上,然后发现它们。我觉得教育是最有智力趣味的事情,因为你理解上的纠结,你试图以一种方式将其理顺,从而创建一个斜坡,让一切都只依赖于它之前的事物。我发现,作为一种认知任务,这种知识的解开本身就极具智力趣味。我个人很喜欢这样做,但我对尝试以某种方式理顺事物本身就很着迷。
Dwarkesh Patel:这也让学习体验更有动力。你关于 Transformer 的教程是从二元语法开始的,实际上是一个查找表,例如「这是现在的单词,或者这是前一个单词,这是下一个单词」。它实际上就是一个查找表。
Andrej Karpathy:是的,这就是它的精髓。
Dwarkesh Patel:这是一个非常巧妙的方法,从查找表开始,然后转到 Transformer。每一部分都有其动机。你为什么要添加这个?你为什么要添加下一个?你可以记住注意力公式,但要理解为什么每一部分都相关,以及它解决了什么问题。
Andrej Karpathy:你在提出解决方案之前先提出痛点,这有多聪明?你想利用它引导学生逐步完成学习。还有很多其他的小细节让学习过程变得精彩、引人入胜、妙趣横生,不断激励学生。
像这样的小细节也很重要,很多优秀的教育工作者都会这样做。你会怎么解决这个问题?我不会在你猜之前就给出解决方案。那样太浪费时间了。这有点…… 我不想骂人,但在你尝试自己想出解决方案之前就直接告诉你解决方案,这太蠢了。
Dwarkesh Patel:因为如果你尝试自己想出解决方案,你就能更好地理解行动空间是什么,目标是什么,以及为什么只有这个行动才能实现这个目标。
Andrej Karpathy:你有机会自己尝试,当我告诉你解决方案时,你会很感激。这最大化了每个新添加事实的知识量。
Dwarkesh Patel:为什么那些真正精通各自领域的人,往往不善于向刚入门的人解释清楚?
Andrej Karpathy:这是知识和专业技能的诅咒,是一个真实存在的现象,我自己也深受其害。你总是把某些事情视为理所当然,无法设身处地为刚刚起步的新人着想。
举个例子,最近有人想给我看一篇生物学论文,我一下子就问出了很多棘手的问题。我的做法是,用 ChatGPT 在上下文窗口中结合论文内容提问。它解决了一些简单的问题。然后,我把这个话题分享给了撰写这篇论文或参与这项工作的人。我觉得如果他们能看到我提出的那些愚蠢的问题,或许能帮助他们将来更好地解释。
我希望大家能用 ChatGPT 分享他们关于我创作内容的愚蠢对话,这真的能帮助我重新站在一个刚起步的人的角度思考问题。
Dwarkesh Patel:如果有人写了一篇论文、一篇博文或一个公告,那么百分之百的情况下,仅仅是他们在午餐时向你解释的叙述或记录,不仅更容易理解,而且实际上也更准确、更科学。因为人们倾向于用最抽象、最专业的方式解释事情,并且会在解释中心思想之前清清嗓子。但与人一对一交流有一种感觉,它会迫使你直言不讳。
Andrej Karpathy:直言不讳。我看到了那条推文,它真的很棒。我和很多人分享过。我注意到这一点很多次了。
最突出的例子是,我记得我读博士期间做研究的时候。你读别人的论文,努力理解它在做什么。然后你在会议上喝啤酒的时候碰到他们,你问他们:「这篇论文,你在做什么?这篇论文是关于什么的?」
他们会用三句话完美地概括论文的精髓,让你完全明白它的意思。你不需要读论文。只有当你坐在桌边喝啤酒或做其他事情的时候,他们才会说:「哦,是的,这篇论文就是,你拿着这个想法,拿着这个想法,去做这个实验,去做这个东西。」他们有一种用对话的方式完美地表达它的方式。为什么这不是摘要?
Dwarkesh Patel:没错,这是从如何更好地阐述一个想法的角度出发的。作为一名学生,如果你没有 Karpathy 来阐述你的想法,你会对其他学生有什么建议?如果你正在阅读别人的论文或书籍,你会采用什么策略来学习你感兴趣,但并不精通的领域的内容?
Andrej Karpathy:讲道理,我不知道自己有什么独特的技巧和窍门。这是一个痛苦的过程。有一件事一直对我帮助很大 —— 我发过一条关于这个的小推文 —— 按需学习非常好。我觉得你需要在深度学习和广度学习之间进行一些交替,深度学习是按需学习 —— 你正在努力完成一个项目,并从中获得回报 —— 广度学习就是说,「哦,我们先做点基础的,这里是所有你可能需要的东西。」很多学校都进行广度学习,比如说,「哦,相信我,你以后会用到这个」之类的。我相信你,我会学。但我喜欢那种能从做事中获得回报的学习方式,而且是按需学习。
另一件事我发现非常有帮助。在这方面,教育更加无私,但向人们解释事物是一种更深入学习的美妙方式。这种情况经常发生在我身上,其他人可能也会这样。我意识到,如果我不真正理解某件事,我就无法解释它。我努力尝试,结果却总是说:「哦,我不明白。」接受这一点真是让人恼火。你可以回过头去确认自己理解了,这能填补你理解上的空白,让你去接受它们。
我喜欢重新解释事物,人们也应该多这样做。这迫使你运用已有的知识,并确保你在解释时知道自己在说什么。
Dwarkesh Patel:这是一个很好的结束语。Andrej,说得太好了。
Andrej Karpathy:谢谢。

ARR 突破 1 亿美元,HeyGen 创始人公开了他们的内部增长手册,全是干货
硅谷一线创业者内部研讨:为什么只有 5%的 AI Agent 落地成功,他们做对了什么?
转载原创文章请添加微信:founderparker
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢