[BidClub_]
Machine Learning Street Talk · · 63 分钟

热力学 AI 芯片 · Thomas Ahle

Thomas AhleTim Scarfe

YouTube
TL;DR
  • Normal Computing 的工作覆盖一整套由 AI 辅助的 EDA 流程,服务于封闭且昂贵得令人咋舌的芯片设计工具链。 Thomas Ahle 描述了从人类意图到 Verilog/RTL、优化、形式化、验证,再到流片的完整路径。商业工具可能“一个 CPU kernel 就要1万美元”;如果部署100万个代理,光许可证就意味着约100亿美元。其 swarm 在43天内生成了超过50万行代码,约20个 GPT 代理则已持续推进约6个月。
  • 智能体产出的扩张速度超过了扎根于现实的理解能力,使正确性而非代码生成成为约束。 Tim 称其结果可能变成“意大利面怪物”,并产生“理解债务”。Thomas 承认,这场押注是要实现“摆脱代码复杂性的逃逸速度”:模型进步得比代码恶化更快。ProgramBench 最初约150–170个程序的完整通过率为0%;即使测试得分达到70–80%,仍要追问更难的问题:“它到底有没有真正做对其中任何一个?”
  • 只有当 AI 忠实地把人类意图翻译成形式化规格时,形式化证明才能真正保护设计。 证明或证伪可以提供干净的验证器奖励,但把数千页规格自动形式化极其脆弱:几个错误的词或数字,就可能生成与目标无关的定理。设计、测试和功能覆盖团队彼此提供有限独立性;重复运行能带来有用的分歧,却不构成真正的正交验证,因此采用仍然是“一场信任考验”。
  • Normal 已发布的 CN101 芯片,让噪声本身成为一类狭窄概率工作负载中的计算。 一组由可编程电阻连接的电容阵列在噪声驱动下运行,使电路遵循随机微分方程;其最终行为与所编码矩阵的逆相关,但只是“有点像”。关键在于,随着规模扩大,基准测试能否证明这一方法超越当前狭窄的应用场景。
  • 硬件加速本质上是软硬件协同设计问题,因此局部惊人的加速也可能只是虚假节省。 如果推理目前只占 GPU 约10%的使用量,消除这一瓶颈最多能让这部分获得约10倍提升,随后主导延迟的会变成另一环节。扩散硬件同样只有在模型重构为“全押”低成本随机性时才真正重要。嘉宾偏好混合方案:用学习得到的直觉结合优化后的经典搜索,就像 Stockfish 在传统引擎中采用快速神经评估。
  • 持续学习可能把智能体系统变成构建抽象的机器,但也会打乱对齐和推理服务的经济模型。 嘉宾认为,模型会在预训练阶段形成抽象,Mistral 对代码的直觉就是例子,但在线运行时却很难做到。他猜测 Dario 可能把即时学习视为安全风险,因为模型可能偏离安全检查点。实时更新权重也会破坏共享模型服务,不过按用户配置 LoRAs,或使用始终自适应的硬件,可能提供出路。Tim 则认为,Claude 已经作为一个由用户、测试和再训练构成的更大生态,表现出适应性。
  • 最大的执行风险来自人和组织:AI 可以提高绩效,却同时侵蚀能力、审查规范和共享代码。 Tim 称其为“人类历史上最具欺骗性的事物”;嘉宾更尖锐地说:“问题不只是它变得更聪明了,人类也在变得更愚蠢。” 他们的应对措施刻意保留摩擦:手工敲代码、限制并行项目、保留专家审查,并寻找优于“所有人盯着10个私有代理”的协作结构。
摘要 · 为研究而整理的核心内容

1. EDA 经济学拖慢 AI 在芯片设计中的采用

  • Thomas Ahle 的背景是理论计算机科学和高维数据算法,曾研究 locality-sensitive hashing,之后转向热力学计算。Normal Computing 的更大目标,是让设计师从意图一路走到 RTL、优化、形式化、验证和流片;他把这套系统比作“芯片设计领域的 Lovable”。

  • 他把 Verilog 描述为一种“超并行编程语言”,其中的构造会映射到硬件。工程师将 RTL 编译成网表和原理图,再对设计进行仿真和形式化验证,随后送往晶圆厂;与软件不同,已经制造出来的错误无法简单地“在线上修复”。

  • 这套工具链没有软件业那样的开源生态。商用仿真器或验证器可能“一个 CPU kernel 就要1万美元”,因此节目估算,扩展到100万个代理可能意味着光许可证就要约100亿美元,还不包括计算机本身的成本。

  • 这种稀缺性也让硬件 AI 缺乏训练土壤:可用于预训练的开源代码很少,代理也无法低成本访问强化学习所需的工具。因此,相比硬件工作流,Python 和 JavaScript 让人感觉“完全是两个世界”。

  • 这种偏执在经济上完全合理。Thomas 提到,1990年代 Intel 的著名除法 bug 造成的损失在5亿至20亿美元之间,其他一些逃逸到产品中的微小 bug 甚至几乎让公司破产;因此,硬件天然适合采用形式化方法。

2. 50万行生成代码押注“理解债务”

  • Thomas 的 Verilog 模拟器项目在43天内生成了超过50万行代码;他还提到,约20个 GPT 代理已经运行约6个月,仍在持续推进。他明确押注的是“摆脱代码复杂性的逃逸速度”:模型进步得比其生成代码变得难以管理更快。

  • Tim 质疑这种升级幻觉:Fable 突然让4.8显得很差,就像4.8曾经取代4.6一样。Thomas 承认这可能只是“烟雾和镜子”,但表示,使用 Fable 3天后,一些 GPT-5.5 的错误得到清理,客观测试也取得了更多进展;这份证据让他获得了一定信任。

  • Thomas 认为 ProgramBench 是 Facebook 发布的,包含约150–170个程序,其中包括 FFmpeg。模型最初得分为0%,因为没有一个模型通过所有测试;只报告单项测试中70–80%的通过率,会掩盖一个程序仍有20–30%失败,而这大概意味着它并不正确。

  • Tim 怀疑仅凭行为能否恢复深层结构。Thomas 则以编解码器逆向工程反驳:人们可以根据编码后的数据块、截图或视频片段,以及关于变换或分块方式的先验,推断未知格式,并不断把输出可视化,直到电影真正出现。Tim 将其重新表述为“生成—判别不对称”;Thomas 则把它类比为 A* 搜索中的剪枝。

3. 智能需要可复用的抽象,而不只是更长的搜索

  • Tim 认为,LLM 可以通过“组合闭包”展现智能:给定有用的基础原语,模型就能通过爬山搜索组合出计算结构。嘉宾同意,更好的预训练模型中的高层抽象可以让后续强化学习更有效,但在线系统很少会把新发现加入可复用的抽象库。

  • 嘉宾认为抽象确实会在预训练阶段形成,Mistral 对 Normal 代码库中 bug 的明显直觉就是例子,但他也承认,实时使用时仍缺乏持续学习。Tim 还把 Claude 描述为一个适应性生态:用户运行测试和反事实实验,这些经验被重新训练,后来的用户继承由此形成的抽象。

  • 这种能力伴随着风险。嘉宾认为 Anthropic 可能是对持续学习持谨慎态度的公司之一,并回忆 Dario 曾表示,即时适应可能构成安全风险,因为代理可能偏离经过对齐的“安全检查点”。这段归因和措辞在对话中都经过谨慎表述。

  • 推理服务也需要重新设计。按用户更新权重,会阻止服务商向不同客户共享同一个固定模型;嘉宾提到,可以采用共享基座加 LoRAs 的方式,类似于他认为 Thinking Machines 正在探索的方案,但也承认持续更新在运营上仍然困难。

  • 关于思维链,嘉宾关注的是给模型提供一个可运行的状态和工作空间。他提出,一个能够访问这类持久进程的简单 LLM 式系统,原则上可以拥有通用图灵机级别的表示能力;至于它能否学会利用这种能力,仍是一个需要实证回答的问题。

4. AI 可能把定制芯片变成下一个 CUDA kernel

  • Tim 把 ASIC 视为凝固后的智能:把复杂任务压缩成最优表示,再将其固化进不可适应的硬件。嘉宾同意,这能让当前模型极其高效,但也警告说,历史上过度锁定硬件往往会限制软件创新;Nvidia 的灵活性为实验留下了空间,尽管它也把 AI 引向了矩阵乘法。

  • AI 辅助 EDA 正在缩短这一锁定周期。嘉宾设想,开发者可以像创建 CUDA kernel 一样随意地创建专用电路:发明一个算法,让 AI 设计并优化电路,检查正确性,再在晶圆厂利用更高效的批处理。

  • 由此形成的循环符合“递归自我改进”的定义:AI 帮助构建更好的软件和硬件,而后者又进一步改善 AI。嘉宾同样被另一端的可能性吸引——让芯片在设备上学习,而不是把每一种抽象都冻结进硅片。

  • 模拟存储器可能让持续学习从可选项变成现实需求。基础电容需要刷新,模拟电阻存储器则可能难以保持数值;如果推理和学习持续并行,适应过程本身就能刷新状态,更接近嘉宾所描述的“始终在适应”的突触。

  • Tim 通过 Chomsky 的推土机类比,以及 Deep Blue 像推土机赢得奥运举重比赛的说法,把话题连接到绩效与能力之争。嘉宾回应称,如果 AI 确实在处理语言,那么即便系统采用不同于人类的方式,也可能帮助我们理解语言这一抽象概念。

5. 形式化验证的效果取决于意图是否被正确形式化

  • 嘉宾区分了自动形式化和证明。前者是把人类规格转换成类似 Lean 的形式;后者则是证明代码满足该规格。验证器可以为证明或证伪形式化命题提供强大的强化学习环境,但无法判断该命题是否真正捕捉了人类意图。

  • 按嘉宾的说法,AlphaProof 的一个有效训练技巧是要求“证明或证伪”。即使命题翻译错误,模型仍可能通过证明其为假来产生训练信号;但对2024年 IMO 题目而言,正确形式化十分关键,而且是由人工完成的。

  • Tim 补充称,AlphaProof 使用了 Lean 4,而当时 Lean 4 的材料有限,因此需要一个 Lean 3 到 Lean 4 的转换器,以及大量人工修复。他还指出,后来一款在 IMO 中取得金牌的新模型,并没有以同样方式使用形式化验证,这进一步说明能力存在连续谱,而不是二元选择。

  • 硬件把难度从一段文字规格提升到数千页规格。“几个词错了”或少数数字有误,都可能让最终证明失去相关性。芯片厂商的应对方式是采用彼此正交的设计、测试和功能覆盖团队,相当于测试测试本身,并逐项核对所有要求。

  • 多次 AI 运行可以暴露分歧,因为长时间生成包含足够的熵;但嘉宾不认为相同模型构成真正的正交验证。Tim 更广泛的观点是,保证程度可能始终处于一个连续谱上,由测试、证明、视觉检查和独立视角共同构成。

  • 对话还否定了“存在唯一正确形式化表示”的想法。同一个数学或硬件意图可以有多种表示方式,而替代表示既可能帮助模型提升表现,也可能提高最终产物的可读性。

6. 系统级硬件需要的不只是周期级完美证明

  • 周期级属性要求精确描述每一个时钟周期的行为,适合使用 SystemVerilog Assertions,包括加法器、算术电路和密码硬件。死锁、活锁、时序一致性和共享资源冲突等协议级问题,则需要 TLA+、定时 Petri 网等更高层的形式化方法。

  • 嘉宾以 DRAM 为例说明两者差异:激活一行后必须等待数据传输才能读取,电容需要定期刷新,不同 bank 可以并行工作,而共享电路又会在 bank 内、bank 之间以及 bank group 之间引入依赖。定时 Petri 网可以表达这种并行协作,而无需规定每一个门电路。

7. CN101 让热噪声执行概率计算

  • 嘉宾表示,自己在 Facebook 从事概率计算和贝叶斯神经网络研究后加入了 Normal Computing。后验推断可能需要使用不同随机种子重复运行很多次,或采用解析近似。他提出的问题是:制造商花费巨大精力消除电噪声,而概率软件又把随机性加回来,“为什么不试着造一块天生随机的芯片?”

  • Normal 的首款硅产品 CN101 使用由可编程电阻连接的电容阵列。注入噪声后,物理系统遵循随机微分方程;嘉宾表示,其行为与电路编码矩阵的逆“有点对应”,可以通过平均提取出来。

  • 当前目标仍然狭窄,嘉宾强调的重点是协同设计,而不是提出普适性主张。CN101 是一种新计算范式的早期实现;真正具有决定性的证据,将来自架构扩展以及围绕丰富物理随机性重新设计模型后的基准测试。

  • 在生成式 AI 中,贝叶斯不确定性也不再那么直接。对单一输出建立概率分布曾经有明确价值;但当序列会探索10个选项、回溯并最终给出答案时,用户关心的是对结论的信任,而不是某个特定 token 的不确定性。

  • 嘉宾早期的一项实验让模型收集证据,估计这些证据在不同答案下出现的可能性,再用贝叶斯定律将其结合。手工计算的神经符号版本在一次内部预测游戏中表现良好,但直接要求模型自己应用贝叶斯反而略好——他推测,可能是因为模型折扣了自己“胡编”的概率。

8. 协同设计决定热力学加速能否兑现

  • 嘉宾警告,专用硬件可能加速的是错误环节。如果推理目前只占 GPU 约10%的使用量,修复这一瓶颈可能只会让这部分获得约10倍提升,之后系统就会由另一个组件主导。类似地,如果其他位置的传统神经网络决定总延迟,扩散加速器也会令人失望。

  • 现有算法是在 GPU 上塑造出来的,而 GPU 并不适合采样海量高斯随机变量。更快的随机硬件可以立即带来收益,但更大的机会在于设计全新的模型,让其“全押”这项新近变便宜的操作,而不是继续保留一套专门规避它的架构。

  • 嘉宾反对仅仅因为 LLM 能够输出二进制或汇编,就让它们介入每一层计算。密码学、大整数算术、编译和综合都包含大量暴力循环,优化后的经典算法仍然快得多;学习得到的知识应当用于引导搜索,再把任务交给合适的机制。

  • Stockfish 是他心中的混合方案范例:传统高速棋类搜索搭配一个浅而宽、更新极快的神经网络评估函数。它通过结合直觉和结构化搜索,击败了最优秀的开源 AlphaGo 式国际象棋引擎。

9. AI 生产力正在瓦解能力与协作

  • Tim 认为,软件过去通过电子表格等共享接口,把复杂性导入共同结构;智能体编程则制造出个性化网络,“像服用了类固醇的 bash 脚本”。嘉宾认为,开源正在碎片化,因为人们重新生成代码,而不是汇聚到持续维护的库中,即便私有版本在局部效率更高。

  • 对话还谈到产品和工具的经济学。Tim 通过 MCP 或 CLI 接口使用 Notion,而不是按 API 价格为代理调用付费;嘉宾称 API 定价正在“扼杀这个领域的创新”,并提到账户制访问可能是一种替代方案。

  • 嘉宾补充说,专业工具承载着长期积累的领域知识,因此能够提取并提炼这些知识的代理,可能让工具本身具备战略价值。

  • 在自身专业之外,认知失效会更加严重。Tim 描述了“AI 精神病”:Claude 让用户相信平庸的论文或代码非常出色,而专家一眼就能发现缺陷。嘉宾认为,这破坏了社会契约——既然发送者可能从未读过,为什么还要花时间审查——并向技术社区灌入大量无人阅读的 AI 生成内容。

  • 他们的核心警告是,依赖正在伪装成理解。嘉宾说:“问题不只是它变得更聪明了,人类也在变得更愚蠢。” 人们不再阅读论文,而是阅读摘要;不再让大脑“走完那些步骤”,就直接继承模型输出。

  • 嘉宾提出的应对措施包括手工敲入生成代码、在复制粘贴前向员工发出警告,以及在理解前几个项目之前,抵制开启第5个并行项目。这些摩擦很重要,因为 Normal 必须让 AI 工程师学习硬件,也让硬件工程师学习 AI,而不是只追求即时产出最大化。

  • 当每个人都在盯着10个私有代理时,团队协作仍然没有答案。嘉宾回忆,一支 Anthropic 团队曾让每个人独立编写一个版本,再选出最好的一个——这是有效的人类集成,却“确实消除了所有团队协作”。Tim 以本期的核心张力收尾:整个行业正在集体押注,绩效比能力更重要。

Tim Scarfe

Yeah, so why not try and build a chip that's just inherently random?

Meet Thomas Ahle. I caught up with him in Zurich, and he's one of these rare galaxy-brain people who's comfortable in probabilistic machine learning, formal verification, and chip design. However, there's a small problem: when the token god hands you something that looks like it works, how do you know it's actually right?

Thomas Ali

My background is in theoretical computer science. I used to do algorithms for high-dimensional data, locality-sensitive hashing. Then I moved to thermal computing to develop thermal computing, also to speed up Bayesian intelligence. Sometimes I think about it as the Lovable for chip design. We take it all the way from your intent through the design, through optimizing your design, to formalizing and verifying your design, all the way to tape-out.

Tim Scarfe

Now, I didn't fully appreciate this before. These days, a chip doesn't necessarily start in a factory. It can start as code. Engineers design the whole circuit in a language called Verilog, almost written like software, and only much later does any of it become physical silicon.

But first, that code has to be simulated and formally verified. It has to be proven correct. Because once a chip is fabricated, if there are any bugs, you're in big trouble.

A few months ago, Thomas blogged about building a Verilog simulator using a swarm of AI agents collaborating with each other, and it generated over 500,000 lines of code in 43 days. The reason he needed to do this is that commercial software costs a ridiculous amount of money and isn't very friendly to using agents—$10,000 per seat or something.

Thomas Ahle

Yeah, probably for one CPU kernel.

Tim Scarfe

If an AI can generate a chip design, a proof, or a working program, how do you know it's actually correct?

Thomas Ahle

You can look at the percentage of tests that it got right, or even the Fable. It was like, “Oh, yeah, it got 70–80% of the tests correct.” And it's like, “Yeah, but I talked with the people who made the benchmark, and they said, ‘But did it get any of them actually right?’”

Tim Scarfe

Now, in chip design, noise is the enemy. Manufacturers spend a fortune getting rid of it, but in thermodynamic computing, the opposite is kind of true: the noise is the computation. It comes straight out of probabilistic machine learning, which already runs on randomness and uncertainty, and thermodynamic computing tries to make the chip itself a stochastic differential equation. Let the chip's own noise settle into place, and then it can land on answers that would normally cost a fortune to compute.

Thomas Ahle

Then you infuse all of this noise, and it'll start to behave according to these stochastic differential equations. It actually behaves sort of according to the inverse of that matrix.

Tim Scarfe

They've already released their first version of this technology. It's a chip called CN101, all the way to silicon. It's still early days, and it's aimed at a fairly narrow band of probabilistic workloads. But the real test is what the benchmarks can say once they scale this up. Something of huge interest to us at MLST is: if we're going to let AI build everything, what kind of understanding do we actually keep in the overall process?

Thomas Ali

It's not just that it's getting smarter. It's also that humans are getting dumber.

Tim Scarfe

Now I should disclose that Normal Computing very kindly offered to cover our production and travel costs for this show, but we kept full editorial control.

The Thermodynamic AI Computing Chip

These are tools for device manufacturing. They're things like compilers for RTL. RTL is like the programming language you use. If you're building a chip, you typically don't draw all the different gates and so on; you write it in a programming language like Verilog. It's like a super-parallel programming language, with a lot of constructs that map well to hardware.

But there are actually no good open-source compilers for this system. The whole hardware industry doesn't have the same open-source feeling as software, where all the good stuff is free and there's this big, vibrant market of tools. Here, it's much more locked down to big providers.

People then compile this, and they get a netlist. They can start building their schematics. They can also look at it. You get these giant things that you can eventually send to the fab. But they also need to do simulations, for example, for testing. You can do formal verification.

Tim Scarfe

Let me just play that back so I understand it. Verilog is a bit like a programming language for describing a circuit. Before we go and get that fabricated, we probably want to do simulations because it's very expensive to get it fabricated. So, we can design the circuit and do simulations.

Thomas Ahle

Yeah, exactly. It's super expensive, too. I think they said there was this famous Intel division bug in the '90s that probably cost them between $500 million and $2 billion. That's a lot of money in the '90s.

There are other examples that nearly bankrupted some of these companies—tiny bugs that managed to make it through to the fab. It's a really different world from software, where people fix stuff in production. You just move fast and break things. People are much more paranoid in the hardware industry, which is also why it's a cool place for formal verification and formal methods to thrive.

Tim Scarfe

So you're saying that at the moment there are these commercial verifiers and simulators, and they cost a ridiculous amount of money. Is it something like $10,000 per seat or something?

Thomas Ahle

Yeah, for one CPU kernel.

Tim Scarfe

Right.

Thomas Ahle

Say you want to scale this up in a data center with a million agents running—computers are already expensive, but not that expensive. What is that? $10 billion or something, right? Just for those licenses.

I think that's actually one of the reasons AI still isn't as popular in the hardware space. They haven't been able to train the models for these kinds of workloads because it's not feasible. You don't have all of the open-source code out there to start the training, but you also don't have the tools that they need to learn to use. You don't have all of the tasks—you can't just do all of the reinforcement learning on top of it.

They clearly are doing some of that. We can also see from model generation to model generation that they're getting better, but it's kind of night and day compared to Python or JavaScript. We've been developing these EDA tools in-house using AI. I think I probably have the world record for the longest-running agents, having some 20 GPT agents running for around 6 months now. They're still making progress.

Tim Scarfe

So, as I understand it, similarly to Anthropic, which had this blog post out—they had a functional specification of a C compiler, and about 40,000 agents reproduced a C compiler—you did a similar thing for an agent for an—

Thomas Ahle

4.8, by the way, right?

Tim Scarfe

Well, I mean, that's an interesting thing as well. This is what I want to get to, right? It's tantalizing that there are some domains that are so well evolved that we have—they might be very complex, but we have a functional specification, and it's reasonably coherent.

The idea is that we get a shitload of agents and reproduce the function of this software based on these tests. We do it recursively, agentically, and so on. My contention with this is that I think it's not about where you end up. It's not about the functions and the tests passing. It's about how you got there and how structured it is.

There is this tendency with agentic coding to build a spaghetti monster which seems to work. If you think about it, in this project you're talking about, I think you said there's 500,000 or more lines of code. In 5 years' time, there's all of this code, and you folks probably haven't read most of it. That sounds like a problem.

Thomas Ahle

Yeah, I think for a lot of this stuff, we're relying on the hope of some kind of escape velocity from code complexity: that the models are going to keep improving faster than our code gets messed up. I had those 3 days of Fable access, and it was really good. It definitely cleaned up a few things that GPT-5.5 had messed up.

Tim Scarfe

But did it, though? Do you think it could be deceptive? Because when Fable comes out, all of a sudden 4.8 looks terrible. And when 4.8 came out, it looked amazing compared to 4.6. There's something deceptive about it. It's like a parlor trick.

Thomas Ahle

Yeah, no, it's true. In principle, it could all be smoke and mirrors. But I think that's why it's good to have the hard tests, right? I could also see that I was suddenly making more progress on the more objective tests than I had seen for a while with the other models, so I guess that gives me some trust.

But it is weird to not have the same in-depth level of understanding of everything in your code. I definitely miss it.

Tim Scarfe

And I’m interested in what the consequences of that are because you said you put this blog post out earlier in the year. When we had a chat on the phone, you said that you noticed there were some things that were wrong. There is a tendency, though, to accumulate understanding debt, and when that happens, I think from an evolutionary point of view, you’re stuck. I think deep, grounded understanding of how things are is the basis for the next design decisions and the next evolution. So, do you get into this kind of fishbowl thing where now you’re in no man’s land and you don’t really know what to do?

Thomas Ahle

Yeah, I do think it’s important to understand as much as you can and have time for. I think for compilers, there are some very important architectural design decisions, and then there’s a lot of just implementing 100 different functions. They all just—especially modern compilers—it’s layer by layer by layer. You have to lower these things from the front-end level to the intermediate-representation layer and then to the back-end layer. A lot of that, you definitely don’t want to have to write; it also parallelizes well, I think. I’m sure this could be one of the reasons why Anthropic also picked it.

We talked about this ProgramBench thing, I think Facebook released, where it’s a benchmark. The task is—I think they took 150–170 programs, and some of them are really complicated; FFmpeg is one of them. The AI just has to reimplement them without internet access. Basically, when it came out, all of the LLMs got 0% because none of them were able to pass all of the tests.

But I’ve seen people—I very rarely see that when people post benchmarks for this thing. They always post, “Oh, the percentage of tests that it got right,” or even, like, the FABLE. It was like, “Oh, yeah, it got 70%–80% of the tests correct.” And it’s like, “Yeah, but I talked with the people who made the benchmark, and they said, ‘Yeah, but did it get any of them actually right?’” Did it? Because if the program only passes 70% of the tests, it’s probably not right.

Tim Scarfe

I know, in a way, this is the thread that we were talking about before. For the last 60 years, going back to behaviorism, there’s been this thread between structure, competence, and prediction. Essentially, ProgramBench is making the argument that you can learn the physiognomy of a program from its external behavior. You can learn the deep structure, the constraints, and so on. I suspect that isn’t possible unless, of course, the LLM already knows about the source code because it’s in its training data or whatever. What do you think about that?

The Thermodynamic AI Computing Chip

Yeah, I think humans do it all the time, actually. There’s the whole field of reverse engineering, where people—actually, I listened to something with the FFmpeg people where they were talking about all these codecs that they had put in there, and a lot of the time they have no idea what they do. It’s just this obscure blob of code; they maybe don’t even have access to the code.

They just have a couple of example videos that were encoded with this, and maybe some people had shared screenshots or clips from the movie. Then they had to go and try to reverse-engineer this encoded blob, asking, “What is it doing? How could we write a program that decodes this thing?” Somehow, people are able to do it.

We must have some sort of prior, right? What are the typical things people put in a video codec? There are probably Fourier transforms of some stuff, or you probably chunk things up. I don’t know; I haven’t done that much video encoding. But you can just treat it as a completely black box: try to keep improving your program and visualize the output until the end of the movie comes out, and you have an idea of how this probably looks—how the movie is supposed to look.

Yeah, well, that’s an interesting thing as well. We can hill-climb in a partial-knowledge regime, right? We might have a verifier. As you say, a lot of science is a form of intelligence where you’re using MATLAB and you do, say, a Laplacian or an image plot. You take a distribution, and it takes shape one step at a time. So, what you’re doing is taking steps into the unknown, and every single step of the way, it’s like there’s a generation–discrimination asymmetry, right? We can discriminate well, but we can’t generate yet. We take these steps, and then, when we get there, we kind of collapse that into a model, and that’s the artifact of the intelligence.

The Thermodynamic AI Computing Chip

Right, it’s like an A* search or something, where you prune your search tree as you go based on what seems most successful so far.

Exactly. But to your point, every single step of the way, we’re using the toolbox. Some people are really good at riddles or intelligence tests, and a lot of it is skill, right? They have a toolbox of abstract tricks that they use.

But then there’s this question: maybe that’s all it is. Maybe there are these natural patterns, these abstractions, that we can compose together and use to handle any kind of novelty in an intelligence setting. Therefore, maybe language models could do this autonomously. I think they possibly could, yeah.

The Thermodynamic AI Computing Chip

This is a good point, because I tried to get an answer from Noam Brown at some point on Twitter about this. You see how the better pre-trained model you start with, and then you start reinforcement learning on it, the better the reinforcement learning seems to work, depending on how good the model was to begin with, in a sense.

Yeah, super interesting. I agree with you. I think it’s wrong to say that LLMs aren’t intelligent, right? There is some kind of combinatorial closure, and that means that from the primitives in an LLM, we can do hill-climbing and build some computational structure to solve problems. But that’s not quite it, and it can happen at different levels of abstraction.

If the LLMs have higher abstractions, then they can traverse the combinational closure of those higher abstractions and solve the problem. What seems to happen, though, is that there’s no continual learning, so those abstractions don’t get added to a library and reused later. But there’s also no abstraction. What humans would do is look at this computational graph and say, “Ah, I see that that’s just an analog of this thing over here.” And I’m now going to compress it into a new variable that screens off all of that complexity. Why don’t language models do that?

The Thermodynamic AI Computing Chip

I think you’re getting into a continual-learning-type thing, which is obviously a big thing we lack. I do think language models do that during pre-training. That’s why, for example, Mistral is so good at doing stuff in our codebases: it has somehow seen a lot of code, and it just seems to have this intuition for bugs and problems and so on. That must be because it’s seen the patterns before.

But it’s true that when you’re actually running them live, they don’t do it very well. A lot of people these days are thinking about this: how can we do better continual learning so it can build all of these abstractions really well on the fly? I know some companies are actively against trying to do that.

Tim Scarfe

Why?

The Thermodynamic AI Computing Chip

I think Anthropic is one. I think Dario said he considers it a big safety issue, too, because you could easily lose all of the work that has gone into alignment if the agent is learning too much on the fly. It gets further and further away from the safe checkpoint.

But I think there are enough other people working on it that it’ll probably happen. It’s definitely a big unknown, right? I think it’ll also have to change a lot of things in how we serve models, for example, because suddenly you need to be able—if by continual learning we mean that we actually update the weights live—it’s going to cause a lot of problems for the current paradigm. You suddenly can’t use the same weights for all customers, either. I guess Thinking Machines has this thing where they have one shared model and then some LoRAs on top.

Mhm.

The Thermodynamic AI Computing Chip

Maybe something like that can work, but you still have to somehow keep doing this all the time. We’re also working in non-von Neumann computing on alternative forms of computation.

Tim Scarfe

Yeah.

The Thermodynamic AI Computing Chip

Like these thermodynamic chips or just unconventional computing. It actually becomes sometimes hard to keep the memories in these analog resistors unless you keep learning at the same time as you’re doing inference. You have to use these fancy substrate-like memories if they need to be permanent. But if you’re just using basic capacitors, like you have in DRAM or something, they require constant refreshing. So either you have to spend a lot of energy on that, or you want to keep the learning going forever.

The Thermodynamic AI Computing Chip

That way, they kind of automatically refresh. And that's probably the most similar to how brains work, right? They don't—they never just freeze. I don't know what Chomsky or somebody would say, but they aren't just frozen. I think the synapses and stuff are always adapting.

Tim Scarfe

Yeah, exactly. I think, out of all of the words we can use to analogize intelligence, adaptivity is number 1. In a sense, when we look at Claude, you can ask: Is Claude the model? Is it the ecosystem? I think it's the ecosystem, right? It is adaptive because—

The Thermodynamic AI Computing Chip

The personality or the persona or something.

Tim Scarfe

Well, you know, there's a tendency to anthropomorphize, but no, millions of people are using Claude Code. This is tangentially related to how we come up with causal abstractions in the world. The way we do it is, we are in the world and we are agents, and we can make decisions, reconcile uncertainty, and say, “What would have happened if I did this?” I can share it with my friends, and there's this wonderful percolation process where the abstractions just become embedded.

Now, that does happen with Claude Code, right? Because there are people using it on their machines. They're actually running tests, they're doing counterfactuals, and then all of this gets retrained in the next version of Claude, and then someone else will reuse that abstraction. So, we have the adaptivity as a system.

The Thermodynamic AI Computing Chip

It's a shared brain where all of the experiences go, where it's called the bulk or something.

Yeah, so it's interesting to discuss whether that's effectively the same. If we actually had some hypothetical, real-time adaptive, divergent Claude, would it be much better than the Claude that we already have?

It's also related to the work that you guys do because, in my view, the process of intelligence is the creation of these coarse-grainings—skills. That's kind of like what you guys are doing with ASICs. You're building this customized hardware for making certain types of computation go really, really quickly. It's almost like that's the result of intelligence. You say, “I'm going to take a very, very complicated thing, whittle it down, represent it in the best way I can, and then bake it into a non-adaptable hardware substrate.” Is that fair?

Alon Eyal

I think that is what we're working on right now: this idea of trying to build hardware that best fits the models we have right now and really make a super-efficient inference.

You could say, in the past at least, the issue has been that you stop yourself from innovating on the software side if you lock down your hardware too much. The NVIDIA chips have been pretty good for innovation. They're pretty flexible. Of course, they have also guided the way we do AI in a lot of ways, toward matrix multiplications and so on, but still, people have been able to innovate.

On the other hand, I think hardware is also getting easier and easier to make with these kinds of AI-for-EDA tools, so it's sort of shortening things. Maybe now people are thinking about making their CUDA kernels, right? It's not so unreasonable to think that soon we'll just be doing AI for making—instead of CUDA kernels, we'll just make some custom circuits for every single thing we want.

So, if you come up with a—if you want your new algorithm to run really fast, you just design a specialized circuit for that. AI helps you optimize it and check that it's correct, and of course, you still have the fab, but people are getting better at batching things for the fab.

I also think having really flexible hardware is going to be very interesting. The stuff where it's learning on-chip and, ideally, the more adaptability that it has and the less we need to bake in—the better. I mean, I don't know; it's just cooler, I think.

Tim Scarfe

Yeah, but isn't that a wonderful example of this recursive self-improvement? As you say, we're building the AI, and then the AI is helping us build better kernels, better software, and better hardware, which then in turn makes the AI better, and then you get this kind of loop.

Alon Eyal

I mean, this is recursive self-improvement in a way, right?

Tim Scarfe

Exactly. Exactly. But we should bring this to life. There's this concept called autoformalization. On your website, you say basically that you have done something similar to AlphaProof with respect to building chips.

Roughly speaking, AlphaProof is the system that won silver at the IMO in 2024. What they did back then was use a language model to generate a bunch of Lean code. It was obviously a little bit messy, so some of the formalization was done by hand, and they did multiple renditions and so on. Then they would do verification with Lean. You're doing something like that for chips.

Alon Eyal

Yeah. Yeah, it's interesting because there's autoformalization, which we define as taking human specifications and writing them up—turning them into formal specifications in Lean, for example. Then, of course, you also need the proof step, where you provide the proof: prove that your code, whatever you have, actually satisfies that specification.

I think some companies, like Axiom, for example, are very focused on this part, right? Also, in some sense, AlphaProof—that's also the main thing it did. It started with a formalization, and then the hard part was training the model to provide a proof or disproof.

I think a really nice trick in AlphaProof was that when they did the formalization of the proof, it didn't really matter if they got it right or wrong, because if they just asked the model to provide a proof or disproof, and they got it wrong and it was no longer true, then it would just prove that it was not true, or disprove it. You could still use it.

Of course, when they actually did the IMO challenges, they wanted the autoformalization to be correct, so then they did it by hand. But they didn't need it for the training, which I think helps scale it up.

I think we can do a similar thing with hardware, by the way. It's pretty easy to take some chip design and then come up with some properties that may or may not be true, and then train the model to try and prove or disprove that this thing holds. But that's all about creating the proof. Autoformalization, in some sense, is harder because it's harder to create the training data for it, right?

That's kind of also a story about AI in the last 2 years since reinforcement learning: anything you can create a good RL environment for, you can probably learn, but anything else is out of reach right now. Some of these chips have thousands of pages of specifications. If you want to turn that into a formal model, and you get just a couple of words wrong somewhere or a couple of numbers, then it doesn't work, or what you prove is not important or relevant.

I think it's always been an issue in the chip industry, and they've kind of tried to solve it by having orthogonal teams. They have one team designing the chip, one team designing the tests, and another team designing tests of the tests, where they look at coverage. They call it functional coverage, where they measure what the tests test and then check everything off.

Hopefully, if all 3 teams have read something the same way and understood it the same way, they have the right idea of it. You can try and do something similar with AI. You can argue whether it's really orthogonal if it's the same model that's doing each of the 3 jobs.

I don't think it is quite orthogonal. I do think there's enough entropy in these models when you do long runs, and you can definitely find a lot of bugs by just doing things many times and seeing if there's agreement between them. But it's definitely a trust exercise, and a human exercise, to figure out how we get hardware engineers to trust it and how we make it easy for them to verify that our formal model fits with what they thought it was.

You can come up with all kinds of different tricks, both to make it more visual—to show what your understanding is and whether it matches—and to ask questions and see if you agree with the questions, or show examples. You can also try to do some kind of back-and-forth. There are lots of tricks you can try, but it's an interesting problem.

I feel like AlphaProof and all of these other people never really solved this, because their math statements were just 1 paragraph; they were not thousands of pages long.

Tim Scarfe

Oh yes. Yeah, interesting. With AlphaProof, I think they wanted to use Lean 4, and there was hardly any stuff for Lean 4, so they created a converter from Lean 3 to Lean 4. They needed lots of people to fix it, but I guess my point is that they needed to fine-tune a language model on a ridiculous amount of Lean code, and then they were using Lean as an intermediate.

Interestingly, with their new model that won gold at the IMO, they weren't doing any verification at all—not in a formal sense. But is there a spectrum? The way you were just describing it, it's not binary, right? You were talking about test coverage and different perspectives—the blind men and the elephant—so there are functional tests and descriptions, and we can do visual inspection and so on.

Will it end up being a case where we're always wrestling with something we don't completely understand, but we're using as many signals as possible together?

Alon Eyal

Yeah, I think where we're going now is also trying to encompass more of the spec creation. Obviously, when we start out, people have already written down all of these specs, and we want to help them with those. But when you do that, you also miss out on the whole intent that went into it and the whole process of creating the spec.

You don't know if there's just some numbers somewhere in there, for example. You don't know why they chose those numbers and not some other numbers. I think that by internalizing more of the process, at some point you can at least be as safe as any human could have been about this chip. There might also just be some ambiguity that no one cares about.

Tim Scarfe

The ambiguity thing is interesting. There's a wonderful talk by Eric Curiel called “Math Does Not Represent.” He was talking about general relativity and four completely orthogonal representations of it. It was a similar thing with AlphaProof: How many ways are there in Lean to represent nonnegative numbers? Apparently, there are quite a few.

The Google guys were just representing the problems in different ways to stimulate the model. Is this almost the training data, in a way? If they auto-formalize the same problem in different ways, they actually get different problems, right?

Alon Eyal

Yeah, both in terms of the intelligence—how can we bootstrap the model to do better intelligence—but also in terms of the legibility and abstraction of the final output. I guess when people think of auto-formalization, we have this almost idealistic view that there is one true representation, and it's just going to be legible and everything. But it seems quite vague.

Tim Scarfe

Is there one true representation?

Alon Eyal

No, I definitely don't think there's one true representation. With smaller chips, like a floating-point or crypto chip, the specification is actually pretty simple for those. It's more when you get to the big, system-level stuff.

I think software is in many ways ahead of hardware. In terms of formalization, they're behind, but in terms of thinking about architecture together with AI, I think a lot of people now run their architecture documents by Claude or somebody and are like, “Hey, what do you think of this? Should we move things around here?” Boom, boom, boom.

I think this whole discussion helps the models understand what your intent is, what you care about, and what you don't care about.

Tim Scarfe

Just to give us an example and bring it to life, there was that DRAM article you published, Alon Eyal. The article was talking about timed Petri nets, and I did look this up on the internet. Apparently, it's a thing from the 1960s for describing distributed systems. Explain that.

Alon Eyal

What we talked about before with the formalizations is very much at the RTL level, at the very cycle level, where you care about proving that the exact thing happens at every single clock cycle. But, of course, there is another kind of formalism that's very important for things like adders, arithmetic circuits, or crypto.

A lot of the hard problems people have are more system problems, or protocol-level problems. Things that have maybe been more popular in software are proving things like, “This system can never deadlock or livelock,” or proving protocol-level properties. You want to show that all of the timing requirements between different things make sense and that there are no internal inconsistencies.

There currently exist different formal languages for these things. For the cycle-level stuff, people use SystemVerilog Assertions, or SVA. For the higher-level protocol things, there are more classic tools like TLA+, I think by Lamport or something. We try to formalize things in both ways because they're useful for different things.

It's possible that at some point they can all merge. If you supply it, it's kind of like doing very high-level math, and then you can reduce it all the way to the actions if you want to. But I think it's also interesting. It's a very new field, so we're trying to explore different ways, and timed Petri nets are one way to represent these superparallel systems that you have, for example, in these memories.

All of these different banks can be operating at the same time. If you activate one of these rows, you have to wait for the data to run down to the bottom before you can read it, for example. Then, after a while, you have to refresh it because these capacitor DRAM cells have to be refreshed all the time.

But you can also be working in a different memory bank. There might be lots of them on the chip at the same time. There are certain things that are shared between the banks, so you have interbank dependencies and intrabank dependencies, as well as bank groups. People build really crazy stuff in there.

Tim Scarfe

Very cool. What's really exciting to me is that it's possible to build chips that can do certain types of things orders of magnitude faster. That's why I want to talk a little bit about thermodynamic computing.

Instead of forcing transistors to settle at 0 or 1, you let noise do a random walk and bias it so the chip is a stochastic differential equation, right? That sounds crazy. How does that work?

Alon Eyal

Yeah, this was one of the things that really got me to Normal Computing in the first place. Before Normal Computing, I was at Facebook, as we called them, in the research group that does probabilistic computing.

We were doing Bayesian neural networks, where you assume probability distributions for all your weights and try to infer the posterior from the prior and the data that you look at. A lot of these techniques were slow because you had to either do lots and lots of repetitions with different random seeds, or you were trying to do it analytically. That maybe takes a little bit of the point out of the probability.

But then you have these chips, and the chip manufacturers spend so much time getting every single little piece of noise out of their systems and having extremely sharp margins for everything—so much precision. It's probably the most precise business in the world. And then what do we do with them? We just add randomness everywhere.

Why not try to build a chip that's inherently random? The brain probably has a bunch of randomness. The first chip we made was basically an array of capacitors with programmable resistances between them. You inject all of this noise and get it to behave according to these stochastic differential equations.

Then you think, “What can we do with that?” It's a new computational paradigm that I found very interesting to explore. One of the things you could do with it is that the matrix you put onto the chip in the stochastic differential equation actually behaves according to the inverse of that matrix. We could try to capture it and average it out.

Tim Scarfe

When we spoke about this on the phone, you said something very interesting. We often talk a good game about this. I was talking with Michael Jordan the other day, and we were saying, “We need uncertainty quantification. We need adaptive computation.”

Alon Eyal

Yeah, I think this was one of the issues we had. Bayesian machine learning was really strong for a certain amount of time, at a certain point before generative AI, because you had one output, and then it made sense to have a distribution as the output.

But now you have these sequences. You keep putting these tokens out, and I think no one really cares about the uncertainty of one particular token or about having a better distribution for that. You really want to know, after the model has thought about 10 different options, backtracked, and done all this stuff, and it comes out with a final answer, how much can I trust this answer?

You either have to go really deep into mechanistic interpretability to try to carry all of the uncertainty all the way through that, or you have to try to use some more anthropomorphic methods based on how humans would estimate their uncertainty and apply that at a really high level.

Tim Scarfe

Yeah, and—

Alon Eyal

And inside, you lose some of that beautiful math.

Tim Scarfe

Because it's actually really cool that you've got a Bayesian background. The way I introspect about this is: when you have a thought and an intuitive notion of how confident you are, it seems to be because you have a deep structure. You can introspect and rationalize and say, “Okay, well, there’s this component and this component, and there are these constraints I’m not quite sure about.” That seems to be the missing link.

Alon Eyal

Yeah, we actually did some experiments back when transformers first became popular. This was before we knew exactly what the company was going to do, or that it was going to be AI for hardware, so we wanted to do predictions, and we just sort of built Bayes’ law into the model. For a particular question, it would try to find lots of pieces of evidence, and then it would say, “What is the probability that I would see this evidence if the answer is yes, and if the answer is no?” It would do that lots of times, and then at the end you could use Bayes’ law to say, “Okay, then what is the probability that the original statement was true or false?”

It actually worked really well. I did an internal prediction game, and it beat everyone. We had 2 versions. One was more neuro-symbolic, you could say, where you would just have the model come up with all these probabilities and then manually calculate it. I also tried another version where I just told the model, “Now you use Bayes’ law and do it,” or something, and somehow it actually did a little bit better.

I don’t know how it did that. Maybe it was just able to look back and think, “Actually, a couple of these values I probably bullshitted, and I should just ignore that.” It’s interesting. I know there are some people training LLMs, and there are some benchmarks now where people are trying to predict Polymarket and this kind of stuff with LLMs. They have benchmarks for that, but I’m not quite sure whether they use these sorts of techniques or whether it’s all just end-to-end reinforcement learning and they hope it just picks up a good methodology by itself.

Tim Scarfe

But it’s a wonderful example of this kind of activity-specialization loop.

Alon Eyal

Yeah.

Tim Scarfe

So, for the first month, there was a problem with vibe coding. There was a false positive every single day, and I just created a skill. Then Claude would retrain it, and eventually it just kind of converged. This is the bull case of vibe coding, right? You fix it every single day, over and over, and eventually you’ll land on the right track. It works really well.

But in a way, this is similar to what you guys are doing, right? You have this outer loop that takes something complex, then compresses it and optimizes it, and you bake it into a kind of crystallized hardware.

Alon Eyal

Yeah, I was thinking about this older tweet by Elon Musk. I don’t know if people were laughing at him. He tweeted it out, but he was saying, “Why don’t LLMs just write the binaries directly, or the assembly?”

Tim Scarfe

I saw that.

Alon Eyal

Yeah, I don’t see why we wouldn’t be able to do it. The question is whether we would want to do it. I think there are some fundamental computational problems everywhere in the world. In recent years, we haven’t focused so much on them because we’re so excited by AI and interested in all the stuff that AI can do really well.

But obviously, things like cryptography or some basic algorithms—you never want the LLM to just do it, even if it can do very large-number multiplications. It’s just super-inefficient; you might as well optimize a circuit or a piece of code for that. Compilation has some of the same problems, and also chip synthesis, where you’re trying to explore all these different designs and so on. You don’t necessarily want to have the LLM do it because it’s so slow versus some super-optimized loop.

Not to jump too much into things, but it’s interesting to think about chess again. Of course, you have the AlphaGo thing where everything ran through a neural network, right? But today, the state of the art in Stockfish, of course, is that they took a more hybrid approach. They took the neural networks and made a certain type of neural network that can update really fast when you change the state, and then they combined it with just super-fast search. It actually outperforms the best open-source AlphaGo-type chess engines.

Tim Scarfe

Oh, really? Using adaptive fine-tuning and structured inference?

Alon Eyal

I don’t know if you’d call it adaptive. It’s more like they took the classic chess search engine and replaced the evaluation function with a neural net—a very shallow, wide neural net that is really, really fast to evaluate.

I think that for something like synthesis and compilation, there’s a similar thing where you could try to do it all with LLMs, but at some point the speed is a bottleneck. You can get a benefit from having more knowledge and more intuition and all of this stuff, but at some point there’s also just a hard computational problem where you want to brute-force some stuff. At that point, you want to be able to switch to a more classical algorithm.

Tim Scarfe

Absolutely. Now, before we were talking about thermodynamic computing, and you folks have done some work that has huge potential for things like Markov chain Monte Carlo, I think, and diffusion models. But you did say to me when we spoke last time that in some cases it can be a false economy. For example, you could have a diffusion model that might have a different type of neural network on the end of it, and you might find that the benefit you get from doing the diffusion might be bottlenecked by another part of the model. So, in practice, where can we see a huge uplift?

The Thermodynamic AI Computing Chip

I think it’s always interesting when you build hardware, because there’s always this co-design problem with the algorithms, right? The algorithms are so based around the GPUs and the hardware we have now. You can try to target bottlenecks. You can make hardware, like we talked about with the thermal DRAM, that’s super-efficient for memory. That might speed up inference, but it can only speed it up so much.

Say we have 10% GPU utilization now for inference: you could hope to have a 10× improvement there, but you don’t know, if you suddenly have access to that much with a different architecture, what new algorithms you could build if you really went all in on that.

There’s a similar thing with diffusion, right? The architecture isn’t that efficient in terms of randomness. With GPUs, people don’t really want to sample tons of Gaussian random variables everywhere. So they may also build architectures where they try to remove that bottleneck by not focusing too much on these things. We can build new hardware that makes that more efficient, and that has some performance gain. But to really make the most of it, you then also have to come up with new models that go all in on that.

It’s interesting, these Notion apps. Have you thought about this? All of the apps now want to be your central AI. Notion has this—they want to integrate with the other apps—and Linear has an AI, and they want to integrate with the other apps. Everyone is trying to capture being your central AI assistant, and then all the other apps will just be tool calls.

I actually use it a lot because it’s got an amazing agentic interface. It’s got a CLI interface, so I use it from Claude. What they want you to do is pay them to use the agents that are built in at API prices. I don’t really see the reason for doing that when I’ve just got a Notion MCP. I’ve got a Notion CLI.

The Thermodynamic AI Computing Chip

API pricing is really killing innovation, I think, in that space. I think Codec—they’re actually opening up more so that you can use your accounts. I saw just yesterday, I think maybe Anthropic also opened up something where you could use more of the SDK with your accounts. But the price difference is so big that if you have to use API pricing, nothing is competitive.

Tim Scarfe

Well, we don’t have to go too deep into this, but I think creativity is all about respecting constraints. You studied linguistics at Oxford, and Chomsky always says that there’s a difference between linguistic competence and linguistic performance. He’s been using this bulldozer analogy for ages. He said, “I love bulldozers too.”

They’re great for clearing snow. They’re not a contribution to science. He even said about Deep Blue that a computer winning at chess in the way it did is a little bit like a bulldozer winning the weightlifting competition at the Olympics.

The Thermodynamic AI Computing Chip

I think it was, in a way. With Deep Blue, maybe modern chess AI is a bit different. I actually worked on chess engines for 15 years. I remember him saying that too, and I was a bit surprised, because you’d think that if your science is biology, or you want to understand how humans do language, then maybe LLMs aren’t so relevant to how they learn language.

But if your science is more about the abstract concept of what language is, I thought you would be really interested in seeing different systems developing language, comparing them, and seeing what’s common, what’s the same, what’s different, and so on. That would give you a wider understanding of the concept of this thing.

Of course, you have to have some kind of respect for AI language to even include it. If you think it’s completely a stochastic parrot thing, maybe you don’t really care about it and don’t want to include it in your model of language. But if you do think it’s actually doing language, then I don’t think it really matters if it does it the same way as humans or not. Maybe it’s more interesting if it does it in a different way.

Tim Scarfe

You mentioned chain of thought, by the way. How much can we read into chain of thought? Some people just call it “chain of thoughtlessness,” like Subbarao Kambhampati. But actually, it is probably the modus operandi now for doing interpretability—for actually understanding what they’re thinking.

You could argue that chain of thought is like the press secretary, not the orchestrator, so it’s almost a post hoc confabulation. But that’s not quite right, is it? Because that sounds a little bit like there’s no causal link between the chain of thought and what the language model outputs. That’s not true. So how much can we read into it?

The Thermodynamic AI Computing Chip

You want to give the model somewhere to think, right? When you do reinforcement learning, the chain of thought before reinforcement learning and after reinforcement learning is very different. Before, you tried to prompt it, and some tricks worked and some didn’t. But once you do reinforcement learning, it needs to have infinite memory and be able to have something to operate on.

It’s like a Turing machine, right? Whereas when you just had the transformer and single-shot output, it was, in the Chomsky hierarchy, a completely different type of system—an automaton or something like that, where there’s only a finite amount of computation it can do. Now it can do as much computation as it wants; it just has to learn how to do it.

You could imagine building a really simple LLM-type system, and with access to chain of thought, it would be a universal Turing machine. At that point, it’s just—no, because it can have this state, and it can keep reading and outputting. I think it would be pretty easy to make a structure like that. The question is whether it can learn it, but at least now it has the representation capacity, so it can do it, and clearly something is improving and working.

Tim Scarfe

This is actually the bigger problem with the ecosystem: software is always designed to reduce complexity and introduce canalization. Spreadsheets are a great example of this. Accountants use spreadsheets in finance, everyone uses spreadsheets, and they create an interface that everyone uses, reducing complexity in the system.

Agentic AI just creates spaghetti everywhere. This is part of the reason why people aren’t shipping, because it creates some ephemeral complexity. It’s a little bit like Bash scripting on steroids. I’ve now created this web that only I understand, and it’s becoming more and more specialized over time, so I can’t share it with other people. The entire ecosystem is becoming very messy.

The Thermodynamic AI Computing Chip

I definitely think a lot of things are breaking now because of that. A lot of the open-source stuff is like—everyone just writes new code from scratch instead of trying to come together and hone these shared libraries. For a lot of things, it is more efficient than going through everything else, because you can get everything just the way you want it.

I actually think it’s very interesting, what you’re talking about with spreadsheets and this canalization, because there’s a lot of domain knowledge inside these tools. People who build these tools might be worried about how easy it is to extract that knowledge, with people building clones and so on.

Everyone these days is locking down all of the data, because they’re realizing that data is becoming so valuable. They want to keep it themselves or build something themselves rather than have other people use it. I think it could be a similar thing with a lot of specialized tools, because the tools basically are data. They’re developed over so much time, with all the right patterns found and everything built in there. So how do you stop other people from going in and agentically extracting and distilling it?

Tim Scarfe

I’m sure this has happened to you. Random people on the internet will say, “I’ve just generated this paper. I’ve just generated this code. Have a look at it.” There’s a massive amount of AI psychosis out there, where you do things that are slightly outside your domain of expertise, and Claude will convince you that your stuff isn’t mediocre—it’s great. Then you share it with other people, and they immediately see through it.

I think this is a serious problem as well. There are experts out there who have really clear ideas about things. They’ve been doing software engineering, and they’ve been in science, and when they use Claude, it’s brilliant if they’re diligent, because they can use good abstractions and representations. But there’s now a tsunami of pollution out there.

The Thermodynamic AI Computing Chip

Yeah.

The Thermodynamic AI Computing Chip

And yeah, and it breaks the social contract, right? In the past, if I wrote something and asked you to read it, you could at least assume that I had spent 10 times more time writing it than you would spend reading it. Now you’re really skeptical about anything, because why would you want to spend time reading something that the other person didn’t even read themselves, maybe?

The Thermodynamic AI Computing Chip

Yeah, and it’s not really fun. Have you talked with anyone about that? People talk about needing a GitHub social-credit system—a karma system—so people can downrate you. If you don’t have high enough karma, maybe they just won’t read your pull requests.

Tim Scarfe

We do need that.

The Thermodynamic AI Computing Chip

Yeah. archive recently put gates on people uploading things there as well.

Tim Scarfe

Right. Yeah, and they had this ban. It’s like a one-year ban if you have hallucinated a—

The Thermodynamic AI Computing Chip

Yeah. But it’s sad in a way, because it makes it harder, especially for new people and young people, to break into that stuff. They don’t have any karma or anything to show.

I know, but I think the broad reason we have this problem is that this technology is the most deceptive thing ever created in human history. It’s a serious problem because it’s all about epistemic subjectivity: you generate things that you don’t understand, it convinces you that they’re correct, and you can’t see the glitches.

Obviously, an expert can look at it and see the glitches straight away. But it also creates dependency. When you start posting things that you know you don’t understand, you want to be consistent. You’ve now made a statement that you know about this thing, so you’re going to keep doing it.

Weirdly, people are very defensive about it as well. If you criticize work that they’ve done with Claude, they take it personally. It just creates this perpetuating cycle.

The Thermodynamic AI Computing Chip

It creates a feeling of understanding that you might not actually have. It’s like doing an exam or copying somebody else’s work: you might feel like you wrote it, but you didn’t. Your brain didn’t go through the motions.

I think it’s dangerous if you’re worried about AI taking over, because it’s not just that it’s getting smarter; it’s also that humans are getting dumber.

Yeah.

The Thermodynamic AI Computing Chip

We get lazy in terms of understanding things. We don't read the papers; we just put them into AI and say, “Explain this paper to me,” or something. But, on the other hand, it can speed you up so much that it's hard not to use it.

It's about finding out when you should stop and when you should start using it again.

Tim Scarfe

I know. It's reminiscent of Elon Musk's tweet where he said that there are no researchers at Tesla, that there's only engineers. This, for me, is the big problem, actually. It's a paradox because you can use language models to increase your knowledge. That's a fact, right?

If the purpose is to increase your knowledge, then, if you're a curious person, you can just dig and dig and dig, and you can learn a hell of a lot. So why is it the case that, on average, they erode our knowledge?

I think it's Elon's fault—but not his fault, you know. He says that engineering is a means to an end. We are building this thing, and it needs to pass these tests. In a sense, I don't care if your knowledge erodes during the process, because that's not what I'm measuring you on.

We shouldn't be binary about it, because clearly engineers trip up on things and learn a lot along the way. But it seems to be quite convergent: when you're pursuing knowledge for its own purpose, you seem to build deeper foundations and discover new things.

The Thermodynamic AI Computing Chip

I guess that's a tension with capitalism or something. Companies aren't necessarily trying to develop their employees. Maybe they will if they can see a profit motive in it, but at the end of the day, they just want to get the job done.

Of course, if you spend a lot of energy developing your employees and then they leave, it's always a bit tough. I don't know if there's a way to force it.

I think it's also a little bit self-inflicted, because learning things is just hard. It can be frustrating, and it doesn't always get you into the same kind of flow as just prompting or something.

I've been trying to use this idea that I think Capaci suggested. When he was learning new things from an LLM, he wouldn't copy and paste them. He would have side-by-side windows, but he would always write all of the code by hand.

Yeah.

The Thermodynamic AI Computing Chip

I made an internal app to try and help with this, because we hire a lot of AI engineers. It's hard to find people who are really good hardware engineers, really good AI engineers, and also software engineers, so of course you have to be all of those.

We have to scale up hardware people on AI, and we have to scale up AI people on hardware. So I made internal training tools and things like that, where I try to have the same blocks in there, if you like, while trying to block copy and paste, and at least give people a warning saying, “You should maybe try to type it yourself.”

You wouldn't think it would make a difference. If I'm just looking at it and typing it myself, why would I learn it better? But it's just empirical that, somehow, our neurons and stuff make it important to go through the motions.

You have to figure out which projects you need to understand in depth and which ones you're just making, where it doesn't matter as much. I think we also get tempted by AI to start way more projects in parallel, right? I can just start another one while I'm working on that, and I'll start another one, and another one, and another one.

Then suddenly you're thinking, “There's obviously no way I could actually understand all of these in depth, because now I've started so many projects.” So you have to stop yourself and say, “Maybe instead of starting the fifth project, I'll go back and try to understand what's actually going on in the first couple of projects.”

I think maybe there'll be some evolution. We're still learning all the social stuff around using these tools, what's effective and what's not effective. Maybe we can even build some things into the tools. Is that what you're saying also with the scoping, to try and make them better?

Another really hard social problem right now is how to do teamwork. That's something I also think about as a manager. If everyone on my team is staring at their 10 agents working on something, when are they going to go and talk to their colleagues about it?

If they don't understand the code themselves, how are they going to explain to the other people in the company what the code does and build together? I don't think anyone has really solved it well at scale.

I heard a podcast with the Anthropic co-working team, and at least the way I remember it, the podcast asked, “How did you make this so good?” They said, “Everyone on the team coded their own version, and then we picked the best one.”

I was like, “Damn.” If that's the best we can do in teamwork, it's kind of—well, in a way, it's cool, because it's like the ensemble method applied to people. You can explore so much more.

But it also removes all of the teamwork. At that point, it's just everyone working in isolation; you're just duplicating. I'm curious how we're going to solve that.

Tim Scarfe

It's performance versus competence, and I guess we're collectively making a bet that performance is all that matters. The Thermodynamic AI Computing Chip, it's been amazing having you on the show.

The Thermodynamic AI Computing Chip

Yeah, it's been so much fun. Thank you, Tim.

热力学 AI 芯片 · Thomas Ahle — 文字稿与摘要 | BidClub