
AGI仍需十年:Andrej Karpathy播客回应与深度解析
Andrej Karpathy 核心思想
核心观点:实现真正可靠、能胜任知识型工作的通用人工智能代理(Agent),是一个需要大约十年(2025-2035 年)才能成熟的工程挑战,而非短期内可以实现的飞跃。
第一部分:核心论断 —— 为什么是“代理的十年”?
- 定义“成熟的代理”:“代理”不是一个好玩的玩具或演示,而是一个可以被“雇佣”来完成实际工作的“员工”或“实习生”。它必须足够可靠、智能,并且具备多模态能力来操作真实世界的数字工具。
- 对标现实世界的高标准:目前没有任何模型能达到这个标准。这不仅是算法问题,还涉及大量的集成工作、物理世界接口、社会调整、以及解决越狱和数据中毒等安全措施的挑战。
- 结论:“代理的十年”被定义为2025年到2035年。这是一个持续迭代、共同演进的过程。这个时间线比行业内的普遍乐观预测保守5到10倍,但相对于日益增长的怀疑论,仍持积极态度。
第二部分:支撑论断的技术瓶颈 —— “为什么需要十年?”
1. 根本性的认知缺陷 (Cognitive Deficiencies):
- “学者型儿童” (Savant Children):模型拥有海量知识的模糊记忆,但在推理、规划和常识方面表现得像个孩子。它们能生成看似华丽的“粗略内容”,但并不真正理解自己在做什么。
- 缺乏持续学习 (Continuous Learning):模型是“一次性”的,每次交互都从零开始。它们没有一个类似人类“睡眠”的机制,无法将“工作记忆”(上下文窗口)中的经验和知识“蒸馏”并固化到“长期记忆”(模型权重)中。
- 新概念·认知核心 (Cognitive Core):“认知核心”的构想是一个轻量级(数十亿参数)、专注推理和能力而非海量知识的模型。这个核心可以作为个人设备的常驻基础,通过刻意抑制记忆来促进泛化,实现超低延迟和数据隐私,必要时再调用云端大模型。
2. 强化学习 (RL) 的巨大局限性与未来构想:
- 批判:“通过吸管获取监督信号” (Sipping Supervision Through a Straw):RL 依赖于单一的最终奖励,这在处理长序列任务时效率极低且充满噪声。
- 构想:超越 RL 的新范式:人类学习认知任务并非通过RL。相反,人类进行一种“反思与审查”:在任务结束后,分析成功和失败的原因,并从中提炼出明确的经验教训来更新“系统提示”(即策略)。未来的AI代理也应发展出类似的能力,例如通过一个元提示(meta-prompt)来分析多次尝试(rollouts)并自动优化其核心指令。
3. “AI 自动化 AI” 的核心瓶颈与正确路径:
现状:不擅长创造性编码,LLM在面对全新的、智力密集型的代码库时表现极差,最终“净效益为负”。
未来路径:人机协作工具,而非全自动代理,业界不应过早追求完全自主的代理。正确的方向是开发与人类深度协作的工具。这种工具应该将任务分解为可消化的小块,提供解释、引用文档,并允许用户在循环中进行监督和学习,进行一种“深思熟虑的、防御性的协作”。
第三部分:核心心智模型与类比
- 自动驾驶:“九的追求” (The Pursuit of Nines),从一个能用的演示(Demo, 90%)到一个可靠的产品(Product, 99.999%),每提升一个“9”的可靠性,都需要付出与之前同样甚至更多的努力。
- 生物进化:“蹩脚的进化” vs “构建动物”,我们不是在“构建动物”,因为我们无法复现进化。相反,通过模仿互联网数据,我们构建了纯数字化的“幽灵 (Ghosts)”。这些“幽灵”未来可能不会变得更像动物,而是会演变成一种全新的、独特的、有价值的智能形态,正如飞机之于鸟类。
- 人类大脑:“权重” vs “上下文窗口”:模型权重是“长期记忆”(模糊),上下文窗口是“工作记忆”(精确但短暂)。
第四部分:对未来的展望与个人使命
1. 未来的技术形态:
- 架构:不会有颠覆性的革命,仍将是梯度下降训练的巨型神经网络,但会加入稀疏注意力、尤其是“认知核心”等关键演进。
- 多代理系统:目前缺失两大核心要素:文化 (Culture)(共享知识库)和自玩 (Self-Play)(通过竞争/协作实现自我进化)。
2. 个人使命:教育 (Project Eureka)
- 动机:最大的担忧是人类在AI时代被边缘化,导致《机器人总动员》(WALL-E) 式的未来。
- 解决方案:通过教育来 “赋能人类” (Empower Humans),创建一个“星际舰队学院”式的精英教育机构,构建高效的知识学习路径,让学习变得像去健身房一样,成为一种人类追求自我实现的有意义活动。
- 务实的起点:理想中的“AI 导师”目前还无法实现。起点是从构建高质量的课程材料和学习路径开始,与AI协作,但由人类专家主导。
Andrej Karpathy对播客内容的回应
我最近重听了那期播客,意识到我语速过快有时会导致解释不清晰或出现不必要的离题。为解决这个问题,我整理了关于讨论的关键主题的笔记和澄清,并参考了更早的推文和帖子来拓展背景信息。
AGI 时间线
我对AGI(通用人工智能)时间线的评论引起了相当大的关注。“代理的十年”(the "decade of agents")这一概念源于我更早的一条推文,该推文强调了OpenAI的Operator这类项目,它们如同物理世界中的人形机器人一般,充当数字代理。这些系统通过人类设计的接口运行,形成一种人机混合自主(mixed-autonomy)的环境,由人类监督自动化过程。由于数字空间的操作成本远低于物理操作,预计这一转变将在数字领域进展得更快,尽管物理世界拥有更大的市场机遇。
OpenAI早期的“Universe”和“World of Bits”项目探索过类似理念,但在缺乏大型语言模型(LLM)基础的当时,它们过于超前。多模态能力——整合图像、视频和音频——直到最近才被纳入LLM,且通常是通过临时适配器(makeshift adapters)实现的。管理扩展的任务范围可能需要超越当前上下文窗口依赖的重大突破。
尽管有些人预测2025年是代理(agents)的关键一年,但我认为2025年至2035年才是真正的“代理的十年”。虽然需要在各个领域开展大量工作,但其基础潜力显而易见。目前,代理可以执行点餐或预订住宿等基本任务,但表现并不稳定。未来,它们可以协调复杂的运作,例如管理整个公司,而用户则充当高层主管。
我对AI发展时间线的预估,比科技圈普遍的乐观预期保守约5到10倍,但相较于日益增长的怀疑论,我的看法仍是积极的。这种观点平衡了LLM中看到的快速进展与仍存在的重大挑战,包括集成工作、物理世界接口、社会适应、安全措施(如解决越狱和数据投毒)以及持续的研究。考虑到当前的炒作背景,要在10年内实现一个在任何工作上都优于人类的实体,将是一个极具雄心的目标。
动物与幽灵的对比
我早前的分析是对Richard Sutton播客节目的回应。Sutton极具影响力的“痛苦的教训”(The Bitter Lesson)核心在于计算规模驱动进步,但他批评LLM依赖有限的、由人类生成的数据,这带来了偏差并限制了可扩展性。相反,他提倡系统应通过与世界的动态交互来学习,类似于Alan Turing的“儿童机器”(child machine)概念,依靠强化学习(RL)和内在激励(如好奇心或乐趣),而无需大量的预训练或监督微调。
Sutton的经典方法论与LLM范式形成了鲜明对比,后者由基于人类数据的预训练和随后的微调主导。在自然界中,动物不会接受直接的监督;它们的学习建立在进化的先验知识之上。Sutton认为,即使将预训练用作初始化,也会像AlphaZero通过从零开始学习超越AlphaGo一样,用人类偏差污染了系统。
考虑到该领域范式转变的历史,我认同AI中不同思维方式的价值,以避免陷入局部最优。LLM是复杂的产物,在每个阶段都注入了人类元素——从基于互联网文本的预训练到精选的微调和精心设计的强化环境。一个纯粹由计算驱动、仅通过经验学习的算法仍然难以捉摸,如果实现将是一个里程碑式的突破。
支持这种算法的常见例子包括AlphaZero在围棋上的成功(尽管这是一个受限环境)和动物智能。然而,动物远非一张白纸;它们通过进化继承了复杂的能力,一个新生斑马在出生后不久就能奔跑就是证明。这种成熟和微调是建立在一个强大的遗传初始化之上的,而非从头开始。
在工程学上,复制进化是不切实际的。LLM通过对海量互联网数据进行下一Token预测,提供了一种预封装智能的替代方案。这产生的实体与动物不同——它们更像是数字“幽灵”(ghosts)或人类知识的回声。这些幽灵通过计算过程被召唤,缺乏物理实体,但它们蕴含着神秘感和实用价值。
借鉴动物的经验仍然是值得的,可以融入内在激励或多代理交互等元素。LLM体现了“痛苦的教训”的实用近似,即使并非纯粹的理念派(platonic)。随着时间的推移,微调可以引导这些幽灵具有类似动物的特性,或者它们可能演变成独一无二的有价值形式,类似于飞机相对于鸟类。这个播客强调了需要超越强化LLM优化的新范式。
为进一步说明“幽灵”的比喻:LLM是纯粹数字化的,通过统计方法从人类数据中提炼出来,并通过基于GPU的复杂仪式被唤出。这让人联想到哲学中的“机器中的幽灵”(the "ghost in the machine")概念。虽然并非完美——幽灵暗示着怪异——但这个比喻有助于跨领域洞察。
我曾尝试将播客文稿、Sutton的帖子和我的分析输入ChatGPT,以启用交互式查询,进行更深入的探索。
从根本上说,我对一个单一算法能从头开始掌握一切持怀疑态度。动物是进化的预封装(evolved pre-packaging)和有限的额外学习的典范。LLM则通过互联网预测提供了一种新颖的方法,产生了幽灵般的智能。当前的前沿研究正寻求注入更多类似动物的特质。
关于强化学习
我曾在多个场合批评过强化学习(RL)。目前,扩展RL是主要焦点,它有望通过根据结果调整行动概率来带来中期收益,提供比直接监督更高的杠杆效应。然而,对于跨越数分钟或数小时的任务,仅依赖末端的单个标量奖励似乎在渐近上效率低下。
人类的学习,尤其是对于智力任务,涉及一个反思阶段:分析成功和失败,并得出明确的教训,类似于更新系统提示。这个过程的数据效率更高,它传输的是比单纯奖励值更高维度的反馈。ChatGPT的“记忆”等功能代表了实现这一目标的早期步骤,尽管目前仅限于个性化而非解决问题。
一种潜在的算法可能涉及生成多次试运行,将它们连同结果一起编译进上下文窗口,并使用元提示(meta-prompt)来提取教训,用于未来的系统提示。LLM面临诸如因Token切分而无法计算字母数量的挑战;当前的解决方案是通过手动添加提示来修补,但理想情况下,这些策略应该从代理的实践中自然浮现。
RL在杠杆效应和与计算扩展的对齐方面优于监督微调,但随着试运行长度的增加,它可能不足。新的范式可能会出现,它们是为LLM量身定制的,在传统领域(如游戏或机器人技术)中没有类似的先例。
RL提取监督信息的效率低下,类似于“用吸管吸”("sucking through a straw"),信噪比差。它引入了噪声,可能会增强成功完成任务中的错误,或抑制失败尝试中的见解。需要替代过程监督和LLM裁判的方法。
我支持代理交互,但对RL本身保持谨慎。在预训练时代,互联网文本是关键;微调强调了对话。现在,RL优先考虑允许交互实践的环境,从而实现超越模仿的性能。
像PrimeIntellect的“环境中心”(environments hub)这样的项目使OpenAI的Gym概念现代化,针对LLM设计了多样化、高质量的设置。社区贡献可以加速这一进程。
从长远来看,环境和交互是有前景的,但RL的奖励函数并不可靠。人类采用更有效率的机制来处理认知任务,这些机制仍有待发明和扩展。最近的论文探索了“系统提示学习”("system prompt learning")等理念,将更新从权重转移到上下文Token,并可选地在之后进行蒸馏。
Claude广泛的系统提示就是手动编码策略的例证,而这些策略本应通过自动化学习产生。挑战包括编辑协议以及平衡明确文本与习惯性权重。
概念性论文与前沿实验室中稳健、大规模的实现之间仍然存在分歧。尽管如此,乐观是必要的;像ChatGPT的“记忆”这样已部署的功能标志着新兴范式的诞生。
认知核心(Cognitive Core)
我早前的一篇帖子介绍了“认知核心”("cognitive core"):一个紧凑的模型,可能只有数十亿参数,它优先考虑推理和能力,而不是庞大的知识存储。这个核心将作为个人LLM计算的常驻基础,并具备新兴功能,例如文本、视觉和音频的原生多模态输入和输出。
它将整合可调节性能的可扩展架构、可调的推理深度、激进的工具集成、用于个性化的设备端微调(on-device fine-tuning),以及在连接时有选择地委托给云资源的能力。虽然它不存储琐碎的记忆(如历史日期或加密哈希值),但可以在需要时检索或计算它们。
个人LLM计算通过超低延迟、私有数据访问、离线功能和用户主权等优势,弥补了知识广度和峰值能力的局限性,这与个人电脑相对于远程终端的吸引力如出一辙。
仍有大量开发工作需要完成。
这个概念涉及修剪LLM以促进泛化,刻意阻碍记忆,以防止过度依赖死记硬背。人类的记忆限制现在看起来是有益的,它作为一种正则化形式发挥作用。
模型规模的趋势是反直觉的:竞争会随着时间推动规模下降。即使是像GPT-2这样的小模型,在精细的设置下也能展现“智能”行为,但当前的大模型浪费资源去记忆互联网琐事。预训练目标(类似于背诵网页段落)将知识和推理纠缠在了一起。
为了优化,模型必须首先扩展以协助将数据重构(refactoring)为合成的、理想格式,然后蒸馏成紧凑版本。这种迭代的阶梯——一个模型为下一个模型生成数据——产生了一个“完美训练集”,从而赋予小模型以强大能力。在Tesla的自动驾驶数据管线中也存在类似的模式。
像Gemma-2从大模型蒸馏到小模型的例子证明了这一点,尽管MMLU等基准测试更侧重知识而非广泛能力。
穿越时空回到Yann LeCun的1989年
我在播客中描述得不够充分的一个帖子,复现了Yann LeCun在1989年用于手写数字识别的神经网络,并应用了33年来的算法进步来评估改进效果。
该分析剖析了算法、数据和计算所施加的约束。诸如更大的批量大小、批量归一化和Dropout等现代增强功能带来了适度的收益,略微降低了错误率。
值得注意的是,核心方法得以保留,结果仍处于相似范围内,凸显了神经网络经久不衰的基础。
Nanochat
Nanochat以最精简、依赖最少的代码库,提供了从零开始实现类似ChatGPT的训练和推理管线。它包含大约8,000行简洁的代码,用户可以启动云GPU实例,执行一个脚本,并在数小时内通过Web界面与自定义LLM进行交互。
该管线涵盖了Rust编写的Token切分器、使用CORE指标评估的FineWeb数据集上的预训练、在对话和特定任务数据上的中期训练、监督微调、可选的通过GRPO实现的强化学习、带有KV缓存和工具支持(例如沙盒化的Python解释器)的高效推理,以及用于命令行界面(CLI)或Web聊天的接口。最终会生成一份Markdown格式的报告卡,总结性能。
在8xH100设置上,运行四个小时的成本约为100美元,可得到一个能够进行简单交互的基础聊天机器人。延长的运行时间——例如12小时匹配GPT-2的浮点运算次数(flops),或24小时近似GPT-3小型版的运算次数——可以达到具有竞争力的基准表现,如MMLU上的40%或ARC-Easy上的70%。
Nanochat被设计为一个强大、可修改的基线,服务于教育目的,例如作为LLM课程的毕业设计,并具有作为研究或基准测试工具的潜力。其架构借鉴了Llama并进行了简化,包括旋转嵌入(rotary embeddings)和ReLU平方激活函数(relu-squared activations)。优化使用了Muon结合AdamW。
关于LLM代理
业界常因过于强调完全自主的代理(autonomous agents)而超越了当前LLM的能力。我提倡开发与LLM优势(海量知识)和劣势(判断不一致或幻觉倾向)相符的协作工具。
相比于代理在长时间独立操作后生成未经证实的大块代码,我更倾向于渐进式工作流:将处理过程切分为可消化的片段,附带解释、API文档参考、正确性证明、歧义澄清,并提供用户学习的机会。这种方法能减轻低质量代码累积、漏洞或安全问题的风险。
我典型的工作流程涉及加载全面的上下文、概述高层方法(附带优缺点)、选择一个进行草稿、回顾不熟悉的API、根据需要迭代、测试、提交更改,并征求下一步的建议。重点仍然是审慎的、防御性的协作,将LLM视为一个积极但可能犯错的助手。现有工具在明确支持这种协作方面存在不足,表明AI辅助编码的UI/UX仍有很大的进步空间。
工作自动化
关于AI取代放射科医生的预测已被证明言过其实;该领域仍在稳健扩张。早期的预测,例如Geoffrey Hinton近十年前的预期,由于图像识别的进步而预见到迅速被淘汰,但现实发展有所不同。
详细的分析揭示了原因:基准测试未能捕捉真实世界的复杂性,放射医学远不止图像分析,部署障碍包括法规、责任和机构采纳,而效率提升往往会通过杰文斯悖论(Jevons paradox)刺激需求增加。
对于更近期的自动化目标,应针对涉及重复性、独立性、短时任务、低错误成本和数字化可行性的工作。即便在这些领域,AI通常是作为工具集成,将角色重塑为监督而非淘汰。
考虑到放射医学的多方面、高风险性质,它是一个不理想的例子。更广泛的行业模式表明了不断演变的协作关系,人机混合系统表现优于独立系统,这得到了研究的支持。历史上的相似案例,如自动取款机(ATM)促使银行柜员角色演进而数量增加,也印证了这一点。
物理学(Physics)
在早期教育中引入物理学能够培养批判性思维技能,无论学生未来是否从事物理职业。物理学家表现出非凡的适应性,像能够分化成各种领域的智力干细胞一样运作。
关于这个想法的更深入探讨,我的草稿已经搁置了一年左右,计划近期完成。
Andrej Karpathy AGI仍需十年
一、代理发展的时间线
Dwarkesh Patel
Andrej,你为什么说这将是代理的十年,而不是代理的一年?
Andrej Karpathy
首先,感谢邀请我来这里,我很高兴能参加。
你刚才提到的“这将是代理的十年”(It's the decade of agents)这句话,实际上是对现有观点的一种回应。我不确定是谁先提出的,但他们认为在LLM及其发展方面,这将是代理的一年。我之所以对这种说法作出反应,是因为行业中存在一些过度乐观的预测。在我看来,将这个时间跨度描述为“代理的十年”会更为准确。
我们现在已经有一些非常早期的代理,它们极其令人印象深刻,我每天都在使用,比如Claude和Codex等,但我认为仍有大量工作要做。我的看法是,我们将投入十年时间来与这些系统共同发展,它们会变得越来越好,这将是件了不起的事情。我只是在回应其中隐含的时间线。
二、AGI实现的瓶颈
Dwarkesh Patel
你认为什么需要十年才能完成?瓶颈在哪里?
Andrej Karpathy
实际上是让它真正成熟并投入实际应用。当你谈论代理时——无论是在实验室研究者的设想中,还是在我自己的想象中——你应该把它看作是你会雇佣的员工或实习生。例如,你这里有一些员工。你会选择在什么时候让像Claude或Codex这样的代理来完成这项工作?
当然,目前它们还无法胜任。你今天不使用它们的原因是它们根本达不到要求。它们的智能不足,多模态能力不够,无法操作计算机,以及所有类似的问题。
它们没有做到你早先提到的许多功能。它们缺乏持续学习的能力。你不能只是告诉它们某件事,它们就会记住。它们在认知上存在缺陷,无法有效发挥作用。解决所有这些问题,大约需要十年的时间。
Dwarkesh Patel
有意思。作为一个专业的播客主持人和一个从远处观察AI的人,我很容易识别出缺少的能力:缺少持续学习能力,或者缺少多模态能力。但我难以确定一个合理的时间表。如果有人问持续学习需要多长时间,我缺乏先验知识来判断这是一个需要5年、10年还是50年的项目。为什么是十年?为什么不是一年?为什么不是50年?
Andrej Karpathy
这涉及到我个人的一些直觉,以及基于我在该领域的经验进行的一些外推。我从事AI差不多有20年了——不,大约15年左右,没那么久。你的嘉宾Richard Sutton从事的时间更长。我有大约15年的经验,包括观察人们做出预测,并看到这些预测的最终结果。我在研究和工业界都待过一段时间。我从中形成了一种整体的直觉。
我认为这些问题是可以解决的,也是可以克服的,但它们仍然很困难。如果我只是取个平均值,对我来说感觉就是十年。
三、AI领域的历史转变
Dwarkesh Patel
这相当有趣。我想听听的不仅仅是历史,还有当时在场的业内人士在各种不同突破时刻,对即将发生的事情的感受。他们的感受往往要么过于悲观,要么过于乐观。我们应该一个一个地讨论它们吗?
Andrej Karpathy
这是一个巨大的问题,因为你正在谈论跨越15年的发展。AI之所以如此美妙,是因为它经历过多次里程碑式的变革,整个领域突然间就焕然一新。我本人可能经历过两三次这样的转变。我仍然相信未来会继续出现更多变革,因为它们几乎以惊人的规律性出现。
当我的职业生涯开始,我开始从事深度学习时,是因为偶然在多伦多大学在Geoff Hinton身边工作。Geoff Hinton,当然是AI的教父。他当时在训练所有这些神经网络。我觉得这令人难以置信和有趣。这远不是当时AI领域每个人都在做的主要事情。这是一个小众的、非主流的方向。随着AlexNet等的出现,那也许是第一次巨大的变革。
AlexNet改变了所有人的关注点,每个人开始训练神经网络,但它仍然是非常针对特定任务的。也许我有一个图像分类器,或者我有一个神经机器翻译器或类似的东西。人们慢慢开始对代理感兴趣。人们开始思考:“好吧,也许我们在构建视觉皮层或其他类似功能方面取得了进展,但大脑的其他部分呢?我们如何获得一个完整的代理或一个完整的实体,使其能够在世界中互动?”
大约在2013年左右发生的Atari深度强化学习转变,在我看来是早期代理探索的一部分,因为它试图获得一种不仅能感知世界,还能采取行动、互动并从环境中获得奖励的代理。当时,这些就是Atari游戏。
我觉得那是一个岔路。那是一个岔路,甚至我参与的早期OpenAI也采纳了,因为当时的主流思潮是强化学习环境、游戏、玩游戏、击败游戏、获得很多不同类型的游戏,OpenAI做了很多那样的事情。那是AI中另一个显著的发展方向,也许两三四年里,每个人都在游戏上做强化学习。那有点走错了方向。
我在OpenAI试图做的是,我总是对将游戏视为通往AGI的途径有点怀疑。因为在我看来,我们想要的是像会计师或类似角色那样,能与真实世界互动的东西。我只是不明白游戏经验如何能积累达到这种能力。例如,我在OpenAI的项目是在Universe项目的框架内,一个使用键盘和鼠标操作网页的代理。我真正想要的是一个能与实际数字世界互动,并能够进行知识型工作的系统。
事实证明,这为时过早,早到我们不应该在那上面投入工作。因为如果你只是摸索着前进,胡乱敲击键盘和点击鼠标,并在这些环境中试图获得奖励,你的奖励信号过于稀疏,你就是学不到东西。你会消耗海量的算力,但永远无法让系统启动。你缺少的是神经网络中的表征能力。
例如,今天人们训练的那些使用计算机的代理,都是在大型语言模型(LLM)之上构建的。你必须先获得语言模型,必须先获得表征,你必须通过所有的预训练和LLM技术来实现这一点。
粗略地说,人们几次试图过早地得到完整的东西,我认为人们真的太早去追求代理了。那就是Atari和Universe,甚至包括我自己的经验。你实际上必须先做一些基础工作才能达到那些代理的目标。现在代理变得更胜任了,但也许我们仍然缺少技术栈中的一些部分。
四、与动物智能的类比
Dwarkesh Patel
如果我来佐证Sutton的观点,那就是人类可以同时处理一切,甚至动物也可以同时处理一切。动物也许是更好的例子,因为它们甚至没有语言的支撑。它们只是被置于世界之中,必须在没有标签的情况下理解一切。
那么AGI的愿景应该就是:它只需看着感官数据,看着电脑屏幕,从零开始弄清楚发生了什么。如果一个人类被置于类似情况并必须从零训练... 这就像人类的成长或动物的成长。为什么这不应该是AI的愿景,而不是我们正在做的耗费数百万年训练出的东西?
Andrej Karpathy
这是一个非常好的问题。Sutton来你的播客的那一期我看了,我写了一篇总结来阐述我对这些事情的看法。我非常小心地对动物做类比,因为它们是通过非常不同的优化过程产生的。动物是进化的产物,它们带有大量内置的硬件。
例如,我在帖子中举的例子是斑马。一只斑马出生后,几分钟内它就能跑来跑去跟着它的母亲。那是极其复杂的事情。那不是强化学习,那是内置的能力。进化显然以某种方式将我们神经网络的权重编码在ATCG中,我不知道它是如何工作的,但它显然有效。
大脑只是来自非常不同的过程,我非常犹豫从它那里获取灵感,因为我们实际上并没有运行那个过程。在我的帖子中,我说我们不是在构建动物。我们正在构建幽灵、精神,随便人们怎么称呼它,因为我们不是通过进化来训练的。我们是通过模仿人类以及他们在互联网上发布的数据来训练的。
你最终得到这些虚拟的智能实体,因为它们完全是数字化的,它们在模仿人类。这是一种不同的智能。如果你想象一个智能空间,我们几乎是从不同的起点开始的。我们不是真的在构建动物。但随着时间的推移,也可以让它们变得更像动物一点,我认为我们应该这样做。
还有一点。我觉得Sutton有一个非常... 他的理论框架是:“我们想要构建动物。”我认为如果我们能让它实现,那将是美妙的,那将是惊人的。如果有一个单一的算法,你可以在互联网上运行它,它就能学会一切,那将是难以置信的。我不确定它是否存在,但那肯定不是动物的学习方式,因为动物有这个进化的外循环。
动物许多看起来像学习的行为,更像是大脑的成熟。我认为动物的强化学习非常少。许多强化学习更像是运动任务;而不是智能任务。所以我实际上有点认为,大致来说,人类并不真正使用强化学习(RL)。
Dwarkesh Patel
你能重复最后一句吗?很多那种智能行为不是运动任务... 它是关于什么的,对不起?
Andrej Karpathy
在我的视角中,很多强化学习会是更偏向运动型的任务,简单的任务,比如投篮。但我不认为人类使用强化学习来处理许多智能任务,例如问题解决等。这并不意味着我们不应该为研究而做,但我只是觉得那是动物做或不做的。
Dwarkesh Patel
我需要花点时间来消化一下,因为有很多不同的想法。为了理解这个视角,我可以问一个澄清性的问题。你是说进化在某种意义上做了预训练正在做的事情,构建了一个能够理解世界的实体?
区别在于,在人类的情况下,进化必须通过三千兆字节的DNA逐步编码。那非常不像模型的权重。模型的权重字面上就是一个大脑,它显然不存在于精子和卵子中。因此它必须生长。而且,大脑中每个突触的信息根本不可能存在于DNA中的三千兆字节中。
进化似乎更接近于发现可以进行终身学习的算法。现在,正如你所说的,也许终身学习不像RL。这与你说的东西兼容吗,或者你会不同意那个?
Andrej Karpathy
我认为是的。我会同意你说的,存在某种神奇的压缩过程,因为显然,神经网络的权重没有存储在ATCG中。存在某种巨大的压缩。有一些被编码的学习算法接管,并在线进行学习。我绝对同意你的观点。我会说我更务实导向。我不是从“让我们构建动物”的角度出发,而是从“让我们构建有用的东西”的角度出发。我是从工程角度来看待问题,我只是观察到我们无法进行进化,因为我不知道该怎么做。
但事实证明,我们可以通过模仿互联网文档来构建这些虚拟的精神实体。这有效。这是一种让我们获得具有大量内置知识和某种智能的系统的方式,类似于进化所做的事情。这就是为什么我称预训练是“蹩脚的进化”。这是基于我们现有技术和资源所能实现的,一个可行的实际版本,是一个我们可以从那里开始进行强化学习等的起点。
五、预训练与进化的比较
Dwarkesh Patel
只是为了进一步阐述另一个视角,在我做了对Sutton的访谈并思考了一段时间后,他有一个重要的观点。进化实际上并没有给我们知识,它给我们的是找到知识的算法,这似乎不同于预训练。
或许这个视角是:预训练帮助构建一个能够更好地学习的实体。它教会元学习,因此它类似于找到一个算法。但如果是“进化给我们知识,预训练给我们知识”,那么这个类比似乎就站不住脚了。
Andrej Karpathy
这很微妙,我认为你的反驳是正确的。但预训练基本上所做的事情是:你正在训练一个互联网上的下一个token预测器,并把它训练到一个神经网络中。它在做两件看似不相关的事情。第一,它在获取我称之为的知识。第二,它实际上正在变得智能。
通过观察互联网上的算法模式,它激活了神经网络内部所有这些微小电路和算法,来完成上下文学习和所有类似的事情。你不需要或不想要知识。我认为这可能从整体上阻碍神经网络的发展,因为它让它们有时过于依赖知识。
例如,我认为代理有一件不是很擅长的事情,那就是脱离互联网上存在的数据流形。如果它们拥有更少的知识或更少的记忆,也许它们会更好。我认为我们接下来必须做的是找出方法移除一些知识,并保留我所说的这个认知核心。它是这个智能实体,它被剥离了知识,但保留了算法、智能、解决问题的精髓以及它的策略和所有这些东西。
六、上下文学习的机制
Dwarkesh Patel
那里有很多有趣的东西。让我们从上下文学习开始。这是一个显而易见的点,但我觉得值得明确提出并深入探讨。这些模型显得最智能的情况是,在我与它们对话时,我感觉“哇,真的有智能在回应我的思维”——如果它犯错,它会说:“哦等等,这不是正确的思考方式。我在后退。”所有这些都发生在上下文之中。那是我觉得真正智能的地方,你可以清晰地观察到。
那个上下文学习过程是通过预训练时的梯度下降发展出来的。它自发地元学习了上下文学习的能力,但上下文学习本身并不是梯度下降,这就像我们人类的终身智能能力由进化所塑造,但我们一生中的学习是通过一些其他过程发生的。
Andrej Karpathy
我不完全同意那个,但你应该继续你的想法。
Dwarkesh Patel
好吧,我非常好奇理解那个类比是如何站不住脚的。
Andrej Karpathy
我不太确定说上下文学习不是在做梯度下降。它不是在做显式梯度下降。上下文学习是token窗口内的模式完成。事实证明互联网上有大量模式。你是对的,模型学习完成模式,这种能力内嵌在权重中。神经网络的权重试图发现模式并完成模式。神经网络内部发生了一些适应性变化,这种魔力就是因为互联网上有太多模式而自然产生的。
我想说有一些我认为很有趣的论文研究上下文学习背后的机制。我确实认为,上下文学习可能在神经网络的层内部运行一个小的梯度下降循环。我回忆起一篇特别的论文,它们在使用上下文学习做线性回归。你的神经网络输入是XY对,XY,XY,XY恰好在一条直线上。然后你输入X并期望得到Y。当你这样训练神经网络时,它能做线性回归。
通常当你运行线性回归时,你有一个小的梯度下降优化器,它观察XY,查看错误,计算权重的梯度并进行几次更新。事实证明,当它们查看那个上下文学习算法的权重时,它们发现了一些与梯度下降机制的类比。事实上,我认为这篇论文结论更具说服力,因为它们通过注意力机制和神经网络的所有内部结构来硬编码神经网络的权重以进行梯度下降。
那只是我的唯一反驳。谁知道上下文学习如何工作,但我觉得它可能在内部做一些奇特的梯度下降。我认为那是可能的。我只是反驳你说它不是在做上下文学习的观点。谁知道它在做什么,但它可能在做类似的事情,但我们不知道。
Dwarkesh Patel
那么值得思考,如果上下文学习和预训练都在执行类似梯度下降的操作,为什么上下文学习会让我们感觉正在实现持续学习,这种类似真正智能的特性?而从预训练中却得不到这种感觉。你可以就此展开讨论。
如果它是同一个算法,有什么不同之处呢?一个思考角度是:模型从训练中接收的信息存储量是多少?如果你看预训练,以Llama 3为例,我认为它在15万亿token上训练。如果你看70B模型,相比于它读取的token,它在预训练中看到的每个token在模型权重中存储的信息量大约相当于0.07位。而如果你看KV cache以及它如何随着上下文学习中每个额外token而增长,它大约是320千字节。所以,模型同化的每个token的信息量存在3500万倍的差异。我很好奇这是否是相关因素。
Andrej Karpathy
我有点同意。我通常会说,任何发生在神经网络训练期间的知识,都只是对训练时发生的事情的模糊记忆。那是因为压缩是惊人的。你将15万亿token压缩到最终神经网络的数十亿参数中。显然发生了海量压缩。所以我称之为互联网文档的模糊记忆。
而任何发生在神经网络上下文窗口中的信息——你输入所有token并构建所有那些KV cache 表征——对神经网络来说都是直接可访问的。因此,我将KV cache与测试时间发生的事情进行比较,它更像工作记忆。上下文窗口中的所有内容都对神经网络非常直接可访问。
大型语言模型(LLM)和人类之间总是存在这些令人惊奇的类比。我发现它们令人惊奇,因为我们并非直接试图构建人类大脑。我们只是发现了它有效并去做了。但我确实认为权重中的任何东西,都是你一年前所读内容的模糊记忆。而你在测试时间提供给它的任何东西,都直接存在于模型工作记忆中。这是一个思考这些问题的非常有力的类比。
举例来说,当你去问一个LLM关于某本书(比如Nick Lane的书或类似著作)的内容时,LLM通常会给你一些大致正确的回答。但如果你给它整个章节并问问题,你会得到更好的结果,因为它现在加载在模型的工作记忆中。所以,长话短说,我同意这就是原因。
七、人类智能的缺失部分
Dwarkesh Patel
退一步讲,人类智能中我们最未能用这些模型复现的部分是什么?
Andrej Karpathy
有很多。也许一个思考方式(我不知道这是否是最好的方式)是,我几乎觉得——再次,使用这些不完美的类比——我们偶然使用了transformer神经网络,它极其强大,非常通用。你可以用它来训练音频、视频、文本或任何你想要的东西,它只是学习模式,它们非常强大,而且效果非常好。这对我来说几乎表明这是一种皮层组织。之所以这么说,是因为皮层以可塑性极强而闻名。你可以重新连接大脑的各个部分。有一些略微令人惊讶的实验,通过重新连接视觉皮层到听觉皮层,实验动物学得很好,等等。
所以我认为这是一种皮层组织。我觉得当我们在神经网络内部进行推理和规划,构建推理轨迹作为思维模型时,那有点像前额叶皮层。也许这些只是微小的勾选标记,但我仍然认为有很多大脑部分和脑核没有被探索。例如,有基底节,当我们在对模型进行强化学习微调时,它会做一些强化学习的工作。但是海马体在哪里?它会是什么样子还不清楚。有些部分可能不重要。也许小脑对认知并不重要,那是它的想法/功能,所以也许我们可以跳过一些。但我仍然认为,例如,杏仁核(控制所有情绪和本能)以及一大堆其他大脑中非常古老的脑核,我们真的没有复现。
我不确定我们是否应该追求构建人类大脑的类似物。我骨子里主要是一名工程师。另一个回答这个问题的方式是:你不会雇用这个东西作为实习生。它缺失很多东西,因为它带有很多认知缺陷,我们所有人在与模型对话时都能直觉感知到。所以它还没有完全到位。你可以将此视为并非所有大脑部分都已被勾选/被实现。
八、持续学习的能力
Dwarkesh Patel
这也许与思考这些问题将多快被解决相关。有时人们会谈论持续学习,说:“看,你可以很容易地复现这种能力。正如上下文学习是作为预训练的结果自发出现的,如果模型被激励在更长的时间范围内(或者说比一个会话更长的时间范围内)回忆信息,持续学习也将在更长的时间范围内自发出现。”因此,如果存在一个外部循环的RL,其中包含许多会话,那么这种持续学习的能力——即模型微调自身,或写入到外部记忆或其他地方——将只是自发出现。你觉得这样的事情合理吗?我只是对它先验的合理性没有一个明确的概念。那发生的可能性有多大?
Andrej Karpathy
我不确定我是否完全赞同/有同感。这些模型,当你启动它们时,它们的窗口中有零token,它们总是从零开始。所以我不知道在那种世界观下它会是什么样子。也许借鉴一些人类的类比——只是因为我觉得大致具体且有趣——我觉得当我醒着时,我正在构建一天中发生在上下文窗口中的信息。但当我睡觉时,会发生一些神奇的事情,我不认为那个上下文窗口会保持。有一些过程将知识“蒸馏”到我大脑的权重中。这发生在睡眠和所有相关事情中。
我们在大型语言模型中没有那个等价物。当你谈论持续学习等的缺失时,那对我来说更接近事实。这些模型真的没有蒸馏阶段来获取发生了什么,深入分析它,思考它,执行一些合成数据生成过程并将其“蒸馏”回权重。也许每个人都有一个特定的神经网络,也许它是一个LoRA。它不是一个全权重神经网络。它只是权重的一些小的稀疏子集被改变。
但我们确实想创造方法来赋予这些个体具有非常长的上下文。它不仅仅是停留在上下文窗口中,因为上下文窗口会变得非常、非常长。也许我们可以在其中应用一些非常精细的、稀疏的注意力机制。但我仍然认为人类显然有一些过程,可以将这些知识蒸馏到权重中。我们缺少这个。我也认为人类有一些非常精细、稀疏的注意力方案,我觉得我们开始看到一些早期迹象。DeepSeek v3.2刚刚发布,我看到它们就使用了稀疏注意力作为一个例子,这是一种实现非常、非常长上下文窗口的方法。所以我认为我们正在通过非常不同的过程,重新实现进化构想出的许多认知技巧。但我们最终会在认知架构上趋于一致。
九、未来神经网络架构的演变
Dwarkesh Patel
在10年内,你认为它仍会是类似transformer的架构,但有更多修改的注意力机制以及更多稀疏的MLP等吗?
Andrej Karpathy
我喜欢以时间上的平移等变性来思考这个问题。那么10年前,我们在哪里?2015年。在2015年,我们主要有卷积神经网络,残差网络刚刚出现。所以相当相似,我猜,但仍然相当不同。transformer还没有出现。所有这些transformer的更现代的调整也没有出现。也许我们可以打赌一件事,我觉得在10年内,通过平移等变性来看,就是我们仍然在使用前向传播和反向传播,并通过梯度下降来更新巨型神经网络,但也许看起来会略有不同,只是一切都大得多。
最近我回顾到1989年,对我来说那是一个有趣的实践/练习。几年前,我正在复现Yann LeCun 在1989年的卷积网络,那是我知道的第一个通过梯度下降训练的现代神经网络,用于数字识别之类的任务。我只是好奇我如何将其现代化。这其中多少是算法的功劳?多少是数据的功劳?多少进步是计算和系统的功劳?我能够通过穿越33年的时间,非常快速地将学习错误率/损失减半。
所以,如果我将算法“时间旅行33年,我可以调整Yann LeCun 在1989年所做的工作,我可以将错误率减半。但要获得进一步的收益,我必须增加更多数据,我必须将训练集扩大10倍,然后我必须增加更多计算优化。我必须使用dropout和其他正则化技术训练更长时间。
所以所有这些因素必须同时改进。我们可能会有更多数据,我们可能会有更好的硬件,可能会有更好的内核和软件,我们可能会有更好的算法。在所有这些方面,几乎没有一个能占据压倒性优势。所有方面都出奇地平衡。这种趋势已经持续一段时间了。
所以,回答你的问题,我预计算法上将与今天发生的事情有所不同。但我也预计一些长期存在的东西可能仍然会保留。它可能仍然是通过梯度下降训练的巨型神经网络。那将是我的猜测。
Dwarkesh Patel
令人惊讶的是,所有这些因素加在一起,在30年的进步中,只将错误率减半... 也许减半已经很多了。因为如果你将错误率减半,那实际上意味着...
Andrej Karpathy
减半已经很多了。但我猜让我震惊的是,一切都需要全面改进:架构、优化器、损失函数。它也一直在全面改进。所以我预计所有这些变化都将保持活跃和良好。
十、Nanochat的构建经验
Dwarkesh Patel
是的。我正要问你一个关于nanochat的非常相似的问题。因为你最近编写了它,构建聊天机器人的每一步过程在你的RAM中都记忆犹新。我好奇你是否有类似的想法:“哦,从GPT-2到nanochat,没有一件事是无关紧要的。”从这次经历中,你最大的惊人收获(takeaways)是什么?
Andrej Karpathy
构建nanochat?nanochat是我发布的代码库(repository)。是昨天还是前天?我记不清了。
Dwarkesh Patel
我们可以看到(你)正处于睡眠不足/睡眠剥夺的状态...
Andrej Karpathy
它致力于成为涵盖整个端到端构建ChatGPT克隆完整管道的最简单的代码库。所以你拥有所有步骤,不仅仅是任何单个步骤,那是一个集合。我过去研究所有单个步骤并发布小段代码来展示你如何在算法意义上用简单代码实现。但这个代码库处理整个管道。在学习方面,我不确定我是否必然从中学到了什么。我脑海中已经知道如何构建它。这只是机械地构建它并使其足够简洁,以便人们可以从中学习并觉得有用。
Dwarkesh Patel
一个人从中学习的最好方式是什么?是仅仅删除所有代码并尝试从零开始重新实现,还是尝试添加修改?
Andrej Karpathy
那是一个好问题。基本上,它是大约8,000行代码,带领你走完整个管道。你可能把它放在右边的显示器上。如果你有两个显示器,你把它放在右边。如果你想从零开始构建它,你就从头开始构建。你不允许复制粘贴,你可以参考,但不允许复制粘贴。也许我会那样做。
但我也认为代码库本身是一个相当大的工程。当你写这段代码时,你不是从上到下写的,你是从块开始并逐渐增加的,那个信息是缺失的。你不会知道从哪里开始。所以需要的不仅仅是最终的代码库,而是构建代码库的过程,那是一个复杂的、渐进式的增长过程。所以那部分还没有。我很乐意在本周晚些时候添加那个内容。可能是一个视频或类似形式。概括来说,那就是我会尝试做的:自己构建东西,但不允许自己复制粘贴。
我确实认为几乎有两种知识。有高层的表面知识,但当你从零开始构建东西时,你被迫面对那些你不理解以及你不知道自己不理解的地方。
它总是带来更深入的理解。这是唯一的构建方式。如果我不能构建它,我就不理解它。我相信那是费曼(Feynman)的名言。我百分之百地坚信这一点,因为所有这些微小的东西如果没有被正确地安排,你就真的没有知识。你只是以为你有知识。所以不要写博客文章,不要做幻灯片,不要做任何那些事情。构建代码,组织它,让它运行起来。这是唯一的途径。否则,你就缺乏知识。
Dwarkesh Patel
你发Twitter说编程模型对你组装这个代码库的帮助非常小。我好奇为什么会这样。
Andrej Karpathy
我猜我构建代码库花了一个多月一点的时间。我想说,现在人们与代码互动主要有三类方式。有些人完全拒绝所有LLM,他们只是从零开始编写。这可能不是正确的做法。
中间的部分,那就是我所处的阶段:你仍然从零开始写很多东西,但你使用现在从这些模型获得的自动补全功能。所以当你开始写一小段代码时,它会为你自动补全,你只需点击接受。大部分时间是正确的,有时不正确,你就编辑它。但你仍然是你所写内容的建筑师。然后是情境编码/氛围编码(ambient coding):“嗨,请实现这个或那个,”输入,然后让模型来做。那就是代理(Agent)。
我觉得代理在非常特定的设置中起作用,我会在特定设置中使用它们。但这些都是可用的工具,你必须学习它们擅长什么、不擅长什么,以及何时使用。所以代理相当好,例如,如果你在做样板工作(boilerplate)。样板代码只是复制粘贴的东西,它们在这方面做得非常好。它们在互联网上非常常见的东西上也表现出色,因为在这些模型的训练集中有很多例子。有些特有特征的模型会表现得很好。
我会说nanochat不属于那些例子,因为它是一个相当独特的代码库。它没有那么多代码以我组织它的方式存在。它不是样板代码。它几乎是智力密集型的代码,一切都必须非常精确地安排。模型有太多认知缺陷。举个例子,它们不断误解代码,因为它们记忆了太多互联网上所有典型的做事方式,而我没有采用。例如,模型——我不知道我是否想深入所有细节——但它们不断地认为我正在写常规代码,但我不是。
Dwarkesh Patel
能举一个例子吗?
Andrej Karpathy
你有八个GPU都在进行前向传播和反向传播。同步它们之间梯度的方式是使用PyTorch的Distributed Data Parallel(DDP) 容器。当你进行反向传播时,它会自动开始通信并同步梯度。我没有使用DDP,因为我不想使用它,因为它没有必要。我放弃了它,并在优化器的步骤内写了自己的同步例程。模型试图让我使用DDP容器。它们对此非常执着/担心。这变得过于技术化了,但我不使用那个容器,因为我不需要它;我有一个类似的自定义实现。
Dwarkesh Patel
它们只是无法内化(即接受)你有自己的实现。
Andrej Karpathy
它们无法克服那个障碍。它们不断地试图破坏代码风格。它们过于“防御性”了。它们做了所有这些try-catch语句。它们不断地试图创建一个生产代码库,而我的代码中有大量的假设,这没关系。我不需要所有这些额外的东西。所以我认为它们在膨胀代码库,膨胀复杂性,它们不断地误解,它们大量使用了废弃的API。这完全是一团糟。净效益是没有用的。我可以进去,我可以清理它,但它的净效益是没有用的。
我也觉得必须用英语打出我想要的东西很烦人,因为要输入太多。如果我只是导航到我想要的代码部分,我去到我知道代码应该出现的地方,我开始输入前几个字母,自动补全功能就能为你提供代码。这是一个指定你想要什么的非常高的信息带宽方式。你指着你想要的代码,输入前几个片段,模型就会完成它。
所以我的意思是,这些模型在技术栈的某些部分是很好用的。有两个我使用模型的例子,我觉得很有说明性。一个是我生成报告的时候。那更偏向样板化,所以我部分地使用了情境编码/氛围编码。那没关系,因为它不是“任务关键型”的东西,它运行得很好。
另一个是当我在Rust中重写tokenizer的时候。我在Rust方面不是那么擅长,因为我对Rust相当陌生。所以当我写一些Rust代码时,发生了一些情境编码/氛围编码。但我有一个我完全理解的Python 实现,我只是确保我正在做一个更高效的版本,我有测试,所以我觉得做那个事情更安全。它们提高了对你可能不太熟悉的语言或范式的可访问性。我觉得它们在这方面非常有帮助。那里还有大量的Rust代码,模型在这方面相当擅长。我碰巧对它了解不多,所以模型在那方面非常有用。
十一、AI在编程中的作用
Dwarkesh Patel
这个问题如此有趣的原因是,人们关于AI爆炸(AI explosion)并相当快速地达到超级智能的主要观点是AI自动化AI工程和AI研究。他们会看到你可以用Claude Code从零开始做整个应用、CRUD应用,并认为:“如果你在OpenAI和DeepMind以及所有这些地方拥有这种相同能力,想象一下一千个或一百万个你并行工作,寻找小的架构调整。”
听到你说这是它们不对称地更不擅长的东西,相当有趣。这与预测AI2027年式的爆炸是否可能很快发生高度相关。
Andrej Karpathy
那是一个好方法来表述它,你理解了为什么我的时间线会更长一些。你说得对。它们不擅长处理以前从未写过的代码——也许可以这样说,那是我们在构建这些模型时试图实现的目标。
十二、AI自动化研究的潜力
Dwarkesh Patel
这是一个非常幼稚的问题,但你添加到nanochat的架构调整,它们在某篇论文中,对吧?它们甚至可能在某个代码库中。令人惊讶的是,当你指示它们添加“RoPE嵌入”或类似东西时,它们无法将其整合,并以错误的方式完成?
Andrej Karpathy
很难说。它们知道一些,但不完全知道。它们不知道如何完全整合到代码库、你的风格、你的代码、你的工作空间,以及你做的一些自定义的东西,以及它如何适应代码库的所有假设。它们确实有一些知识,但还没有达到可以整合并理解的程度。
很多东西仍在继续改进。目前,我使用的最先进的模型是GPT-5 Pro,那是一个非常强大的模型。如果我有20分钟,我会复制粘贴我的整个代码库并询问GPT-5 Pro,这个“神谕”,一些问题。结果往往还不错,与一年前的模型相比,好得惊人。
总的来说,模型还没有达到那个程度。我觉得业界在进行太大的跨越,并试图假装这是惊人的,但它不是。它是敷衍了事(slop)。它们没有面对现实,也许它们正在试图筹集资金或类似的事情。我不确定发生了什么,但我们正处于这个中间阶段。模型令人惊叹。它们仍然需要大量的工作。现在,自动补全是我的最佳选择(sweet spot)。但有时,对于某些类型的代码,我会求助于LLM代理。
Dwarkesh Patel
这里是另一个原因,让这真的很有趣。纵观编程历史,有许多生产力改进——编译器、代码检查(linting)、更好的编程语言——它们提高了程序员的生产力,但没有导致爆炸。这听起来非常像自动补全tab,这一其他类别只是程序员的自动化。有趣的是,你将它更多地看作历史类比中的一类,比如更好的编译器或类似的东西。
Andrej Karpathy
也许这引出了另一个想法。我很难区分AI从哪里开始、在哪里停止,因为我从根本上将AI视为计算在相当根本的方式上的扩展。我看到这种递归的自我改进或加速程序员的连续过程从一开始就存在:代码编辑器、语法高亮,甚至类型检查,比如数据类型检查——所有这些我们为彼此构建的工具。
甚至搜索引擎。为什么搜索引擎不是AI的一部分?排名就是AI。在某个时候,Google,甚至是早期的Google,都认为自己是一家AI公司,在做Google搜索引擎,这完全公平。
我认为它比其他人看到的更具连续性,我很难划清界限。我觉得我们现在得到了一个好得多的自动补全功能,现在我们也得到了一些代理,它们是那些循环(loopy)的东西,但它们有时会脱轨。正在发生的是,人类正在逐步做越来越少的低级工作。我们不写汇编代码,因为我们有编译器。编译器会接收我的C语言高级语言并编写汇编代码。
我们正在非常、非常缓慢地抽象自己。有一个我称之为“自治滑块”的东西,越来越多的事物被自动化——在任何时间点可以被自动化的事物——我们做得越来越少,并将自己提升到自动化之上的抽象层。
十三、强化学习的局限性
Dwarkesh Patel
让我们来聊聊强化学习(RL)。你发表了一些非常有趣的观点。从概念上讲,我们应该如何思考人类通过与环境互动来构建丰富世界模型的方式?这种方式似乎与回合(episode)结束时的最终奖励几乎无关。
如果某人开始一个生意,在10年后,她发现生意是否成功或失败,我们说她积累了一堆智慧和经验。但这并非因为过去10年发生的每件事的对数概率被提升权重或降低权重。有些事情的发生更具目的性和丰富性。对应的ML类比是什么?这又如何与我们现在对LLM所做的工作进行比较?
Andrej Karpathy
也许我的观点是,正如我所说,人类并非使用强化学习。我认为它们在做不同的事情。强化学习的效果比一般人想象的要差得多。只是事实证明,我们之前拥有的方法都差得多,因为之前我们只是模仿人类,所以它存在所有这些问题。
在强化学习中,假设你正在解决一个数学问题,这只是一个非常简单的例子。你得到一个数学问题,你试图找到解决方案。在强化学习中,你将先并行地尝试很多东西。你得到一个问题,会尝试数百种不同的方案。这些尝试可能是复杂的。它们可能像:“哦,让我试试这个,让我试试那个,这没用,那个也没用”,等等。然后也许你得到了一个答案。现在你检查书后面的答案,你看到:“好吧,正确答案是这个。”你可以看到这个、这个和那个得到了正确答案,但其他97个没有。从字面上看,强化学习所做的是它关注那些效果好的尝试,并对你沿途做的每件事,以及每个token都施加上加权,仿佛在说:“多做一些这样的操作。”
那个问题是,人们会说你的估计器有高方差,但这本质上只是噪声。它是噪声。它几乎假设你为到达正确答案而采取的解决方案的每个小步骤都是正确的做法,但事实并非如此。你可能走错了方向,直到你偶然找到了正确的解决方案。你做的每一个不正确的步骤,只要你到达了正确的解决方案,都将被上加权为:“多做一些这个。”太可怕了。它就是噪声。
你做了所有这些工作,最终只得到一个单一数字,比如:“哦,你答对了。”基于这个结果,你对整个轨迹(trajectory)进行加权,例如,施加上加权或下加权。这就好比你通过一根吸管获取监督信号。你做了可能是一次 rollout(试跑)的一分钟工作,你仅通过一根吸管吸取最终奖励信号的监督位,并将其传播到整个轨迹,然后用它对该轨迹进行上加权或下加权。这简直愚蠢而疯狂。
人类永远不会这样做。第一,人类永远不会做数百次 rollout。第二,当一个人找到解决方案时,他们会有一个相当复杂的过程来反思和审查:“好吧,我觉得这些部分我做得不错,这些部分我没做得那么好。我可能应该做这个或那个。”他们会思考。现在LLM中没有东西能做这个。没有对应的机制。但我确实看到一些论文开始出现,试图做这个,因为这对这个领域的每个人来说都是显而易见的。
顺便说一句,最初的模仿学习(Imitation Learning)非常令人惊叹、了不起,我们可以用人类模仿数据进行微调(finetune)。那难以置信。因为在一开始,我们拥有的只是基础模型(foundation model)。基础模型是一个自动完成工具。那时对我来说并不明显,我必须学习这个。让我震撼的论文是InstructGPT,因为它指出你可以拿一个预训练模型,它是自动完成模型,如果你只是用看起来像对话的文本对其进行微调,模型将非常快速地适应,变得非常擅长对话,并且它保持了所有预训练的知识。这让我大受震撼,因为我不理解在风格上,它能这么快调整,并通过仅仅几轮那种数据的微调就成为用户助手。那个工作对我来说非常神奇。所以这难以置信。那是两到三年的研究工作。
现在是强化学习(RL)登场。RL使你能够做得比仅仅模仿学习好一点,因为你可以有这些奖励函数(reward function),你可以在奖励函数上进行爬山(hill climbing,即优化)。有些问题只有正确答案,你可以在那个答案上爬山而无需获得专家轨迹的模仿。所以那很惊人。模型也可以发现人类可能从未想出的解决方案。这是难以置信的。然而,它仍然愚蠢。
我们需要更多的东西。我昨天从Google看到一篇论文,试图实现这个反思与审查(Reflect&Review)的想法。是关于记忆库(Memory Bank)的论文还是什么?我不知道。我见过几篇沿着这些思路的论文。所以我期待在我们如何为LLM设计算法方面,该领域能有一些重大的更新。我觉得我们还需要三或四或五个像那样的改进。
十四、过程监督的挑战
Dwarkesh Patel
你非常善于想出形象的短语。“通过一根吸管获取监督信号。”太形象了。
你说基于结果的奖励的问题是,你有这个巨大的轨迹,然后在最后,你试图从那个最终结果中学到所有关于你应该做什么以及你应该学到关于世界的信息。鉴于这是显而易见的,为什么以过程为基础的监督作为替代方案没有成为提升模型能力的成功方式?是什么阻止了我们使用这种替代范式?
Andrej Karpathy
过程监督只是指我们不会只有在非常终点才有奖励函数。在你做了10分钟工作后,我不会告诉你你做得好或不好。我将在每一步告诉你你做得如何。我们没有采用那个方案的原因是,你如何正确地做过程监督很棘手。你拥有部分解决方案,但你不知道如何分配信用(credit)。所以当你得到正确答案时,它只是一个与答案的平等匹配。这非常简单实现。如果你做过程监督,你如何以一种可自动化的方式分配部分信用?做到这一点并不明显。
很多实验室在试图用这些LLM裁判(judge)做它。你让LLM试图做它。你提示一个LLM:“嘿,看看一个学生的部分解决方案。如果你的答案是这个,你觉得它们做得如何?”它们试图调整提示(prompt)。
这个棘手的原因相当微妙。事实是,任何时候你用LLM分配奖励,那些LLM都是有数十亿参数的巨型模型,它们是可被利用的(gameable)。如果你让强化学习与它们对抗,你将几乎保证能为你的LLM裁判找到对抗样本(adversarial example)。所以你不能做这个太久。你做也许10步或20步,也许它会工作,但你不能做100或1,000。我理解这不明显,但基本上模型将找到小裂缝。它将找到所有这些巨型模型的角落和缝隙中的虚假特征,并找到方法欺骗它。
一个浮现在我脑海的例子,这可能是公开的,是:如果你用LLM裁判来提供奖励,你只是给它一个学生解决方案,并问它学生是否做得好。我们用强化学习训练模型来对抗那个奖励函数,它工作得非常好。然后,突然,奖励变得极其大。它是一个巨大的跳跃,它做得完美。你看着它会想:“哇,这意味着学生在所有这些问题中都表现完美。它完全解决了数学。”
但当你看到你从模型得到的补全结果,它们完全是胡说八道。它们开始得不错,然后它们变成了“dhdhdhdh。”它就像是:“哦,好吧,让我们做二加三,我们做这个和这个,然后dhdhdhdh。”你看它,你会觉得,这太疯狂了。它怎么会得到1的奖励或100%的奖励?你看LLM裁判,事实证明“dhdhdhdh”是模型的对抗样本,它给它分配了100%的概率。
仅仅因为这是一个训练集之外的样本(out-of-distribution sample)到LLM。它在训练中从未见过它,你正处于纯粹的泛化区域。它在训练中从未见过它,处于纯泛化区域,你可以找到这些打破它的例子。
Dwarkesh Patel
你基本上在训练LLM成为提示注入(prompt injection)模型。
Andrej Karpathy
甚至不是那个。提示注入的说法太花哨了。你正在找到对抗样本,如它们所说。这些是显然错误、毫无意义的解决方案,但模型觉得它们令人惊叹。
Dwarkesh Patel
在你看来,阻碍RL发挥更大作用的瓶颈在于,如果你想以自动化方式做这个,就需要让LLM成为更好的裁判。难道这只是某种GAN-like方法,即你必须训练模型使其更鲁棒吗?
Andrej Karpathy
实验室可能在做所有这些。显而易见的做法是,“dhdhdhdh”不应该得到100%的奖励。好吧,拿“dhdhdhdh”,把它放进LLM裁判的训练集中,并说这不是100%,这是0%。你可以做这个,但每次你做这个,你都会得到一个新LLM,它仍有对抗样本。有无限多的对抗样本。
可能如果你迭代这个几次,它将越来越难找到对抗样本,但我不是100%确定,因为这个东西有万亿参数或什么的。我敢打赌实验室在试图这么做。我仍然觉得我们需要其他想法。
Dwarkesh Patel
有趣。你认为其他想法可能会是什么样?
Andrej Karpathy
这个审查解决方案的想法包含了合成样本(synthetic example),这样当你训练它们时,你能变得更好,并以某种方式进行元学习(meta-learning)。我觉得有一些论文我开始看到出现。我只处于阅读摘要阶段,因为很多这些论文只是想法。必须有人在前沿LLM实验室的规模上,让它以完全的通用性工作起来,因为当你看到这些论文出现时,它只是有点噪声。它们是酷想法,但我没见过任何人令人信服地表明这是可能的。话虽如此,LLM实验室相当封闭,所以谁知道它们现在在做什么。
十五、智能的进化起源
Dwarkesh Patel
我可以在概念上理解你如何在合成样本或你为自己做的合成问题上训练。但人类做的另一件事似乎是——也许睡眠是这种机制,也许白日梦是这种机制——它不一定需要想出假问题,而只是进行反思。
我不确定白日梦、睡觉或只是反思在ML中的类比是什么。我没想出新问题。显然,非常基本的类比...关于智能和进化历史。
现在你,在过去20年里进行AI研究,你也许对什么是智能、需要开发它需要什么,有一种更 tangible(具体)的感受。你是否因此对进化只是自发偶然发现它这件事感到更惊人或更不惊人?
Andrej Karpathy
我喜欢Nick Lane的书。我只是在来这里的路上听他的播客。关于智能和它的进化,它非常、非常最近才发生。我对它竟然进化出来感到惊讶。
我觉得思考所有那些世界很迷人。假设有一千个像地球的行星,它们看起来像什么。我觉得Nick Lane在这里谈论一些最早的阶段。他期望在大多数行星上有非常类似的生命形式,大体上是细菌-like的生物。那里有一些中断点。直觉上,智能的进化对我来说应该是一个相当稀有的事件。
也许你应该基于某个事物存在多久来判断。如果细菌存在了20亿年没什么发生,那么演化到真核细胞可能相当困难,因为细菌在地球进化或历史中出现得相当早。我们有多久有动物了?也许几亿年,多细胞动物跑来跑去,爬行,等等。那也许是地球寿命的10%。也许在那个时间尺度内它不是太棘手。直觉上,它竟然发展出来对我来说仍然惊人。我可能期望的只是很多动物-like的生命形式做动物-like的事情。但你可以得到创建文化、知识并积累它的物种,这个事实对我来说很惊人。
Dwarkesh Patel
有几个有趣的跟进问题。如果你赞同 Sutton的视角,即智能的核心是动物智能... 他说的引用是:“如果你能实现松鼠的智能,你就大部分实现了AGI。”
我们在寒武纪爆炸后6亿年前就实现了松鼠智能。似乎引发那个的是6亿年前的氧合事件。但智能算法立即就出现了,并实现了松鼠智能。它暗示动物智能就是那样发生的。一旦你有氧气在环境中,你有真核细胞,你可以只是得到算法。也许是进化那么快偶然发现它的一个事故,但我不确定那是否暗示最终它将相当简单。
Andrej Karpathy
如此难对这些事情下定论。你可以基于某个事物存在多久或它觉得某个事物是瓶颈持续了多久来判断。Nick Lane非常好地描述了这个在细菌和古细菌中非常明显的瓶颈。20亿年,没什么发生。有极端的生化多样性,然而没什么能成长成为动物。20亿年。
我们不认为我们见过与动物和智能完全等价的瓶颈,就如你所说。我们也可以看它是关于我们觉得某些智能个体冒出多少次。
Dwarkesh Patel
那是一个真的好的方向去调查。
Andrej Karpathy
有一个想法是。有原始人(hominin)智能,然后有鸟类智能。乌鸦,等,非常聪明,但它们大脑部分相当不同,我们没有那么多共同点。那是也许智能曾冒出几次的轻微指示。在那种情况下,你会期待它更频繁。
Dwarkesh Patel
前面的客人,Gwern,和Carl Shulman,它们提出了真的有趣的观点关于那个。它们的视角是,人类拥有且灵长类拥有的可扩展算法,也在鸟类中出现,也许在其他时候。但人类找到了奖励智能边际增加的进化生态位(evolutionary niche),并且也有可扩展的大脑算法可以实现那些智能增加。
例如,如果鸟类有更大的大脑,它将只是从空中坠落。它对于它大脑大小而言非常聪明,但它不在一个奖励大脑变大的生态位上。它也许类似一些真的聪明的物种...
Andrej Karpathy
像海豚?
Dwarkesh Patel
Exactly(正是如此),人类,我们有手,这奖励了我们能够学会如何做工具使用。我们可以外部化消化,把更多能量输送到大脑,那就启动了飞轮。
Andrej Karpathy
还有一些东西起作用。我猜如果我是海豚,事情会更难。你如何使用火?在水中可以做的宇宙范围的东西,可能低于你可以在陆地上做的范围,只是化学上的原因。
我确实同意这个生态位的观点和被激励的因素。我仍然觉得这很神奇。我本会期望事物卡在有更大肌肉的动物阶段。通过智能实现突破是一个真的迷人的断点。
Dwarkesh Patel
Gwern的观点是,它如此难的原因是,它是一条非常狭窄的界限:一方面是某个事物重要到足以学习,但不值得直接将其确切的正确电路蒸馏回你的DNA中;另一方面是它根本不重要到足以学习。它必须是能够激励物种在一生中构建算法进行学习的东西。
Andrej Karpathy
你必须激励某种适应性。你想要不可预测的环境,所以进化不能将你的算法固化到你的权重中。很多动物在这个意义上是预先固化的。人类必须在出生后的测试时间弄清楚情况。你想要这些变化非常快速的环境,你不能预见什么将会工作好。你创造智能来在测试时间弄清楚情况。
Dwarkesh Patel
Quintin Pope有一篇有趣的博客帖子,他说他不期待急剧起飞的原因是,人类自身经历过急剧起飞,在6万年前我们似乎有了我们今天拥有的认知架构。1万年前,是农业革命和现代性。在那5万年里发生了什么?你必须构建这个文化脚手架,让你可以跨代积累知识。
这是一个能力,它在我们做AI训练的方式中是免费存在的。在许多情况下,它们被字面上蒸馏(distilled)。如果你再训练一个模型,它们可以彼此训练,它们可以在相同的预训练语料(pre-training corpus)上训练,它们不必字面上从零开始。在某种意义上,人类花了很长时间才得到这个文化循环的启动,但在我们进行LLM训练的方式中,它只是免费获得的。
Andrej Karpathy
是的,也不是。因为LLM确实没有文化的等价物。也许我们给它们的方式太多,反而激励了它们不创建它或类似的东西。但文化的发明、书面记录和彼此传递笔记,我觉得与LLM现在的情况没有等价物。LLM现在确实没有文化,我会说这是一个阻碍因素之一。
Dwarkesh Patel
你可以给我一些LLM文化可能看起来像什么的感觉吗?
Andrej Karpathy
在最简单的情况下,它将是一个巨型的scratchpad(暂存器),LLM可以编辑它,并且当它在读东西或当它在帮忙工作时,它在为它自己编辑scratchpad。为什么LLM不能为其他LLM写书?那会很酷。为什么其他LLM不能读这个LLM的书并被它启发或震惊或类似?没有等价的机制来实现任何这个东西。
十六、多代理系统与AI文化
Dwarkesh Patel
有趣。你何时期待那种东西开始发生?还有,多代理系统(multi-agent system)和一种独立的AI文明和文化呢?
Andrej Karpathy
在多代理领域,有两个强大的想法尚未真正被实现或证实。第一个我会说是文化,即LLM有一个为它们自己目的而增长的知识储备。
第二个强大的想法看起来更像是自玩(self-play)。在我脑海中它极其强大。进化有大量的竞争来驱动智能和进化。在AlphaGo的算法中,AlphaGo通过对它自己下棋来学习,那就是它如何变得真的擅长Go的原因。没有对应的自玩LLM的机制,但我会期待那种机制也存在。没人做过它。例如,为什么LLM不能创建一堆供另一个LLM学习解决的问题?然后LLM总是试图服务和解决越来越难的问题,像那样的东西。
有一堆方法来组织它。它是一个研究领域,但我没见过任何令人信服地表明那些多代理改进已实现的东西。我们主要在单一个体代理领域,但那将改变。在文化领域也是,我也会把这个归入同一类。我们也没见过任何像那个一样令人信服的东西。那就是为什么我们仍处于早期阶段。
Dwarkesh Patel
你可以识别出阻止这种LLM之间协作的关键瓶颈吗?
Andrej Karpathy
也许我的观点是,一些这些类比竟然起作用了,尽管它们不应该,但不知怎么地,它们确实起作用了。很多更小的模型,或更笨的模型,显著地类似于幼儿园学生,或小学生或高中学生。不知怎么地,我们仍没达到可以接管一切的足够高阶的能力。我的Claude Code或Codex,它们仍感觉像是小学级学生。我知道它们可以通过PhD测验,但它们的认知水平仍感觉像幼儿园或小学生。
我不觉得它们可以创建文化,因为它们仍是孩子。它们是savant(学者型)孩子。它们有所有这个东西的完美记忆。它们可以令人信服地创建看起来真的好的所有种类粗略的内容(slop)。但我仍然觉得它们不是真的知道它们在做什么,它们不是真的有足够的认知能力来满足所有这些我们仍必须完善的小能力。
十七、自动驾驶的教训
Dwarkesh Patel
你谈到你如何在Tesla领导自动驾驶(self-driving)从2017到2022。你亲眼看到这个进步从酷炫的演示到现在数千辆车在那里进行实际的自治驾驶。为什么那个花了十年时间?在那段时间发生了什么?
Andrej Karpathy
我几乎会立即反驳一点是,在很多方面,这甚至还没有接近完成,我将会谈到这些方面。自动驾驶非常有趣,因为它绝对是我获得大量直觉的地方,因为我花了五年在它上面。它有这个整个历史,最早的自动驾驶演示可以追溯到1980s。你可以看到1986年从CMU(卡内基梅隆大学)的演示。有一辆卡车自己在路上驾驶。
快进。当我加入Tesla,我看到一个非常早期的Waymo演示。它基本上展示了一个完美的驾驶表现在2014或类似的时期,也就是说一个完美的Waymo驾驶演示在十年前就有了。它带我们在PaloAlto等地方转,因为我有一个在那里工作的朋友。我觉得非常接近了,然后它仍花了很长时间。
对于一些类型的任务和工作来说,有一个非常大的演示到产品的差距,在那里演示非常容易,但产品非常难。它尤其体现在像自动驾驶的情况下,因为失败成本太高。许多行业、任务和工作也许没有那个属性,但当你拥有那个属性,那绝对会增加时间线。
例如,在软件工程领域,我确实觉得那个属性存在。对于大量的代码练习(氛围编码/atmosphere coding),它不存在。但如果你写实际的生产级代码,那个属性应该存在,因为任何种类的错误都可能导致安全漏洞或类似的后果。数百万和数亿人的个人社会安全号码被泄漏或类似。所以在软件领域,人们应该小心,有点像在自动驾驶中。在自动驾驶中,如果东西出错,你可能受伤。有更坏的结果。但在软件领域,某个错误可以是多么可怕几乎是无上限的。
我觉得它们共享那个属性。花费长时间的原因和我的思考方式是,它是对nines(可靠性指标,如99.999%)的持续追求。每个nine代表常量数量的工作。每个nine是相同量的工作。当你得到一个演示表明某个事物工作90%时间,那只是第一个nine。然后你需要第二个nine,第三个nine,第四个nine,第五个nine。当我在Tesla的五年左右时间里,我们经历了也许三个nines或两个nines。我不知道是多少,但是多个nines的迭代。还有更多nines需要达到。
那就是为什么这些东西花那么长时间。它对我来说绝对具有形成性的意义,让我明白某个事物只是一个演示。我对演示非常不看重。无论何时我看到任何东西的演示,我极其不印象那个。如果是一个由某人作为展示所构建出来的演示,它更坏。如果你可以与之互动,它更好一点。但即使那样,你没完成。你需要实际产品。它将面对所有这些挑战,当它与现实世界接触和所有这些不同的行为模式需要修补时。
我们将看到所有这些东西不断上演。它是对nines的持续追求。每个九是常量。演示只是鼓励。还有巨大量的工作要做。它是一个关键的安全领域,除非你在做代码练习,那还好和有趣等。那就是为什么这个现象也从那个视角确定了我的时间线判断。
Dwarkesh Patel
有趣听到你说那个,即你从软件需要的安全保证不与自驾的不同。人们经常会说的是,自动驾驶花那么长时间是因为失败成本如此高。一个人类平均每40万英里或每七年犯错。如果你必须发布一个编码代理不能至少七年犯错,它将更难部署。
但你的点是,如果你做了灾难性的编码错误,像打破一些重要系统每七年...
Andrej Karpathy
非常容易做到。
Dwarkesh Patel
事实上,在实际时间(wall-clock time)方面,它将少于七年,因为你不断输出像那样的代码。在token方面,它将是七年。但在实际时间方面...
Andrej Karpathy
在某些方面,它是一个更难的问题。自动驾驶只是人们做的数千项东西之一。它几乎像一个单一的垂直领域(vertical),我猜。而当我们谈论一般软件工程时,它甚至更多... 有更多的表面积。
Dwarkesh Patel
有另一个人们对那个类比提出的反对意见,那就是对于自动驾驶而言,花费大部分时间的是解决基本感知鲁棒性的问题,构建表示,并有一个具备一些常识的模型,所以它可以泛化到当它看到稍微出于分布(out-of-distribution)的东西。如果某人以这个方式挥手示意,你不需要训练它。模型会具备一些理解如何回应像那样的东西。
这些是我们今天用LLM或VLM免费得到的东西,所以我们不必解决这些非常基本的表示问题。所以现在跨不同领域部署AI将有点像用当前模型部署自动驾驶车到不同城市,那是难但不像10年那么长的任务。
Andrej Karpathy
我不100%确定我完全同意那个。在理解我们得到什么方面,仍有大量差距。我们绝对得到更具泛化能力的智能在一个单一实体中,而自动驾驶是一个非常特殊目的的任务要求。在某种意义上,构建特殊目的任务也许甚至更难,因为它不是从你在大规模上做的更一般的东西中自然产生的,如果那样说有意义。
但类比仍不完全准确,因为LLM仍相当易出错,它们有大量仍需要填补的差距。我不觉得我们得到魔力般的泛化能力完全是开箱即用的(out-of-the-box),在某种意义上。
另一个我想回顾的方面是,自动驾驶车仍远没完成。部署相当少。即使Waymo等公司也只有很少量的车。它们做那个大致因为它们不经济。它们构建了生活在未来的东西。它们必须拉回未来,但它们必须使它不经济划算。有所有这些成本,不仅包括那些车的边际成本和它们的操作和维护,还有整个东西的capex(资本性支出)。使它经济划算仍将是它们的一项苦差事。
也就是说,当你看这些车却没有人驾驶时,我实际上觉得有点欺骗,因为有一些在非常精细的遥操作中心的人员有点在与这些车进行人机协作(human-in-the-loop)。我没有全部的了解,但有更多人在循环比你可能期待的。有人们从某处从天空 beam in(投射进来)。我不知道它们是否完全在循环与驾驶过程中。有些时间它们是,但它们肯定涉及其中且有人参与。在某种意义上,我们没实际移除人,我们只是将它们移动到某处你看不到它们的地方。
我仍然觉得会有一些工作,如你提到,需要从环境到环境地进行调整。还有挑战来使自动驾驶真实。但我同意它绝对跨了一个门槛,让它有点感觉真实,除非它真的是遥操作。例如,Waymo不能去城市里所有不同的部分。我的怀疑是,在城市的部分区域你得不到好信号。反正,我不知道关于技术栈的任何东西。我只是猜测。
Dwarkesh Patel
你领导Tesla的自动驾驶(Autopilot/FSD)项目有五年时间。
Andrej Karpathy
对不起,我不太了解Waymo的具体情况。顺便说一句,我很喜欢Waymo,也一直在关注它。我只是觉得人们有时对一些进展和巨大的工作量有点过于简单化(或幼稚)。在我看来,Tesla采用了一种更具可扩展性的方法,团队做得极其出色。我曾多次公开预测这个领域将如何发展。Waymo起步较早,因为他们可以集成许多传感器。但我确实认为Tesla采取的是更具可扩展性的策略,未来它会更像这种方式。所以,这仍有待观察,但我不希望将自动驾驶(Autopilot/FSD)视为一个耗时十年的项目,因为它实际上尚未耗费十年,如果我的意思你明白。
Dwarkesh Patel
因为第一,它始于1980年代,而不是十年前;第二,它尚未完成。
Andrej Karpathy
结束还遥遥无期,因为当我们谈论自动驾驶时,在我看来,它通常指的是大规模的通用自动驾驶。届时人们将不必再考驾照,等等。
十八、AI部署的经济与社会因素
Dwarkesh Patel
我很想讨论(或探讨)自动驾驶与其他领域类比的两个主要差异点。我特别关注这个问题,因为它涉及AI部署的速度,以及AI作为世界上最重要潜在问题之一所具有的早期价值。如果你试图推演2030年的情景,这是你必须有所理解的问题。
另一个你可能需要考虑的是,首先,自动驾驶存在延迟要求。我不知道实际的模型规模,但我猜想可能有数千万参数或类似规模,这并非知识型工作与大语言模型(LLM)的固有约束。也许这与计算资源的使用和其他因素有关。
但另一个更大、也许更重要的点,是资本性支出(capex)问题。为另一个模型副本提供服务确实会产生额外成本,但会话的运营支出(opex)相当低,你可以用AI自身训练和运行的成本来摊销,这取决于推理扩展的情况。但它肯定不像制造一辆全新的汽车来服务另一个模型实例。因此,更广泛的部署在经济上要有利得多。
Andrej Karpathy
我认为那是对的。如果你只关注比特(bit)领域,比特比任何涉及物理世界的东西都容易一百万倍。我绝对承认这一点。比特是完全可塑的(或可变的),可以在极快的速度下任意重组(或重新排列)。你会期望该行业也能更快地适应,等等。第一个差异点是什么?
Dwarkesh Patel
延迟要求及其对模型规模的影响?
Andrej Karpathy
我认为这大致是正确的。我也认为,如果我们谈论大规模的知识型工作,实际上也会有一些延迟要求,因为我们将需要创建海量的计算能力并提供服务。
我想简单地谈论的最后一个方面是所有其他因素。社会对此有何看法?法律后果是什么?它在法律层面如何运作?它在保险层面如何运作?这些相关的层面和因素是什么?人们在Waymo车前放一个锥子等同于什么?所有这些都会有等价物。所以我认为自动驾驶(Autopilot/FSD)是一个很好的类比,我们可以从中借鉴。车里的锥子等同于什么?一个隐藏的远程操作员等同于什么,以及所有相关的因素?
Dwarkesh Patel
你对这个假设有什么看法:目前AI的发展将在未来一两年内将全球可用计算量提高10倍,并在十年结束时可能超过100倍?如果AI的实际使用率低于一些人幼稚的预测,这是否意味着我们过度投入计算资源,或者这是一个独立的问题?
Andrej Karpathy
这有点像铁路行业发生的事情。
Dwarkesh Patel
什么,对不起?
Andrej Karpathy
是铁路行业,还是?
Dwarkesh Patel
是的,就是。
Andrej Karpathy
是的。有历史先例。又或者是电信行业?互联网基础设施(或预先铺设的网络)在十年后才迎头赶上,并在90年代末在电信行业中引发了整个泡沫。
我明白我在这里听起来非常悲观。但我实际上很乐观。我觉得这会成功。我觉得这是可应对的。我只是听起来悲观,因为当我查看我的Twitter动态时,我看到所有这些对我来说毫无意义的东西。它存在有很多原因。很多时候坦白说只是为了筹集资金。只是激励结构。很多可能确实是为了筹集资金。很多只是为了注意力,在互联网上将注意力变现,诸如此类。有很多这样的事情正在发生,我只是在回应那种现象。
但总体而言,我仍然非常看好这项技术。我们将克服所有这些困难。我们已经取得了巨大的进步。我不知道是否存在过度投入。我认为我们能够消化(或吸收)正在建设中的所有资源,根据我的理解。例如,Claude Code或OpenAI Codex之类的产品在一年前根本不存在。对吗?这是一种以前不存在的奇迹技术。将会有巨大的需求,正如我们已经在ChatGPT中看到的那样。
所以,我不认为存在过度投入。我只是在回应一些人持续错误地预测的极快的时间线。在我15年的AI生涯中,我听过很多次,就连非常受人尊敬的人也一直犯错。我希望进行正确的校准,因为其中一些问题也涉及地缘政治后果和相关因素。我不想让人们在那个领域犯下错误。我确实希望我们将立足于技术的现实,了解它是什么,以及它不是什么。
十九、教育与Eureka的愿景
Dwarkesh Patel
让我们谈谈教育和Eureka。你可以做的一件事是创办另一个AI实验室,然后尝试解决那些问题。我很好奇你现在在做什么,以及为什么不是AI研究本身?
Andrej Karpathy
我想我的看法是,我觉得AI实验室正在做的事情存在一定程度的确定性。我觉得我可以在那里提供帮助,但我不知道我是否能带来独特的改进。我个人最大的担忧是,当所有这些发生时,人类被边缘化(或被剥夺能力)。我担心的不仅仅是我们将构建的、以及AI将完全自主地构建的所有Dyson球,我关心的是人类将遭遇什么。我希望人类在未来能够安好。
我认为那是我可以提供远超前沿实验室增量改进的独特价值的地方。我最害怕像《WALL-E》或《Idiocracy》这类电影中描绘的情景,即人类被抛在一边。我希望人类在这个未来中能表现得更好。对我来说,这是通过教育可以实现的。
Dwarkesh Patel
那么你在那里具体做什么?
Andrej Karpathy
我能最简单描述的方式是,我们正试图建立“星际舰队学院”(Starfleet Academy)。我不知道你有没有看过《Star Trek》。
Dwarkesh Patel
我没有。
Andrej Karpathy
Starfleet Academy是这样一个精英机构,专注于前沿技术,用于建造飞船,并培养学员成为这些飞船的飞行员等。所以,我设想的是一个专注于技术知识的精英机构,一所非常前沿的学校和一个顶尖机构。
Dwarkesh Patel
我想问你的一个问题是关于如何有效地教授技术或科学内容,因为你是世界级大师之一。我既好奇你是如何为你放在YouTube上的内容进行构思的,也好奇你以何种不同程度为Eureka项目进行构思的。
Andrej Karpathy
关于Eureka,我对教育感到非常着迷的一点是,我确实认为在AI的影响下,教育将发生根本性的改变。它必须在某种程度上进行重塑和调整。
我仍然觉得我们处于相当早期的阶段。将会有很多人尝试做显而易见的事情:使用LLM并向它提问。做所有你现在通过输入提示会做的基本事情。它有帮助,但对我来说,感觉仍然有点像敷衍了事(或平庸)。我想要把事情做对,但我觉得我想要的那种能力尚未实现——我想要的是一个真正的导师体验。
我海中有一个突出的例子,就是我最近在学习韩语,也就是语言学习。我经历了一个阶段,在互联网上自学韩语。我经历了一个阶段,在韩国的一个小班级里和一群其他人一起学习韩语,那真的很有趣。我们有一个老师,大约10个人学习韩语。然后我换成了一对一的导师。
对我来说,最着迷的是,我觉得我有一个非常好的导师,但只要想一想这位导师为我做了什么,那个体验是多么不可思议,以及我最终想要构建的东西,门槛是多么高。她能立即从极短的对话中了解我作为学生处于哪个阶段,哪些是我知道的,哪些是我不知道的。她能够通过探查确切的问题类型来理解我的认知模型(或世界模型)。现在没有LLM能百分之百地为你做到这一点,甚至差得很远。但一个好的导师可以。一旦她理解了,她就能提供给我所有我需要的、正处于我当前能力水平的东西。我需要被给予恰当的挑战。我不能面对太难或太琐碎的东西,一个好的导师非常擅长提供给你恰到好处的材料。
我觉得我是学习的唯一限制因素。我总是能得到完美的信息。我是唯一的障碍。问题不在于我找不到知识,或者它没有被恰当地解释等等。问题仅仅在于我的记忆能力等等。这是我希望为人们实现的状态。
Dwarkesh Patel
你如何实现自动化?
Andrej Karpathy
这是一个非常好的问题。以目前的能力,你无法实现。这就是为什么我认为现在还不是真正合适的时间来构建这种AI导师。我仍然觉得它是一个有用的产品,很多人会去构建它,但门槛如此之高,以至于所需的能力还没有到位。即使在今天,我也会说ChatGPT是一个极具价值的教育产品。但对我来说,看到这个门槛有多高让我非常着迷。当我和她交流时,我几乎觉得我没有办法构建出这样的东西。
Dwarkesh Patel
但你现在正在构建它,对吧?
Andrej Karpathy
任何有过真正优秀导师的人都会想:“你将如何构建出这样的东西?”我正在等待那种能力的实现。
我曾做过一些计算机视觉的AI咨询。很多时候,我为公司带来的价值是告诉他们不要使用AI。我是AI专家,他们描述问题,我说:“不要使用AI。”这是我的增值。我觉得在教育领域现在也是如此,在我看来,时机还没有到,但未来会到来。现在,我正在构建一些看上去也许有点更传统、包含物理和数字组件的东西。但很明显,未来它应该是什么样子。
Dwarkesh Patel
在你愿意透露的程度内,你希望今年或明年能发布什么?
Andrej Karpathy
我正在构建第一个课程。我想要一门真正、真正好的课程,毫无疑问是你去学习最前沿知识的目的地——在这种情况下是AI。这只是我熟悉的领域,所以这是一个非常好的第一个产品,可以让我把它做得非常出色。所以这是我正在构建的。你简要提到的Nanochat,是LLM101N的毕业设计(capstone project),这是我正在创建的课程。那是一个非常大的部分。但现在我必须构建出大量的中间环节,然后我必须雇佣一个小的助教(TA)团队,等等,并构建整个课程。
我还要再补充一点:很多时候,当人们思考教育时,他们更多考虑的是扩散知识的偏软性组成部分。我在脑海中有一个非常硬核、偏向技术的设想。在我看来,教育是一个极具挑战性的技术过程,旨在构建知识的学习路径(或阶梯)。在我看来,nanochat就是一个知识的学习路径,因为它非常简单。它是一个超级简化的全栈项目。如果你把这个人造物(或成品)给某人,他们通过研究它,就能学到很多东西。它能给你大量我称之为eurekas/秒的东西,即每秒的理解量。这是我想要的——大量的eurekas/秒。所以对我来说,这是一个技术问题:我们如何构建这些学习路径。
所以我几乎觉得Eureka可能与一些前沿实验室或正在进行的工作没有太大区别。我想要找到如何极其高效地构建这些学习路径的方法,以便人们永远不会陷入困境,一切总是恰到好处——既不过难也不过琐碎,你有刚好正确的材料可以取得进步。
Dwarkesh Patel
你的设想是短期内不需要能够探查你理解程度的导师,而是如果你有足够的自我意识来进行自我探查,你就永远不会陷入困境。你可以通过与助教(TA)或LLM对话,并查看参考实现来找到正确的答案。这听起来像自动化或AI不是核心部分。到目前为止,这里最大的优势(alpha)是你具备解释AI并将其编纂成课程原始材料的能力。这从根本上构成了课程的内容。
Andrej Karpathy
你总是必须根据行业中现有的能力进行校准。很多人会倾向于只使用LLM并向它提问,等等。但我觉得现在,例如,如果你去ChatGPT并说“教我AI”,那是行不通的。它会给你一些敷衍(slop)的内容。AI现在永远写不出nanochat。但nanochat是一个非常有用的中间点。我正在与AI协作创建所有这些材料,所以AI从根本上来说仍然非常有帮助。
早些时候,我在Stanford创建了CS231n,我认为那是Stanford的第一个深度学习课程,后来变得非常流行。那时创建CS231n和现在LLM101N之间的区别相当鲜明。我觉得自己确实被现在存在的LLM赋予了能力,但我仍处于非常核心的循环中。它们在帮助我构建材料,从而加快了我的速度。它们在做大量枯燥的工作,等等。我觉得我开发课程的速度非常快,它是LLM注入(或辅助)的,但它还没有达到可以创造性地创建内容的地步。我仍然在那里做这部分工作。挑战始终是根据现有的能力来校准自己。
Dwarkesh Patel
当你设想Eureka在几年内投入使用时,最大的瓶颈似乎将是找到像Karpathy这样的人,他们能够将自己的理解转化为这些学习路径。
Andrej Karpathy
这会随着时间而改变。现在,它将是雇佣教师来帮助与AI协同工作,以及一个可能构建最先进课程的团队。随着时间的推移,也许一些助教(TA)可以被AI取代。你只需要拥有所有课程材料,然后我认为你可以为学生提供一个非常好的自动化助教服务,当他们有更基本的问题或类似的疑问时。但我认为你需要教师来设计课程的整体架构并确保它是恰当的。所以我看到了这个演进过程。也许在未来的某个时间点,我甚至不会那么有用,因为AI在做大多数设计时会比我做得更好。但我仍然认为这需要一些时间来实现。
Dwarkesh Patel
你是设想让拥有其他领域专长的人们来贡献课程,还是觉得愿景的本质在于,考虑到你对如何教学的理解,你是设计内容的人?Sal Khan亲自叙述了Khan Academy上的所有视频。你是否设想像那样做?
Andrej Karpathy
不,我将雇佣教师,因为有些领域我不是专家。那是最终为学生提供最先进体验的唯一方式。我确实期望我会雇佣教师,但我可能会在AI领域专注(或停留)一段时间。对于目前的能力,我确实有一个比人们可能预期的更传统的设想。
当我在构建Starfleet Academy时,我确实设想了一个物理机构,以及一个次一级的数字产品,这个产品无法提供当你亲自全职来这里,我们从头到尾一起学习材料并确保你理解它时所能获得的最先进体验。那是物理产品。数字产品是互联网上的一系列东西,也许还有一些LLM助手。在更基础的层面上,它有点更花哨,但至少对80亿人是可访问的。
Dwarkesh Patel
我觉得你基本上是从第一性原理出发,为当下可用的工具重新发明大学,并且只选择那些有动机和兴趣真正与材料进行互动的人。
Andrej Karpathy
将会需要很多教育,而不仅仅是再教育。我很乐意提供帮助,因为工作可能会发生巨大的变化。例如,今天有很多人正试图在AI方面提升特定技能。我认为这是一个非常好的课程切入点。从动机角度来看,在AGI(通用人工智能)出现之前,动机非常容易解决,因为人们想要赚钱。这是你今天在行业中赚钱的方式。AGI之后可能会更有趣,因为如果一切都自动化了,没人有事情可做,为什么还有人要去学校呢?
我经常说,AGI之前的教育是有用的。AGI之后的教育是有趣的。以类似的方式,人们今天去健身房。我们不需要他们凭借体力操纵重物,因为我们有机器来做这些事。但他们仍然去健身房。他们为什么去健身房?因为有趣,它健康,当你有六块腹肌时你看看起来很棒(或火辣)。它在非常深层的、心理的、符合人类进化意义上吸引人们去做这件事。教育也将以同样的方式发展。你将去学校,就像你现在去健身房一样。
现在,没有那么多人学习,因为学习很困难。你会被材料困扰(或受挫)。有些人克服了那个障碍,但对大多数人来说,这很难。这是一个需要解决的技术问题。它是一个技术问题,旨在实现我的导师在我学韩语时为我做的事情。它是可应对和可构建的,应该有人来构建它。它将使学习任何东西都变得琐碎和令人向往,人们会去做,因为它很琐碎。如果你有一个像那样的导师来应对任何任意的知识点,学习任何东西都会变得如此容易,人们就会去做。他们会因为和去健身房相同的原因去做这件事。
Dwarkesh Patel
这听起来与使用... 所以在AGI之后,你将其用作娱乐或自我改善。但听起来你也有一个愿景,即教育与保持人类对AI的控制有关。这听起来是不同的。它是某些人的娱乐,但是对另一些人的赋权吗?你如何思考这个?
Andrej Karpathy
我确实觉得最终这有点像一场注定失败的游戏,如果这样说有意义的话。从长远来看是这样。从长远来看——比行业中大多数人思考的更长远——它是一场注定失败的游戏。我确实觉得,人类可以走得很远,而我们现在对人类能走多远的了解只是触及了表面。那只是因为人们会被太容易或太难的材料困扰。人们将能够走得多远?任何人都会说五种语言,因为为什么不呢?因为它如此琐碎。任何人都会知道所有基本的本科课程等等。
Dwarkesh Patel
现在我理解这个愿景了,那非常有趣。它在健身文化中有一个完美的类比。我不觉得100年前会有人拥有“撕裂”的身材。没有人能够自发地卧推两块或三块杠铃片(plate)或类似重量。现在这非常普遍,因为我们有了系统训练和在健身房举重的概念,或者系统训练能够跑马拉松——那是一种大多数人不会自然具备的能力。你设想在跨越许多不同领域的学习中,也有类似的东西,而且更加密集、深入、更快。
Andrej Karpathy
Exactly。我有点是押注于人性的永恒性。做所有这些事情将是令人向往的,我觉得人们会像仰望千年历史一样仰望它。这会一直如此。有一些历史证据可以证明。例如,如果你看看贵族,或者你看看古希腊或类似的文明,无论何时你有一个在某种意义上处于AGI后环境的小圈子,人们都会花费大量时间以某种方式寻求繁荣,无论是身体上还是认知上。我对那个前景感觉很好。
如果这是错误的,我错了,我们最终走向《WALL-E》或《Idiocracy》的未来,那么我甚至不关心是否有Dyson球。这是一个可怕的结果。我真的关心人类。每个人都必须在某种意义上成为“超级人类”。
Dwarkesh Patel
它仍然是一个无法让我们... 这是一个像文化的世界,对吧?你从根本上无法仅凭你自己的劳动或认知来转变技术轨迹或影响决策。也许你可以影响决策,因为AI在征求你的批准,但不是因为我发明了某个东西或我想出了一个新设计,我就真正地影响了未来。
Andrej Karpathy
也许吧。我觉得会有一个过渡期,在这期间我们将能够融入循环,并且如果我们理解很多东西,就能推动事物发展。从长远来看,这可能会消失。它甚至可能成为一项运动。现在你有举重运动员(powerlifter)在这个方向上走向极端。在认知时代,什么是powerlifting?也许是人们真正在尝试做奥林匹克式的、超越知识的挑战。如果你有一个完美的AI导师,也许你可以走得极其远。我认为今天的天才对人类大脑能做什么的了解,也只是触及了表面。
Dwarkesh Patel
我喜欢这个愿景。我也觉得你拥有最多“产品市场契合度”(product market fit)的人之一就是我,因为我的工作涉及每周必须学习不同的科目,我非常兴奋。
Andrej Karpathy
就这点而言,我和你有相似之处。很多人,例如,讨厌学校并想摆脱它。我真的很喜欢学校。我喜欢学习东西,等等。我想留在学校。我一直待到博士(Ph.D.),然后他们不让我待更久了,所以我才去了业界。大致上,我热爱学习,甚至是为学习而学习,但我也热爱学习,因为它是一种赋权、有用和富有成效的形式。
Dwarkesh Patel
你也做了一件很微妙的事,我想明确地阐述它。考虑到目前在线课程的现状,为什么它们还没有让所有人类都知道一切?它们只是因为没有明显的入门路径(on-ramps)而且太容易受挫,所以缺乏动力。如果你有了替代方案——像一个真正好的人类导师——它将从动机角度彻底改变局面(或解锁潜力)。
Andrej Karpathy
我认为确实如此。被材料困扰(或受挫)的感觉很糟糕。你投入了大量时间在某件事上,但它没有结果(pan out),或者完全感到无聊,因为你得到的内容太容易或太难,从而获得负面奖励。当你做对时,学习感觉很好。这是一个通往目标的技术问题。一段时间内,它将是AI加上人类合作,在某个时间点,也许就只是AI了。
二十、教学技巧与学习策略
Dwarkesh Patel
我可以问一些关于如何更好地教学的问题吗?如果你必须给另一个从事你好奇的领域的教育者,关于制作你那种YouTube教程的建议。也许讨论那些你不能通过让人编码来测试某人技术理解的领域会特别有趣。你会给他们什么建议?
Andrej Karpathy
这是一个相当广泛的话题。可能有10到20个我半自觉地在做的提示和技巧。但其中很大一部分来自我的物理背景。我真的、真的很享受我的物理背景。我曾长篇大论地(rant)谈论为什么每个人都应该在早期学校教育中学习物理,因为早期学校教育不是关于积累知识或为日后行业任务进行记忆。它是关于启动一个大脑。物理是独特地最适合启动大脑的,因为物理学中一些让你在大脑中做的事情,在后期是极具价值的。
所以因为那种训练,我总是试图找到所有事物中的一阶项或二阶项。当我在观察一个系统或事物时,我脑海中有一个相互关联(或纠缠)的想法或知识网络。我试图找到,什么最重要?什么是一阶组成部分?我如何简化它?我如何拥有一个最简单的示例来展示那个事物,并展示它如何运行,然后我可以再附加(tack on)其他项?
也许一个来自我的知识储备(或案例库)的例子可以很好地说明问题,它被称为micrograd。我不知道你是否熟悉这个。所以micrograd是100行代码,用于展示反向传播。你可以从加法和乘法等简单操作来创建神经网络。它们是神经网络的乐高积木。你构建一个计算图,进行一次前向传播和一次后向传播来获得梯度。现在,这是所有神经网络学习的核心。
所以micrograd,这100行相当具有可解释性的Python代码,可以实现任意神经网络的前向和后向传播,但效率不高。因此,micrograd是你理解神经网络如何训练所需要的全部。所有其他部分都只关乎效率。所有其他部分都只关乎效率。为了提高效率,需要完成大量的工作。你需要处理你的张量(tensors),铺平(tile)它们,跨越(stride)它们,确保你的内核正确,协调内存移动,等等。大致上,它完全只是效率问题。但神经网络训练的核心智力点是micrograd。它是100行代码。你可以轻松理解它。它是链式法则的递归应用,用于导出梯度,它支持你优化任何任意的可微函数。
所以我喜欢找到这些基本项(或一阶项),并将它们以最清晰的方式(或放在盘子上)呈现出来并发现它们。我认为教育是最具有智力趣味的事物,因为你有一个相互关联(或纠缠)的理解网络,你试图以一种方式展开它,创建学习路径(或阶梯),让一切都只依赖于之前的内容。我发现这种知识的解耦(或解缠)作为一项认知任务,在智力上是如此有趣。我喜欢亲自做这件事,但我只是着迷于以某种方式组织(或铺设)事物。也许这对我有所帮助。
Dwarkesh Patel
它也使学习体验更具动力。你的transformer教程从bigrams开始,字面上只是一个:“这是现在的词,或前一个词,这是下一个词。”它字面上只是一个查找表。
Andrej Karpathy
那就是它的本质,是的。
Dwarkesh Patel
这是一个如此出色(brilliant)的方式,从一个查找表开始,然后过渡到一个transformer。每个部分都是出于动机。你为什么添加那个?你为什么添加下一个东西?你可以记住注意力机制的公式,但重要的是理解为什么每个部分是相关的,以及它解决了什么问题。
Andrej Karpathy
你在呈现解决方案前呈现痛点。这是多么聪明?你想要带领学生经历那个循序渐进的过程。还有很多其他小技巧使其更出色、更有吸引力、和有趣。总是引导(或提示)学生。
有很多像那样重要的小技巧,很多优秀的教育者会这样做。你会如何解决这个问题?我不会在你做出猜测之前呈现解决方案。那将是浪费。那有点... 我不想说难听的(或骂人),但在你呈现解决方案之前,给你一个机会自己尝试想出来,这是一个很差劲的举动(dick move)。
Dwarkesh Patel
因为如果你尝试自己想出来,你会更深入地理解可能的解决方案空间(或行动空间)是什么,目标是什么,以及为什么只有这个行动能实现那个目标。
Andrej Karpathy
你有机会自己尝试,所以当我提供解决方案时,你会心存感激(或更加欣赏)。它能最大限度地增加新知识的添加量。
Dwarkesh Patel
你为什么觉得,通常情况下,所在领域的真正专家往往不善于向新手(ramping up)解释事物?
Andrej Karpathy
这是知识和专业技能的诅咒(Curse of Knowledge)。这是一个真实存在的现象,尽管我努力避免,但我也深受其害。你将某些东西视为理所当然,你无法将自己置于刚开始的新手的境地。这是普遍存在的,也发生在我身上。
一件极有帮助的事情。举个例子,最近有人试图给我看一篇生物学论文,我立即产生了许多非常基础的问题。我做的是使用ChatGPT,在上下文窗口中放入论文来提问。它帮助我理解了一些简单的概念。然后我把对话记录分享给了写那篇论文或参与那项工作的人。我觉得如果他们能看到我提出的那些基础问题,可能会帮助他们在未来做出更好的解释。
对于我的材料,我很乐意如果人们分享他们与ChatGPT就我创建的内容进行的的基础对话,因为它确实有助于我再次将自己置于刚开始学习的人的境地。
Dwarkesh Patel
另一个技巧是惊人地有效(astoundingly good)。如果某人写了一篇论文、博客文章或公告,几乎在100%的情况下,只是叙述或转录他们在午餐时如何向你解释它的内容,就会更加容易理解,而且实际上也更准确、更科学。从某种意义上说,人们倾向于以最抽象、充满行话(jargon-filled)的方式来解释事物,并且在解释中心思想之前,会先清四段落的嗓子。但面对面与一个人进行沟通这种行为,迫使你不得不直接说出要点。
Andrej Karpathy
直接说出要点。我看到了那个帖子(推/tweet),我觉得非常好。我把它分享给了一群人。我注意到这个现象许多、许多次。
最突出的例子是我记得回到读博士(Ph.D.)期间做研究的日子。你读某人的论文,你努力理解它在做什么。然后你找到他们,在会议后一起喝啤酒,你问他们:“所以这篇论文,你到底在做什么?论文是关于什么的?”
他们会只用三句话完美地捕捉那篇论文的本质,并完整地向你传达想法。你不必读论文。只是当你坐在桌子旁喝啤酒或做其他事时,他们会说:“哦,是的,这篇论文就是,你采用这个想法,采用那个想法,然后尝试这个实验,尝试那个东西。”他们有办法以对话的方式完美地表达出来。为什么那不是摘要?
Dwarkesh Patel
确实!这来自于某人试图更好地阐述它的角度。作为学生,你对其他学生的建议是什么?如果你没有一个Karpathy来做思想阐述。如果你在读某人的论文或一本书,在你尚不是专家的领域,你采用什么策略来学习你感兴趣的材料?
Andrej Karpathy
说实话,我不知道我有什么独特的提示和技巧。这是一个痛苦的过程。有一件事总是对我帮助很大——我有一个关于这个的短文(推/tweet)——那就是按需学习(on-demand learning)非常有效。深度优先(Depth-wise)学习。我确实觉得你需要交替进行深度优先学习(按需学习——你试图实现某个项目,并将从中得到奖励),和广度优先(Breadth-wise)学习(那只是:“哦,让我们学习一些基础知识(101),这里是所有你可能需要的东西”)。很多学校采用的就是广度优先学习,比如:“哦,相信我,你以后会需要这个的。”好吧,我相信你。我会学它,因为我想我需要它。但我喜欢那种你将从做某事中获得奖励的学习方式,即按需学习。
另一件我发现极有帮助的事情。这是教育方面有点更无私(或利他)的部分,但向人们解释事物是更深入学习某个事物的一种绝妙(美丽)方式。这一直发生在我身上。它可能也发生在其他人身上,因为我意识到如果我不真正理解某个事物,我就无法解释它。我在尝试时会想:“哦,我不理解这个。”面对这种情况是如此令人烦恼。你可以回去确保你理解它。它能填补你理解上的这些空白。它迫使你面对它们并理顺(或调和)它们。
我喜欢重新解释事物,人们也应该多做这件事。这迫使你去运用知识,并确保当你在解释它时,你知道自己在说什么。
Dwarkesh Patel
这是一个极好的收尾总结。Andrej,这太棒了。
Andrej Karpathy
谢谢。
参考资料:Patel, D. (2025, October 18). Andrej Karpathy — AGI is still a decade away [Podcast transcript]. Dwarkesh. https://www.dwarkesh.com/p/andrej-karpathy
本文转载自Andy730,作者:常华
