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

深度学习终于攻克杂乱表格——Frank Hutter

Tim ScarfeFrank Hutter

AI与软件技术企业经营
YouTube
TL;DR
  • 深度学习终于攻克了表格数据——Tim Scarfe 的说法是,TabPFN 如今“明显优于 CatBoost 和 XGBoost”,此前 Google 2019 年大肆宣传的 TabNet 等尝试都以失败告终。 Frank Hutter 的解释是,上下文学习可以跨数据集迁移模式和特征交互:医疗表中的单行数据对保险表毫无帮助,但预训练 transformer 可以一次性读入整张表,在单次前向传播中输出定制分类器,无需训练循环或超参数搜索。
  • TabPFN 是“第一个真正达到业界领先水平、却完全用合成数据训练的基础模型”——训练数据来自数亿个从结构因果模型先验中采样的数据集。 互联网上没有可供抓取的有用语料(“人们不会把自己的表格数据集放到网上”),这让通常的数据护城河逻辑完全反转:既不存在数据泄漏或记忆问题,也能直接控制生成式训练分布;持续迭代先验设计因此成为关键优势。
  • 上下文规模正以“每年2个数量级”的速度复合增长:TabPFN1 可处理1K行,v2处理10K行,v2.5处理100K行,v3处理1M行,下一目标是10M行。 LLM 并不适合这一规模——100万行乘以1000列相当于30亿至40亿个 token,而序列模型“无法理解调换两行……仍然是同一个数据集”;面对大表,“LLM 就会彻底栽跟头”。
  • Google 的 TabFM(Scarfe 称其规模大约高出30x)验证了这一赛道,但也暴露出 Prior Labs 正在利用的取舍:它单次前向传播慢15x,在极小和小型数据上明显更强,但超过约100K行后“直接因为内存不足而崩溃”。 Hutter 在录制后补充称,TabPFN 3.5 在7项基准测试中拿下第一;在质量相当时,它比 TabFM 快20x,或者在仍然更快的情况下高出100多个 Elo 分;Nick Erickson 还在一场有3,500名参赛者的2015年 Kaggle 挑战赛中,用单张 RTX PRO 6000 C GPU、1分钟计算和“一行代码”拿到第一名。
  • 因果路线图是最具投资论题相关性的远大目标:Do-PFN 可以在测试时利用观测数据做干预预测,先通过合成因果干预进行元训练;已有论文显示,在达到相当性能的情况下,它可以减少所需的 RCT 数据点数量。 Hutter 认为,如果药物能够凭借更短的研究周期上市,这可能“彻底改变医学和 A/B 测试”;但他也强调,“我们需要把这件事做得严谨,并建立在理论基础上……这是高风险领域”。
  • 商业切入点不是独立应用,而是代理式 token 经济。 “LLM 会调用计算器,因为它们更擅长数学;同理,它们也应该调用表格基础模型。”收入来源包括免费非商业开源使用、生产许可费、API、微调即服务、私有 VPC,以及通过 Azure、AWS 和 SAP Generative AI Hub 分发;Prior Labs 已被 SAP 收购,收购的“首要动机是 DeepMind”:资助开放研究部门,并从11,000多名申请者中招聘人才,最终录用45人。
  • 定位上的核心结论是:表格数据是“企业中最常见的数据模态”,却也是最不光鲜的一类;Hutter 预计,未来几年表格基础模型会“被广泛使用,而且经常在你不知情的情况下运行”。 它们将隐身于代理框架中(Claude 和 Gemini 的 MCP 集成已经存在),而关系数据库、时间序列和表格中的文本将成为下一批需要写入先验的对象。
摘要 · 为研究而整理的核心内容

1. 深度学习攻克表格前的10年失败史——上下文学习如何打开闸门

  • Hutter 对表格数据长期抵抗深度学习的诊断是:此前已有“数不清的尝试”——Google 2019 年的 TabNet 曾“被大肆宣传,引用量上千……但就是不行,无法泛化到新数据集”。表格数据高度异质:既有离群值,也有类别、二元和序数值,还有“随机缺失、非随机缺失”;而标准深度学习会把所有变量一视同仁,不像图像那样具有规整的空间关系。
  • 结构性难题在于:可以训练一个覆盖整个视觉世界的 ImageNet,但医疗表和保险表在行级别几乎没有共同点。迁移发生在更高一层——“识别模式、识别不同特征如何交互……甚至可能识别因果关系。通过上下文学习,正是在这一层面跨不同数据集迁移。”
  • Tim Scarfe 用“惨痛经验”回顾 TabPFN 之前的数据科学:标准化、编码、插补、特征工程——“虽然你确实能做出一个机器学习模型,但做完总觉得哪里不太干净”。Hutter 的设想则是,新一代数据科学家“真的不再需要完全理解 XGBoost”;工作重心转向数据漂移、公平性、因果关系和隐私,让他们“把更多高质量的人力投入问题本身,而不是摆弄超参数”。

2. 互联网上没有现成语料——因此整个基础模型完全建立在合成数据上

  • 核心约束是:“人类喜欢把文字放到网上……但人们不会把自己的表格数据集放到网上。”可能存在的可用数据集只有50,000个左右;网上数以百万计的表格,很多只是“这个篮球运动员背号是多少”之类的内容,无法合理地用来学习统计学习算法。
  • 解决方案让 TabPFN 成为“第一个真正达到业界领先水平、却完全用合成数据训练的基础模型”:训练样本来自包含大量结构因果信息的先验,近似于“所有可能解释这些数据的结构因果模型的贝叶斯后验”。
  • 这套方案的商业收益不亚于科学收益:“我们没有数据泄漏,也没有记忆问题……也无需担心偏差,因为我们有一套从零开始生成合成数据的编码化流程。”先验开发是迭代式的:留出真实数据集,找出离群值、无信息特征、类别变量等失败模式,把这些复杂性加入生成器,再重新训练。“如果你的先验有限……后验也会受限。”

3. Hutter 的技术谱系:SAT 求解器→Auto-WEKA→神经架构搜索

  • 他职业生涯的主线,是把设计决策自动化。博士阶段师从 Holger Hoos、Kevin Leyton-Brown 和 Kevin Murphy;Murphy “可能是最不相信自动算法配置的人”,直到后来对神经架构搜索产生兴趣。研究最初从需要数百个类别决策的 SAT 求解器开始,随后进入机器学习调优机器学习超参数,再发展到分层模型选择空间。
  • Auto-WEKA 是“一只骑在 Weka 鸟上的小机器人”,目标用户是生命科学领域的非专家;否则他们往往会因为朋友说 SVM 不错,就直接使用“默认超参数的 SVM”。其创立原则是:“把业界领先的机器学习民主化,让所有人都能使用,包括没有机器学习博士学位的人。”
  • 神经架构搜索把同一套机制扩展到模型架构,围绕准确率、延迟和内存进行硬件感知的多目标优化。但 Hutter 承认,实证研究很难推进:这些算法“运行起来非常复杂”,成本也很高。

4. TabPFN 是 AutoML 的汇合点:端到端学习完整算法,再通过一次前向传播执行

  • 时间节点颇具象征性:TabPFN v1 论文发表于2022年11月 ChatGPT 发布前一周。Hutter 的定位是:“TabPFN 正是 AutoML 的自然演进:我们学习一个完整算法,再通过一次前向传播执行;根据输入数据集不同,它会学习出不同的分类器。”甚至可以将它导出为 ONNX,部署到传感器上——芯片运行的不是一个分类器,而是一套机器学习算法。
  • 与人工设计的 XGBoost 不同,元训练损失就是最终目标:在数亿个合成数据集的未见测试部分上计算交叉熵——“这不是在偷看测试集……在元训练阶段,你已经学会真正解决这个问题。”声明式设计正是关键:只需规定模型应在哪些数据集上表现良好,“剩下的交给深度学习发挥魔法”。
  • 其他 AutoML 机制并未消失,而是迁移到了预训练阶段;到了测试时,“数据科学家终于得到了他们一直想要的东西,也就是一个极快、开箱即用的方法”。与思维链的自回归展开不同,“你实际上只需要预测那一个 token,仅此而已”;测试预测在设计上彼此独立。

5. 贝叶斯机制:跳过函数后验,直接元学习后验预测分布

  • Hutter 最清晰的技术解释是:MCMC“就是太慢”,变分推断则有“复杂的数学”,而且近似结果并不总是可靠。TabPFN 完全跳过函数或参数的后验,直接近似后验预测分布——从先验中采样函数,再从每个函数中采样训练点和测试点,用数百万个样本学习如何根据训练点预测测试集 Y。
  • 这种对应关系由先验决定:只有线性模型的先验会得到贝叶斯线性回归;GP 先验会得到 GP 后验或其近似;SCM 先验则对应“所有可能导致这些数据的结构因果模型的积分”。这个空间实际上是无限的,但“我们的网络太小,不可能把它记住,因此它真正学会的是在整个空间中泛化”。
  • 关键有两项:“你必须能够从先验中采样,也必须能够以监督学习方式拟合强大的神经网络。”其余部分基本都受益于 LLM 的进步——“架构变得更好,优化器变得更好,我们的方法也会直接变得更好。”Hutter 提到,AdamW 和余弦学习率调度如今被用于训练“几乎世界上每一个 transformer”。

6. 扩展阶梯——以及为什么 LLM 在大表上会“彻底栽跟头”

  • 行数演进路线是:TabPFN1 可处理约1,000个数据点;v2处理10,000个;v2.5处理100,000个;v3处理1,000,000个。“我们正以每年2个数量级的速度推进”,下一个目标是10,000,000个数据点,“我们相当有信心”。
  • 为什么不直接使用 LLM:100万行乘以1000列就是10亿个元素,每个元素需要3至4个 token——“你的上下文里会有30亿、40亿个 token,LLM 不会喜欢这种规模”。更大的问题是,序列模型缺乏相关不变性:“调换两行,或者调换两列,仍然是同一个数据集。”对于纯统计推理而言,它们用于存储世界知识的参数也没有必要。只有5行数据且列名明确时,世界知识可能有帮助;“如果你有100万行,真正想学的是这些数字的统计规律。”
  • Kaggle 过去主要不是验证 TabPFN 的场地,因为直到最近,能落在 TabPFN 可处理规模区间内的比赛仍然很少;同时,早期先验也缺少 Kaggle 数据中的复杂性,包括非 IID 分组数据、时间数据和表格中的文本。如今这些因素已经被纳入 Beyond TabArena 基准,“这正是我们目前优化方向的信号”。

7. 编程代理是接口,TabPFN 是引擎

  • Scarfe 的反驳值得保留:把一千行数据直接喂给裸 LLM 是个稻草人,因为 Claude Code 会写 Python、理解领域语义,还能搭建根据预测错误自动修正的自适应流程。Hutter 的回答是分工合作:代理“擅长特征工程,擅长探索性数据分析,也擅长充当用户界面……但最终它们还是需要调用模型,可以调用 XGBoost,只是效果不会比表格基础模型好”。
  • 这种互补关系早有先例:ChatGPT 发布后,Hutter 的团队把 TabPFN 接入代理式数据科学流程,并撰写了在 TabPFN 之上实现自动特征工程的 CAFE 论文。BMI 的例子是:如果身高和体重是两列,而肥胖与结果相关,就让代理直接计算 BMI,而不是让第一层模型自己学出来。代理还可以抓取外部特征——“某一天是这个国家的节假日,所以需求会更高”。
  • 目前已经可以通过 MCP 集成 Claude 和 Gemini。Hutter 的一位朋友让 Claude 构建历史比赛数据集,再用 TabPFN 预测每一场世界杯比赛,“靠这个结果,他们真的赢下了公司里的蛋糕赌局”。在 Databricks 演示中,代理“甚至不会告诉用户它在使用 TabPFN。为什么要告诉?”Hutter 预计,未来两年表格基础模型会“被广泛使用,而且经常在你不知情的情况下运行”。

8. 架构演进:从去位置化 transformer 到行列注意力,复杂度仍是二次方

  • V1 是没有位置嵌入的 transformer——注意力机制本身已经与顺序无关——每一行使用朴素的线性编码器。它只能处理连续特征,因此如果把类别值编码为1、2、3、4,模型就会把它们当成数值处理。
  • V2 引入逐单元嵌入,并交替在行和列上做注意力,让网络能够推断:“原来,这一列的数字是1、2、3、4,可能是类别变量。”
  • 代价是,V2 的复杂度变为 N²·M + N·M²,而 V1 仅在行维度上呈二次复杂度。V2 可处理10K行;v2.5借助更强的 GPU 扩展到100K行。V3 采用 TabICL 架构,用更复杂的列-行 transformer 处理嵌入,并改进输出头和多类别处理。次二次注意力已经进入路线图;表格领域对应语言局部性的先验,“可能是嵌入空间中的某种局部性”。
  • 回归任务被转化为约10,000个自适应区间上的分类问题,因为博士生 Samuel Müller 的实验显示,这种方式优于均值-方差输出头——transformer 天生更适合分类。收益是经过校准的多峰预测:鸟飞向一根杆子时“要么向左转,要么向右转……中间几乎没有概率质量”,而这一切都能在一次前向传播中完成。

9. 表格的测试时计算:选项丰富,但不包括传导式推理

  • 尽管 Scarfe 受到 ARC Prize 启发而对传导式推理兴致很高,Hutter 仍倾向于放弃它。他希望保留这样一种接口:一个测试点的预测不依赖其他测试点,“因为数据科学家根本不会拥有这种条件……如果你把同一个数据点放进不同批次,得到不同结果,会非常奇怪”。半监督学习仍然可以保留。
  • 他认可的选项包括:对容易预测的点提前退出;在合成生成的相似数据集上微调,一名硕士生已经证明这对极小数据集有帮助;基于梯度的提示调优——选择甚至“幻觉生成10万个数据点,让它们更好地近似这10亿个数据点”;以及在不同先验训练的网络之间通过前向传播进行模型选择。“能做的事情太多了,我认为上限非常高。”
  • 可解释性方面,一个亮点是:前博士生 Robin Schirrmeister 把一个1,000点的医疗数据集压缩为2个提示数据点,同时保持相同预测性能,形成即时原型。梯度还可以用于特征重要性和数据点影响分析,也能识别对抗攻击或有影响力的离群点:“这是一个完全支配我模型的数据点——不包括它,再训练一次怎么样?”普通 XGBoost 无法以这种形式提供这些能力。

10. TabArena:用 Elo 衡量表格模型,靠极致维护实现2美元复现

  • TabArena 起初是一个多机构合作项目,由当时在 AWS、同时也是 AutoGluon 构建者的 Nick Erickson 主导;AutoGluon 被称为“当时最好的表格数据 AutoML 系统”。Erickson 和几位合作者后来加入 Prior Labs。与 LM Arena 不同,TabArena 不需要人工评审:真实训练集和测试集划分提供客观标准,再叠加 Elo 赛事。
  • 关键在于数据卫生:这是一个持续更新的基准,所有产物和每个划分的预测都公开,并经过独立复现;“在 GPU 上运行自己的基准,成本大约只有2美元”。在 Beyond TabArena 中,样本少于100个的数据集,以及只是表面上像表格的数据集都会被剔除。MNIST-as-columns 被排除,是因为“你应该直接使用视觉分类器”,表格数据不应携带空间邻居模式。
  • 对于 Scarfe 关于数据泄漏的担忧——生成合成训练数据会不会污染基准?Hutter 的回答很直接:基准来自真实社区数据集,从数千个数据集中筛选而来,每个纳入决定都有记录;用于训练的合成数据不会被放入基准。

11. Google 的 TabFM:“模仿是最真诚的奉承”——护城河在速度与规模区间

  • 录制前约3周,Google 发布 TabFM,采用同一架构家族和相似类型的先验,并借助 Google 算力将规模扩大约30x。Hutter 的坦诚判断是:“它更强并不奇怪”,但“可能一开始就做得太大了”——其单次前向传播约比 TabPFN 慢15x;即便是 Prior 的思考模式测试时计算——比标准模型慢10x——也仍然比一次 TabFM 前向传播更快,同时 Elo 更高。
  • 规模区间的不对称定义了竞争格局:TabFM 在极小和小型数据集上更强;在中等规模、最多100K个数据点时基本打平;但在 Beyond TabArena 中超过约100K行的数据集上“直接因为内存不足而崩溃”。Prior 此前已将重点转向可扩展至1,000,000个数据点的 TALENT 基准,以及非 IID 数据复杂性。Hutter 承认,“这是一个很好的提醒,我们也应该多关注一些” TabArena,但不愿“过度围绕它优化”。
  • 除了算力,Prior 声称的护城河还在先验工程:通过迭代、原则化的流程编码真实世界数据可能如何生成,再逐一测试失败模式。

12. 因果关系是远大目标:从观测数据预测干预结果

  • 教学案例是这样的:患病患者会接受药物治疗,剂量又随病情严重程度增加。预测模型可能得出“药物→疾病”的结论——“你可能会想,既然如此,那就停止给药,他们就不会患病了;但这种想法显然很荒谬。”Pearl 的 do-operator 与观测之间的区别,正是问题核心;但在实践中,“你经常根本不知道因果图是什么”。
  • PFN 的做法是:在元训练阶段采样一张因果图,观测其中的变量,再对同一个采样系统施加干预并观察结果;模型在数亿张因果图上学习:“如果我看到这些类型的观测,并实施这种干预,就会得到这样的结果。”对于不可识别性,模型会诚实处理:如果 A→B 和 B→A 的可能性相同、预测结果又不同,输出就会呈现50/50的双峰分布,中间概率质量为零。这就是 Do-PFN,由 Hutter 与导师 Bernhard Schölkopf 共同开发;Hutter 称 Schölkopf 是因果机器学习领域被引用次数最多的科学家。来自 Layer6 和多伦多大学的 CausalFM 论文第一作者“就在上周”加入了 Prior。
  • 论文已经显示,因果基础模型可以接近 RCT 水平的表现,同时减少所需的 RCT 数据点数量——“这会彻底改变医学和 A/B 测试……让药物更早进入市场,同时保持相同甚至更高的置信度”。Hutter 随即补充限定:“我们需要把这件事做得严谨,并建立在理论基础上……这是高风险领域。”一篇 ICML 后续论文允许领域科学家固定已知边,例如 A 导致 B,并据此收窄后验;概率结构提取和根因分析则“是我们正在研究的方向——目前的模型还做不到”。
  • 对于能力边界,Hutter 怀疑 LLM 能否仅凭数据发现观测特征之间正确的因果关系。LLM 会压缩知识并“形成引理”,但“我不认为它们会从数据中得出特征之间真正正确的因果关系……因果关系就在数字和统计规律里,而这正是 LLM 不擅长的地方。我也不认为它们近期会在这方面变强”。真正的挑战,是把世界知识与数据本身揭示的规律结合起来。

13. 企业落地路径与商业模式:许可、API 与代理式 token 经济

  • 表格数据是“企业中最常见的数据模态”,但新用户往往“拿 LLM 去处理表格数据,然后看着它彻底栽跟头”。Hutter 的治理建议与 LLM 实践类似:集中管理,由一个团队负责微调、失败模式,以及“在拥有10亿个数据点时,什么时候需要检查 XGBoost 是否仍然更好”。
  • 收入来源包括:免费非商业开源使用、生产许可费、思考模式和扩展模式、小数据专用模型、微调即服务(可以由客户自行运行,也可以由 Prior 运行)、托管 API,以及私有 VPC。托管 API 的价值在于通过批处理让 GPU 保持繁忙;如果客户预留一块 GPU,“那块 GPU 可能一直闲置”。产品还将通过 Azure、AWS 和 SAP Generative AI Hub 提供。
  • 未来的核心押注是代理驱动的使用方式:“LLM 会调用计算器,因为它们更擅长数学;同理,它们也应该调用表格基础模型,因为后者更好、更便宜。”Scarfe 判断,任何 Anthropic 用户听到这段话后的第一步,都会是修改系统提示词,把表格任务路由给 TabPFN。Hutter 的回应是:“没错,就应该这么做。我们已经准备好了 skills 文件和一切配套。”
  • 关系型数据是由开源社区“免费带进来”的:有一种嵌入可以把关系数据库查询展平成一张表;在原始 RelBench 上,TabPFN 3 开箱即用就击败了 KumoRFM,改进版基准即将发布。Hutter 确认,多表、图和树先验原则上都可实现:“这显然就是构建先验的核心方向……上限非常高。我认为这些事情一定都会发生。”

14. SAP 收购、以 DeepMind 为样板的开放研究部门,以及3.5的胜利巡礼

  • Hutter 透露:“我们刚刚被 SAP 收购,现在有大量资金可用……收购的首要动机是 DeepMind。”目标是打造全球最适合工作的地方,“持续发表大量研究”,并建立完全开放的研究部门,与弗赖堡、多伦多/Layer6、新加坡以及蒂宾根的 ELLIS Institute 等大学和研究机构合作。招聘数据也说明竞争激烈:申请者超过11,000人,最终录用45人;招聘信息见 priorlabs.ai/careers,定位是来自弗赖堡的欧洲前沿 AI。
  • 录制后的更新为本期论题落下实锤:TabPFN 3.5“在7项不同的表格相关基准中拿下第一”,覆盖含文本表格、多模态数据和关系型数据的任务;它在帕累托意义上压过其他表格基础模型,“在质量相同的情况下,单次前向传播速度是 TabFM 的20倍;或者在仍然更快的情况下,Elo 高出100多分”。最大提升来自 Beyond TabArena 的真实复杂性数据。
  • Hutter 讲述的压轴案例是:Nick Erickson 参加了2015年的历史 AutoML Challenge Kaggle 竞赛,面对3,500名参赛者和10,000美元奖金,最终获胜方案是一个包含36个模型、配合手工特征的堆叠集成;此前 AutoGluon 已经能在96个 CPU 上用24小时进入前1%。而使用 TabPFN 3.5,“只用一行代码、1分钟计算”,在单张 RTX PRO 6000 C GPU 上就拿到了第一名。Scarfe 的结语是,他已经把它用作 Discord 垃圾信息过滤器——“需要一台相当强的机器”,但非商业使用免费。
完整逐字稿
Tim Scarfe

Deep learning did not work for tabular data, and now it works dramatically better than CatBoost and XGBoost.

Frank Hutter

TabPFN is really the natural progression of AutoML, where we learn an entire algorithm that is executed in a forward pass. With 1 million rows and 1,000 columns, if you were to throw this into an LLM, you would have 1 billion elements. You need to tokenize each of these numbers, so that would maybe be 3–4 tokens each. You would have 3–4 billion tokens in your context, and LLMs would not be very happy there.

You’re getting some observational data, and you want to predict, “If I change this variable here, what will happen?” If I give this patient this medicine, what will happen?

Tim Scarfe

Frank, it’s amazing to have you here. Welcome to MLST.

Frank Hutter

Thank you for having me. It’s great to be on the show. Two years ago, people asked me, “Hey, is there a possibility that you might be on MLST at some point?” I was like, “Maybe at some point.” It’s super exciting to be here now.

My name is Frank. I was a machine learning professor for the last 12 years before starting Prior Labs as CEO, and now I’m co-CEO of research. I’m very excited about that. I focus a lot on AutoML, or automated machine learning. I started the workshop series on AutoML and ran that for 8 years. We transitioned that to a conference on AutoML. I co-wrote the first book on AutoML and did the first MOOC on AutoML. I did a lot in that space, but then also moved over to deep learning.

I worked a lot on the optimization of deep learning, so AdamW and cosine learning-rate scheduling are from Ilya Loshchilov and myself. Those are being used for training essentially every transformer in the world. Then we put the two together and did deep learning for tabular data. That didn’t use to work, and with TabPFN, we actually made it work. We’re scaling this up, building foundation models, and are really excited to revolutionize this world.

Tim Scarfe

I think one thing that people might not appreciate is that tabular data is absolutely everywhere. Speaking from bitter experience, it’s a nightmare to work with tabular data. Anyone who’s built a machine learning model with tabular data—you’ve got Pandas and Scikit-learn, which have some stuff in there, but you still have to deal with missing values. What do you do with the categorical features? How do you do feature engineering? How do you do transformations that reflect the semantics of the problem?

You really need to know what you’re doing, and it feels kludgy. Even though you can make an ML model, you always feel dirty afterward because you feel like you’ve taken all of these shortcuts and corrupted it in some way. Tell me about that.

Frank Hutter

Fully agreed. Tabular data is very dirty, and I think that’s one of the reasons deep learning took so long to actually do well on it. There have been countless attempts at deep learning for tabular data. In 2019, TabNet by Google was really hyped—thousands of citations—as the new thing for tabular data, but it just doesn’t work. It doesn’t generalize to new datasets.

You have heterogeneous data, outliers, missing values, categorical values, binary values, ordinal values, missing data, data missing at random, and data missing not at random. There are all kinds of data complexities, and you need to take that into account. The standard deep-learning approach treated everything as the same.

An image is the same in terms of having pixels, and you typically have very similar spatial relationships between the pixels. You can take images—for example, ImageNet, which covers all kinds of different images in the world—and learn on that one dataset. But what you need for tabular data is a whole lot of different tables. If you have one table from medicine and another table from insurance, there’s nothing you can learn in terms of the individual rows. One table can’t tell you anything about the other one.

What you can do, and where you can transfer knowledge, is at the level of these patterns: detecting patterns, how the different features interact, and so on. You can potentially detect causality. At that level, using in-context learning, you can actually transfer across different datasets. That’s why, with in-context learning, we finally saw this breakthrough for tabular data.

Tim Scarfe

I’m having nightmares thinking back to doing stuff like this. Traditional machine-learning algorithms wanted the data in a Euclidean space within a certain range, so you might have to normalize or standardize it. Some of the algorithms, such as SVMs, might not work very well if the ranges of the different fields were different. It was an absolute nightmare.

Can you explain this a bit more? Before, the job of the data scientist might involve doing a whole bunch of cross-scatter plots, feature analysis, and so on. You would convert the data into this beautiful, convex Euclidean space. Now we have this system using a transformer, and I guess the architecture vaguely resembles Deep Sets, so it can actually intrinsically understand discrete data. This is very new. Why are we in a different world now from where we were before?

Frank Hutter

It can understand discrete data, and it also has architectures that work on individual columns, as well as different types of preprocessing in the network. The network looks at the statistics of a column and makes sure that you have the right embedding for that column. That’s all embedded now, so you don’t really need to do this yourself anymore.

Dealing with missing values, outliers, and so on used to involve a lot of preprocessing steps. Not having to deal with that is, of course, very nice and makes you so much faster. That’s one of the things we wanted to achieve with tabular foundation models: helping data scientists do their work so much faster.

I think that, in this day and age, new data scientists really don’t need to understand everything about XGBoost anymore—its various hyperparameters and what changes when you change them. The job really changes. It’s all about thinking about the right framing of the problem. Where does the data come from? Is there going to be data shift? Is there data drift? Are there problems with fairness, causality, or privacy?

When I deploy this model, what’s going to happen? How is this going to affect how the data is being collected? That’s a completely different ballgame, and there are very exciting questions there that people currently have no time to consider. Being able to spend more time—more human-quality time—on a problem rather than fiddling with hyperparameters is going to make being a data scientist a much more fulfilling job in the future.

Tim Scarfe

I suppose another reason tabular data hasn’t been very sexy is that a lot of data scientists love what the deep-learning revolution brought: this notion of scale. You can go out on the internet. Even if I’m working in a bank and doing document recognition, my headspace is very much, “Let’s gather up all of the documents. Let’s see if there are other documents on the internet. Let’s build a dataset.”

There’s this notion that I can just scale, add more data, and it’s going to work better. Whereas the mindset with tabular data is very much a lack of imagination. People are thinking only in terms of the particular dataset they have, rather than how they can enrich it with other datasets or use a tabular foundation model.

Frank Hutter

Absolutely. Humans like to put their text online.

They like to put their images online and their videos online. It's very easy to make a viral tweet with a generative video model, et cetera. But people do not put their tabular datasets online, right? This is just not very glamorous, and it's also kind of abstract sometimes to think about tabular data.

But when it comes to our health, our science, and our financial system, it becomes very concrete, and it's very clear that this is a really important problem that needs to be solved. Having these tabular foundation models that are pretrained on synthetic data was the lever that actually allowed us to capture this.

This was necessary. We couldn't just take a corpus of tabular data that someone had prepared for us. We needed to generate our synthetic data because there is no tabular data—there is some tabular data, but maybe 50,000 datasets that are there. On the web, there are millions of datasets, millions of tables, but they are tables like those on Wikipedia: “This basketball player has this number on their back.” It's not a dataset that you can reasonably learn a statistical learning algorithm from. Those types of datasets just haven't been there, and we needed to generate them in order to learn from them.

Tim Scarfe

And just to hammer that home, there has been an ImageNet moment for tabular data, right? Until the day before yesterday, figuratively speaking, deep learning did not work for tabular data, and now it works dramatically better than CatBoost and XGBoost.

Frank Hutter

TabPFN is the first algorithm that's actually been learned from data to be better at what it's supposed to do. We've pretrained it on hundreds of millions of datasets to be as good as it can possibly be on the test set, and that is not peeking at the test set. That's not what a lot of people do when they're overfitting or something.

You don't get to look at the test set at test time, but at meta-training time, over hundreds of millions of datasets, you have learned to really solve this problem. We're feeding the entire dataset in context to the transformer, and the transformer can attend to the right parts of the dataset in order to figure out what the patterns are in this dataset and which patterns it should then also apply to the test data in order to predict well.

Tim Scarfe

And an important detail is that these guys have synthetically generated a whole bunch of the training data, and this overcomes the overfitting problem to some extent, maybe not entirely. You can explain that. But you synthesize data, and then you build this foundation model.

Frank Hutter

Absolutely. There are a lot of strong theoretical foundations behind this. We're approximating the Bayesian posterior over any type of prior that we can sample from, and the prior that we chose has a lot of causality in it. We're basically building the Bayesian posterior of all kinds of structural causal models that could explain the data.

In contrast to LLMs and vision models, we have trained on synthetic data. We had to train on synthetic data because there isn't a whole lot of tabular data on the internet. Rather, we're the first foundation model that's actually state-of-the-art yet entirely trained on synthetic data.

This is great because we don't have any leakage or memorization issues, et cetera. We can directly control exactly what's in the data. We don't have to worry about biases because we have a codified pipeline for generating the synthetic data from scratch.

Tim Scarfe

You guys run this website. Many folks at home have seen LM Arena. That's using an algorithm related to the Elo algorithm in chess. In chess, you play against other people, and depending on the information gain from the result, you get a rank for every single player. It kind of converges over time, depending on the parameters.

LM Arena did that with language generation, and humans could rate whether one result was better than another. You've got this thing called TabArena. You actually run the site yourself.

Frank Hutter

TabArena started as a collaboration between a whole lot of different people in the tabular community. The first author is Nick Erickson, who at the time was at AWS. He built AutoGluon there, which was the best AutoML system for tabular data there was until now, when you combine it with tabular foundation models and it gets much better.

There were also a bunch of other people with, I think, 5 or 6 different affiliations. By now, Nick has joined our team, and several other authors have also joined our team because they all want to push tabular predictions to the max.

TabArena is very open. We include any type of new model. It's a living benchmark, so when we see issues in any of the datasets, or people say, “Why is this dataset not in there?” we update it. Or if someone says, “This is a new dataset. Let's update this in order to get less overfitting of the community to this dataset,” then we update it.

If you would like to get involved, by all means. We're continuously building new benchmarks. We have a benchmark that's now Beyond TabArena, which goes beyond TabArena. We're building a benchmark for relational data and for feature selection. All of these efforts are entirely open source, and we invite collaborations with anyone.

Tim Scarfe

Is it conceptually similar to LM Arena? There are a whole bunch of different categories, and you sample a comparison, then a diverse population of humans rates one as being better. Is it a similar kind of thing?

Frank Hutter

In TabArena, you don't need to have that step where humans rate the results. You just have a training set and a test set. What is similar is that you compute Elo scores. You have these tournaments, and you can say, “Look, if the Elo score is 100 points higher, then the probability that this algorithm wins against another algorithm on one of the dataset samples is this high.” That is one similarity to LM Arena.

But it's basically an entirely open platform that publishes all the artifacts and all of the per-split predictions of all the algorithms being compared. It has been reproduced by people in the open-source community. That makes it much easier for anyone to benchmark the algorithms properly, and running your own benchmark costs something like $2 on a GPU. This is totally accessible to anyone.

Tim Scarfe

That makes a lot of sense because with language models, it's not objective. Humans need to compare them because we can't design an objective function. That's a problem as well, because humans love it when Star Trek is mentioned, and they love GPT slop, and all sorts of weird things are going on there.

In this case, you have an objective criterion and you can run the thing. Just one final thing, though: the great thing about TabPFN is that you can synthesize data, and what we don't want in benchmarks—I mean, it happens grotesquely with normal benchmarks, because sometimes you're just training on the benchmark—is there an inadvertent form of leakage here where you're continuing to generate more data and you can kind of see what's going on in the benchmark? Is there a tendency to inadvertently leak some data?

Frank Hutter

It is not the case that we synthesize data and then that data goes onto the benchmarks. The benchmarks are all real datasets that come from the community. We curate them from thousands of different possible datasets, then we drop them for various reasons, and every step is exactly documented.

For example, for Beyond TabArena, we dropped everything with fewer than 100 samples. We could have included those, but with fewer than 100 samples, maybe you don't have as much signal anymore, et cetera. We also drop duplicates.

For example, you could see MNIST as a tabular dataset by taking every pixel as a number. But we drop those datasets because we only want datasets where you would actually use a tabular machine-learning algorithm and where that would make sense, in order not to get distracted by datasets that look tabular but where you should really use a vision classifier, as with MNIST.

There are spatial patterns and spatial similarity between neighboring pixels that you want to exploit. If you cast this as a tabular dataset, you sort of pretend that you have that type of data in tabular data, and you typically don't want to have those patterns in tabular data.

We drop datasets for various reasons that are very well described. Again, all of these papers are open-source collaborations, so we're happy about really anyone who wants to put in the effort to curate these datasets. This is terrible work, much easier now with agents.

Still, it's hard to define correctly what the inclusion characteristics should be. We run these experiments, keep the website up to date, and look at all kinds of Pareto curves: how good is the predictive performance, and how good—or how fast—is it in terms of training, inference latency, et cetera? We also look at all kinds of statistics of the competing methods.

Tim Scarfe

And apparently, you did your PhD under the legendary Kevin Murphy.

Frank Hutter

Yeah, indeed. Actually, I had 3 supervisors: Holger Hoos, Kevin Leyton-Brown, and Kevin Murphy. Kevin Murphy was maybe the least believer in automated algorithm configuration, but he was still excited about some of the things we could do. In the end, when he went to Google, he became excited about neural architecture search.

Tim Scarfe

Yeah.

Frank Hutter

So then we actually collaborated more than before.

Tim Scarfe

You've got a really interesting background because I remember when I was a data scientist, about 10 years ago, there were lots of discussions about things like AutoML and neural architecture search. In fact, you were one of the people behind that NAS paper. I remember reading about that at the time, years and years ago. Sketch out that history.

Frank Hutter

Yeah, AutoML goes really way back to my PhD. My PhD was in automated algorithm configuration, which was all about making all of the nitty-gritty decisions in designing algorithms more automated. It came from SAT solvers, where you needed to make hundreds of different decisions in categorical spaces, and this was really annoying.

In my master's, I wrote a local search algorithm for one particular problem and worked on different types of problems. You always needed to make all these decisions, so I started automating that with local search to find better parameters for my own local search algorithm. Then I got exposed much more to machine learning and used machine learning to find better parameters for my SAT algorithms. After that, I moved more toward using machine learning to find better hyperparameters for machine learning algorithms.

That led to model selection, choosing one of different types of algorithms. Each different algorithm would have a lot of hyperparameters of its own, and then you have these hierarchical, really complex spaces. You want to do optimization in that space efficiently, but you also want to generalize to different parts of the distribution. You don't want to be stuck and over-tuned to one particular type of problem distribution, but really generalize to all kinds of problems you're going to see afterward.

Then there was this other design space of neural architectures, to which the same types of approaches really applied directly. It's very categorical and very structured, with all kinds of hierarchical decisions. We pioneered Bayesian optimization for that. We also definitely saw a lot of issues in neural architecture search in terms of how to benchmark different algorithms and so on. It's very complex and costly to run these algorithms, which makes it very hard to do good empirical science.

Tim Scarfe

Exactly. I remember when I was doing my PhD all those years ago, I was using something called Weka. You could try, “Let's use a support vector machine. Let's use a Bayesian network. Let's use kernel ridge regression.” It was a wonderful toolbox where you could say, “I've got a prediction problem,” and you had a bunch of data, signals, and labels. You could prototype all these different approaches and do cross-validation.

In the olden days, machine learning was mostly manual, and there was some hyperparameter optimization and so on. But I think this AutoML thing was hinting at this structural component. Wouldn't it be better if we could search the space of machine learning model structures with respect to the particular problem?

Frank Hutter

Yeah, absolutely. I love that you mentioned Weka because that was the first base library of classifiers that we were working with. We did this Auto-WEKA. Remember Weka? The image for this was a Weka bird, so we had a little robot riding a Weka bird to be Auto-WEKA.

Yeah, you described it. All kinds of people use this, often people from the sciences, life sciences, and biology who are not machine learning experts. There's all this stuff in Weka: dozens of different classifiers, dozens of preprocessors, and all kinds of different hyperparameters for them. What would people use? I don't know—an SVM with default hyperparameters because their friend told them that would be good. That's just not how you get the best performance.

You really want to automate this in order to have better approaches for the masses. That was the leading principle behind AutoML: to democratize state-of-the-art machine learning for everyone, including those without a PhD in machine learning.

Tim Scarfe

I suppose the problem with Weka was that I was always so excited about neural networks, but in Weka, the neural network model was incredibly slow, and it was always worse than using simpler models. I suppose then we had frameworks like Keras, for example, and we started experimenting with different types of activation functions. Maybe we could have a CNN layer here and an MLP there, and it's very composable.

You could almost just construct a neural network architecture and compose together frozen ones that you'd built previously, or fine-tune them. But again, we're back to this incredibly manual process. How did automated ML touch the neural network space?

Frank Hutter

Basically, as you describe, people were annoyed by having to do this manually and were thinking, “How can we actually automate this space? What should the design space look like? What are typically the right elements in the space? How wide should I make my network, and how deep should I make my network?” Those were the early design spaces.

Then convolutional neural networks came around, attention came around, and you had all kinds of different hybrid architectures. On top of that, for different chips, you had different latency and so on, so you had hardware awareness in there. Then you had the performance of the algorithm, such as accuracy, but you also had latency and memory consumption.

You had all these different objectives, so it became multi-objective. It was just a big playground for very exciting method development in order to search through these spaces.

Tim Scarfe

Amazing. I suppose there's that old story. As you were saying, in your PhD, you were specializing in SAT solvers, which is just: how can I search the space of possibilities? Something really big happened, I guess it was around the GPT model moment, where we had this concept of a foundation model.

Rather than data scientists trying to build low-level models and search the space of possibilities, what they increasingly were doing was using these foundation models that had been trained on loads and loads of data and working from that as a starting point. What was that transition like?

Frank Hutter

There was a really exciting transition. ChatGPT came out in November 2022, and a week before that, we published the TabPFN-1 paper, which was the first foundation model for tabular data. It completely turned tabular data on its head. You didn't need to do this model selection anymore; you would have one pretrained model that would use the entire dataset in context and learn across millions of different datasets how to make predictions for the test data in one forward pass.

One particularly exciting part of AutoML over 15 years was the story of meta-learning: learning the parameters of neural networks across different types of datasets in order to work well on unseen datasets. You can think bigger and think about learning entire algorithms that generalize to new types of datasets.

TabPFN is really this natural progression of AutoML, where we learn an entire algorithm that is executed in a forward pass. Depending on the dataset that you feed in, it learns a different classifier. It's not just one network that is one classifier, but a network that can learn different classifiers depending on the input.

You could take this network, write it out as ONNX, and put it on a sensor. Then you have a sensor that runs not just a classifier, but a machine learning algorithm that, depending on the inputs, will actually give you different classifiers as output.

And so you can see this as, for example, traditional algorithms like XGBoost. All of these algorithms are hand-derived, hand-coded, and so on. TabPFN is the first algorithm for tabular data that's actually fully learned end to end over a large set of different data sets that it's supposed to work well on.

We're trying to optimize a cross-entropy loss on the unseen test portion of each of these data sets. When you have a new data set, you of course don't see the test set. You can't peek at that. But at training time, that is the loss metric you actually want to optimize: you want to do well on this test portion.

We look at hundreds of millions of data sets and make sure that the algorithm works well on those, and then it will also generalize to new data sets. That is the beauty of AutoML for algorithm development. It lets you be really declarative. You can say, "For these types of data sets, you should work well."

For TabPFN 1, we had a fairly simple set of data sets. Then, over the years, we made this more and more complex. For example, with TabPFN 2, we put in missing values and outliers, and all kinds of other data complexities like that. Uninformative features were something that was broken before. Categorical features were something that didn't work well before. We put more and more of these complexities into the creation process for the data sets that we would train on.

The objective was to do well on data sets with these types of data complexities. Neural networks and deep learning just need to do their magic and actually optimize for that objective, and they can do that well by pure supervised learning. There's no magic there. Then out comes an algorithm that executes in a forward pass, and we don't have this long training loop anymore. We don't have the search over hyperparameters at test time, but we can just do a forward pass.

All of the other parts of AutoML are still there, but they're there in coming up with this algorithm. We can still do a search over the hyperparameters of the architecture of our neural network. We can search over our learning rates for the pretraining, and so on. But all of that falls away at test time, and data scientists get what they always wanted: a really fast method that works out of the box.

Tim Scarfe

Now, I've just got this model, and the next component is what you were talking about, this adaptive inference. So it's very, very similar to chain-of-thought adaptation in a normal transformer. You put a prompt in, and what it's actually doing is conditioning the transformer. It's doing some kind of computation that's specific to the input that you give it. So in your context, without actually training the thing from scratch, you can put some tabular data in there, and you're saying that, in a single forward pass, it is essentially creating a model that works specifically for your case.

Frank Hutter

Yeah, absolutely. This is literally a single forward pass. With chain-of-thought and LLMs, you're doing this autoregressively, so you produce one token at a time. But with tabular foundation models, it's literally the one token you need to predict, and that is it.

You have your training data, X train and Y train, the label, and then you have X test, which is the data point that you want to predict for, and you only want to predict Y test. If you have many X tests, then X test 2 shouldn't depend on what you predicted for X test 1. So there's this independence, and it's really just one token at a time. You don't roll out autoregressively.

That lets us directly optimize for the objective function that matters in the end.

Tim Scarfe

So you've spoken about how this is conceptually similar to Gaussian processes, and I suppose we should also contextualize that. In most machine learning models, even in current transformers, you can say that they're approximating some kind of Bayesian model, but they're approximating a maximum-likelihood point estimation. Whereas your model is actually approximating the full Gaussian process. It's actually approximating the uncertainty across all of the possible values. Why is it possible for your model to do that and other models don't? What's going on there?

Frank Hutter

What we approximate is directly the Bayesian posterior predictive distribution. What other types of Bayesian inference methods typically do first is get a posterior distribution over the functions.

Maybe to back up a little bit: you have a prior over functions, or equivalently, a prior over parameters. Then you observe some data, and you want to reason about the posterior over a function or the posterior over parameters that describe the function. For computing that posterior, you can use Markov chain Monte Carlo, or you can use variational inference, and both of them have their issues.

MCMC is just really slow, and variational inference involves complex math. The approximations sometimes don't work out perfectly, and it's also sometimes a bit slow. Once you have this posterior over functions or parameters, then typically, in order to get the posterior predictive distribution—the P of Y given X and the data—that is actually typically easy.

If you have a sample-based approximation of the posterior over functions, then that's basically just a sum over that sample-based approximation. The tricky part is that this is a posterior over the latents, over the parameters or the functions. We just entirely skip that step. We go directly to the Bayesian posterior predictive distribution, which is a one-dimensional distribution. It's just the P of Y. Y is a scalar for regression, or, for classification, it's the probability over the K classes. We can do that in a forward pass.

How do we do that in a forward pass? We sample from the prior. We sample functions from this prior over functions, and then we sample data points from each of these functions. If you think of Gaussian processes, we have a Gaussian process prior, and we can sample different functions from that. You have some kernel specifying the Gaussian process, so that's telling you something about how bumpy it is, and so on.

You sample functions from that, and then you sample data points from each of these functions and call some of them your training points and some of them your test points. You basically learn to predict the test points, or the Y value of the test points, from the training points.

If you can do that for millions of samples of this function, then you have actually learned to capture the structure of the prior in your network. The network has learned to approximate this posterior distribution over what the Y value should be at these missing test data points, and has learned that over these millions of samples from your prior.

Given a new data set, this is the first time you actually have a data set. Before that, it was really just samples from the prior. Then you have a real data set, and you can compute the Bayesian posterior predictive distribution for that in a forward pass, just like you computed it for each of your millions of training data points.

You basically meta-learned this posterior predictive distribution, or meta-learned to approximate the posterior predictive distribution for arbitrary data set inputs, purely through 2 things. You need to be able to sample from your prior, and you need to be able to fit strong neural networks in a supervised learning fashion.

Both of these are actually quite easy if you have a mechanistic prior that you can sample from. That's been our workhorse for improving our priors. Then, for the deep learning machinery, we just piggyback on what folks do in LLMs and transformers. Architectures get better, optimizers get better, and our methods also directly get better. Of course, we adapt the architectures to tabular data as well.

Tim Scarfe

Yeah. We can compute this posterior distribution. Traditionally, in Bayesian models, we integrate over all of the possible hypotheses, and it's possible in this space—because I want to try to distinguish how this is different from something like transformers.

What you've done here is train these models using synthetic data. You've come up with a whole bunch of priors about causal relationships in different types of structured data. You couldn't do this with language, for example. You could have a context-free grammar, and you could generate a bunch of language, but it would just be some weird, inscrutable language that we'd invented.

The really cool thing here is that you can say, "Okay, there are these principles that are common to tabular data, and I can represent those as priors. I can sample from them." In your predictive architecture as well, the output space might be discrete. It might be categorical, which means there are relatively few examples. Or, if it's a regression problem, you can discretize it to a tractable number of things.

So essentially, you can do this thing end to end in a way that wouldn't be possible with many other types of models.

Frank Hutter

Yeah.

That's absolutely true. If your prior is, for example, just—say it's really simple; there are only linear curves—you can sample from that. What will come out as a Bayesian posterior predictive distribution is actually Bayesian linear regression. If you sample from Gaussian process priors, what comes out is a Bayesian posterior predictive distribution, which is actually just the GP posterior, or an approximation thereof.

If you have a Bayesian neural network, or a neural network that you sample from, then out comes a Bayesian neural network prediction. Again, not a posterior over the neural network parameters itself, but a posterior predictive distribution. Take all the possible neural networks out there from your Bayesian neural network and integrate over them.

If our prior is the space of structural causal models, then our posterior is the integral over all possible structural causal models that could cause the data. For each of them, how likely is this SCM to cause this particular data? And what would the SCM actually predict for the test points? Then you integrate over all of them.

Of course, there is a huge number of them. It's probably countably infinite. But we only see a limited number of them, like hundreds of millions. Our network is so small that it can't possibly memorize that, so it actually learns to generalize across the space, even just from seeing a finite number.

Tim Scarfe

So I suppose the interesting thing is that you can scale this up and, at some scale, it will asymptotically converge on what the Gaussian process would have been. It's already reasonably close to that, based on the graphs that you've shown. This is incredibly exciting because what we haven't said yet is that you can think of this like the ImageNet moment for tabular data.

When you look at TabArena—was it around 25 or 26?—there was a step change. Focus on Kaggle: they're using XGBoost and CatBoost and—what was the other one?—LightGBM, is that right? Yeah. There was this absolutely massive step change.

A couple of things are going on. Now you can generate essentially as much training data as you want, and you can bake it into the model. I think the important concept is that it's doing a kind of amortized inference. Whereas before, when you were doing training and inference, you had to do a lot of work. Now you have a single forward pass, which means essentially you have a fixed amount of computation.

Frank Hutter

Exactly. We basically learn this network that's trained in order to do as well as possible over the types of datasets that we feed in as input. Historically, what we've done is generate relatively simple datasets with TabPFN 1—super simple—and TabPFN 2, which was a bit more complex, with outliers, et cetera. But even with TabPFN 3, they're still relatively simple IID datasets.

There is a relatively low number of data points compared to the billions of data points that are out in some datasets. With TabPFN 1, there were tens—what? One thousand data points. TabPFN 2 had 10,000 data points. TabPFN 2.5 had 100,000 data points. TabPFN 3 has 1 million data points.

We're getting there—about 2 orders of magnitude a year. But we're still not at 1 billion, and a lot of the datasets on Kaggle, for example, are so large that the tabular foundation models haven't caught up there when you use them in a forward pass.

You can have a harness around it, where we have scaling mode and thinking mode, et cetera, and you can add wrappers around this and use test-time compute in order to scale up. Then it could also work for the data complexities of Kaggle. But for now, it hasn't been used for that many Kaggle competitions because there aren't a whole lot of Kaggle competitions in this really small-data regime of around 10,000 data points that we could deal with using TabPFN 2.2. We can tackle 100,000 since last November, and we can tackle 1 million since about 2 months ago.

There just haven't been a whole lot of Kaggle competitions of that size. In general, there just aren't that many tabular competitions anyway, because language and vision, et cetera, have gotten a lot more attention. But tabular data is so important in the world that I definitely see a lot more focus on this type of modality now again, and that will also lead to more Kaggle competitions in the future.

We're focusing on ever more complex datasets in our prior generation—for example, non-IID group data, temporal data, text in our tables, et cetera. All of these are data complexities that you see everywhere on Kaggle and that were just nowhere in our benchmarks, nowhere in our data-generation processes. We're changing that.

It's in our benchmarks now. We have this Beyond TabArena that has all these data complexities in there. That shows that TabPFN 2.6 was not particularly good for some data complexities. TabPFN 3 helped on some of them, but it's still not quite there. That's a signal we're optimizing for right now.

Tim Scarfe

Yes. I think what—let's come back to the multimodality stuff later, because that's really interesting. A good mental frame for this is that, when you use a normal language model, there's a context, and you have this quadratic complexity, so things just slow down. If you're using Claude, for example, when you go up to 1 million, it's really struggling, and it's slowing down a little bit.

I think it's a similar thing here: the context is essentially the table that you put in. Is it around 100,000 rows now?

Frank Hutter

Yeah, so it's up to 1 million rows.

Tim Scarfe

Or 1 million rows, yeah.

Frank Hutter

Up to around 1 million rows times 1,000 columns. If you were to throw this into an LLM, you would have 1 billion elements, and you would need to tokenize each of these numbers. That would maybe be 3 or 4 tokens each, so you would have 3 or 4 billion tokens in your context, and LLMs wouldn't be very happy there.

They just don't work out of the box for this type of data. They're not made for tabular data. They would just need to read the table in some sort of sequence because they're sequence models. If they read 1 row at a time, then they don't understand that if you switch 2 rows, or switch 2 columns, it's the same dataset.

That's why they don't exploit these invariances. They have a whole lot of parameters that are super important in order to capture the semantics of the world and world knowledge, but that you don't actually need in order to capture the statistical reasoning that you need to serve this standard interface of XGBoost, et cetera, where you just have X_train, y_train, X_test, and want to predict y_test.

There, you don't even see column names, so you really don't need to know anything about semantics for this. If you do know semantics, then you can do more. If you have 5 rows or something like that, and you know, for example, that this is a churn dataset and you know exactly what the column names are, then world knowledge comes in, and LLMs would be great.

But if you have 1 million rows, you actually want to learn about the statistics of these numbers, and that's where LLMs really fall flat on their nose.

Tim Scarfe

Yes. I suppose we should contrast what the trade-off is here. I could train an XGBoost model, and it would be very expensive. But I suppose the good thing is that I can then do streaming, parallelizable, row-wise prediction, and I can go through the dataset.

The good thing about your system is that it's actually taking the entire table—the entire dataset—as an input, which means it's potentially learning global relationships, first- and second-order relationships, and table-wise invariances. It's modeling at a level of sophistication that is far away from XGBoost. The beauty of it is that, because it's a foundation model, it just does it automatically.

Frank Hutter

It has learned to do this in a forward pass. Since you mentioned that XGBoost can stream a lot of predictions in parallel, historically TabPFN was very slow at inference time because you always had this entire dataset that you passed into the forward pass. There wasn't really a difference between the training stage and the prediction stage.

Now, just like in LLMs, we have a KV cache, so there is a difference between training and test. At test time, all you need to attend to is this KV cache, and you don't need to attend to each of the training data points.

You also don't need to keep your data around because, also for privacy reasons, you don't want to feed all your data when you make a prediction. You just need to keep the weights that are stored in your KV cache. It's much faster now, and on GPU, it's getting close to XGBoost prediction times as well.

Tim Scarfe

We were contrasting this to something like AutoML before.

But you had quite a good slide, actually. I was reading your deck before I came here, and you correctly observed that if you fed, let’s say, 1,000 rows into a language model—a bare language model—it’s not going to do anything interesting, is it? It doesn’t understand the structure in the data. It’s not modeling those invariances.

But I’m just not sure that’s an entirely fair comparison, because now we live in the world of Claude Code and Codex. I could say to the agent, “Here’s a load of data,” and it would generate Python code. It would load it into a data table, and it would understand a lot of the semantics. It would understand what this meant, or that this is a risk thing, an insurance thing, or an accountancy thing.

It would be building all of these structured models, and I could tell it to crystallize a machine learning model. I could say, “Okay, well, there’s some text data here. Let’s use the MiniLM encoder and have an XGBoost head on it, or whatever.” The beauty of it is that it’s adaptive.

So next week, when there’s a prediction error, Claude will understand why the error happened, generate some synthetic data, put in some symbolic rules, and say, “Well, if the recall is less than this, then I’m going to escalate it to a Claude Haiku model,” or something like that. You see, now we’re in this world—it’s almost like the dream. A few years ago, wouldn’t it be amazing if we could have this? So how does it compare to some kind of adaptive architecture like that?

Frank Hutter

Yeah, I’m absolutely in agreement that LLMs are amazing for coding. Agents are great for feature engineering, exploratory data analysis, and as a user interface. They can actually let you double-check that all of the data is entered correctly and chat with you about where the data actually comes from.

For feature engineering, they’re amazing. I mentioned that TabPFN would be published about a week before ChatGPT, and when ChatGPT came out, we were so excited. The first thing we did was drop TabPFN in and actually do agentic data science with ChatGPT to do feature engineering on top of TabPFN.

You do need world knowledge for that feature engineering. A super-simple example is if you know the height and weight of a patient and want to predict something for which it would be helpful to know whether they’re obese, then of course you can compute body mass index. It’s just a simple computation.

You could do this computation, or you could have the network learn to do these types of computations early on, in the 1st layer, and so on. But if you can just do this outside with a coding agent, that’s so much easier. That was the first thing we did: write this CAFE paper that did automated data science with LLMs.

That’s the type of relationship I absolutely see. For data preparation, cleaning, and so on, LLMs are fantastic, and we’re using them left and right. But in the end, they need to call a model. They can call XGBoost, but it’s just not going to be as good as the tabular foundation models that are getting better by the day.

Tim Scarfe

I suppose we could have our cake and eat it, because what people can do now at home is tell Claude or Codex to go and grab TabPFN v3. For noncommercial use, it’s free. They could actually get the agent to use TabPFN.

Here it gets a little bit interesting, right? I think one of the great things about TabPFN is that our datasets and tables are legible. But what if Claude did weird stuff? Sometimes, to get better representational friction, you do weird, inscrutable feature engineering and whatnot. Maybe Claude does that. Maybe Claude takes 2 of our features and turns them into 100 features, and we end up with a spaghetti mess. Would that be a problem?

Frank Hutter

I don’t think it would be too much of a problem, because you would prompt Claude to tell you exactly what it’s doing and give you the code and the features. That’s actually quite similar to what a data scientist would do, right? They write some sort of feature-engineering pipeline, and that might get a little messy over time. But it’s simple code in the end of the day. It’s simple operations that you apply to your different features.

What Claude would also do, if it’s doing a good job, is access all kinds of feature stores online. If, for example, you have a dataset and one of the columns tells you about the country that the data point is from, and maybe it’s a shopping dataset, then you can say, “Well, in this country, this particular day is a holiday, so there’s going to be more demand because people have more time to go shopping online.”

That’s going to be a super-important feature that you can then generate: Is this a holiday in this country or not? That requires external information. You can’t just see this from the context, and Claude probably doesn’t want to just remember this, but actually look it up in some knowledge base. Of course, it can do that.

You can now use Claude with TabPFN, as we have an MCP server that’s integrated with Claude, integrated with Gemini, and also with all kinds of other frameworks. It’s really easy to get going. You can just say, “Hey, Claude, build me a dataset for this problem,” and then use TabPFN to predict.

A friend of mine used this for the World Cup. We had a little bit of fun and made predictions for every game. That friend actually used Claude to prompt it: “Hey, Claude, please build me a dataset from historical games, or any way you want—a tabular dataset—and then use TabPFN to predict every game.” With that, they actually won their cake bet at their company.

You can now have your cake and eat it. Absolutely. To me, this is really the convergence point of AutoML, because we can give state-of-the-art machine learning to novices who don’t even need to know how to code. They don’t really need to know what a tabular prediction problem is, and the friction is just so low. At the same time, you still get state-of-the-art performance.

We actually have a variety of different demos. We have 1 demo integrated into Databricks, where you can look through your dashboards and ask the agents questions. For some of the questions, you actually want to do a tabular prediction, and it will just do that. It won’t even tell the user that it’s using TabPFN. Why should it? It’s just making better predictions.

That’s definitely the world we’ll be in within a couple of years, where you’ll see tabular foundation models used left and right, often without you knowing it.

Tim Scarfe

Yeah, I’m genuinely excited to try it myself, because it’s one of those things that has utility almost everywhere, especially if you can get a coding agent to help you do it. That’s amazing.

There are some other advantages that we haven’t spoken about. For example, you can use them to generate data, do things like density estimation, or even generate embeddings. I guess we want to get away from the idea that it’s only used for prediction. You can actually use it for explainability or as part of building some other predictive architecture.

Frank Hutter

Yeah, and I think that’s super important, right? We need to move beyond just classification and regression. It is a foundation model; it can do all kinds of things.

We want to push towards relational data. A whole lot of data that is tabular actually comes from merging 2 different tables in a relational database. Working directly on the relational data would be so much more powerful.

There’s time series, which is actually very related. There’s causality, too. We haven’t talked about that much, but it’s really core, because you do want to make distinctions between causation and correlation. It’s so helpful to be able to understand the world in a causal manner; then you understand it much more deeply.

This is a big challenge, and causal machine learning is a big field. I think we can make a very solid dent in it with tabular foundation models.

Tim Scarfe

Yes, and I think we should come back to that, because that’s very important. Right now, people can just import this library in Python, and it’s very similar to scikit-learn or something like that. You can just say, “I’ve got some data here. I’ve got my signals and my labels,” and, out of the box, it does regression and classification.

Now, if I understand correctly, you can’t combine classification and regression because you’ve decided architecturally to specialize in those 2 models.

So if you want to combine those modalities, I think you need to create 2 models. Is that correct?

Frank Hutter

It helps to have separate models for classification and regression sometimes because the gradients propagate a bit differently, and it’s a bit tricky to train both at the same time. But if you can train both at the same time, that’s of course so much nicer. We’re also working on that. We also want to have a causal head and a time-series head, et cetera, and just train all of that jointly. That would be so much nicer.

Tim Scarfe

Can you explain that? When doing regression, you’re using an MLP head, and when you’re doing classification, you’ve got what I guess resembles an attention head, so you’ve got a special kind of decoder head for that. Tell me about the rationale there.

Frank Hutter

It’s not a problem to have different types of heads for different tasks, right? For example, for causality, we would need a different type of head than for the other methods. The way we used to do regression was regression as classification, where you just have this binning distribution, where you bin the space into 10,000 classes. Where a lot of the data falls, you have very small bins, and where not so much of the data falls, you have large bins, so that there’s the same number of samples in each bin. Then you just train a standard classification model.

The rationale for that was that, back then, my PhD student, Samuel Müller, did these experiments. He also tried a regression head that just predicted the mean and the variance, and it was simply better to predict in this classification manner. One of the reasons for this might have been that transformers, with all the hyperparameters, et cetera, are just made to do classification really well. Having 10,000 classes was not an issue at all, so we stuck with that.

One of the really nice side effects of that was that we could do these multimodal predictions. We could say, “Well, I don’t know whether, when the bird flies toward a pole, it’s going to turn left or turn right. It’s not going to hit the pole.” So you’re going to have a distribution here and a distribution here, with pretty much zero probability mass in between. You can do these predictions again in a forward pass, so you can have really well-calibrated outputs with this type of distribution.

Tim Scarfe

Can you tell me about how you do the representation? There’s a bit of a lineage, right? Version 1 more resembled a normal transformer, just tokenizing things. If I understand correctly, now, in versions 2 and 3, it’s far more structured, and you have a specific way of mapping the attention because the transformer is permutation equivariant. Maybe we should start with that.

Frank Hutter

The architecture for TabPFN v1 was very much like a transformer, except that you drop the positional embedding because attention is already invariant to order. The only thing that makes a transformer pay attention to where the words are in the sequence is the positional embedding. We didn’t want that. We wanted to be invariant, so we just dropped the positional embedding. It was the simplest thing we could do.

What that required, though, was taking a row and encoding it into an embedding. We used a super-simple method for that. In TabPFN v1, we only had continuous features, and we just used a linear layer. That was it. That’s maybe not the best because, if we applied it to categorical values, we would just encode the categorical values as 1, 2, 3, 4 and then put a linear layer on there. Of course, that’s not the best.

In TabPFN v2, what we did was have an architecture that actually knows about rows and columns. We had an embedding for each individual element of the matrix, so for each value. Then you would have attention over the rows and attention over the columns, and you would alternate these. You could really understand, “Aha, in this column, the numbers are 1, 2, 3, 4. Probably this is categorical,” and treat this differently from a numerical 1, 2, 3, 4. We also had much more categorical information in the prior already in TabPFN v2, so there was better and better treatment of these categorical parameters.

Complexity-wise, I should talk about that because TabPFN v2 was actually much worse than TabPFN v1. TabPFN v1 was only quadratic in the number of rows, but it’s sort of bad because of the encoding of the row into a single embedding, and that is really inherently limiting. In TabPFN v2, since you had so many embeddings, for each embedding you would have this attention over all the rows and all the columns, because there are that many elements in the row. You have N rows and M columns, and then you have N²M + NM². That is the complexity of TabPFN v2, and that was okay for up to 10,000 data points.

If we wanted to scale higher—to 100,000, 1 million, et cetera—we needed to go beyond that. For 100,000, with TabPFN v2.5, we still did that. We got away with just moving to beefier GPUs. At the same time, the G-Research group actually developed TabICL, which was really nice. It was an architecture that basically, in the end, used the TabPFN v1 architecture, only quadratic in the number of rows. But it had a much more complex mechanism to actually do this embedding through a different column and row transformer.

Since that architecture was good enough for the size range we wanted for TabPFN v3, and also in terms of inference speed, we basically just adapted that for TabPFN v3. We innovated in many different ways—for example, for many classes and for the output head—but we didn’t actually have to change the base architecture. We have a lot of things cooking, but we didn’t need them for our desiderata for TabPFN v3, so they’re going to be in future versions.

Tim Scarfe

Of course. But just to be clear, what is the complexity of v3?

Frank Hutter

Of v3, it’s actually the same as TabICL. Basically, it’s N² for the number of rows.

Tim Scarfe

Yeah.

Frank Hutter

But then it’s NM² for the preprocessing, for the embedding—

Tim Scarfe

Okay.

Frank Hutter

So it’s already faster, but it’s still quadratic, and there are a gazillion methods to make it subquadratic. Of course, we’re looking at those.

Tim Scarfe

Yeah.

Frank Hutter

The next target is 10 million, and we’re pretty confident.

Tim Scarfe

That’s super interesting. Even the rows and the columns—that is a wonderful example of the kind of inductive prior that we put into these models, right? We have certain assumptions about the data, and it seems reasonable that there are relationships row-wise and column-wise. But what would fast attention look like? For example, if you were going to cut down that span of attention, would it be some kind of locality prior?

Frank Hutter

In language, you have this locality prior. In tabular data, you don’t, right? Because you want to have this invariance over features. But you could have some sort of locality in the embedding space.

Tim Scarfe

Very cool. I am very excited about test-time adaptation. o1 came out, and that was remarkable. The models became intelligent because, through this RL training, they were learning to prompt themselves. They were actually deliberating and thinking.

What a lot of folks have been doing with these language models is test-time adaptation, where they deliberately do some kind of structured inference at test time. It just feels like this is the perfect opportunity to do that. At the moment, you’ve made a deliberate decision to have an inductive model, and that has some interesting properties, certainly in terms of caching, calibration, performance, and that kind of thing.

If it were transductive, what that would mean is that the test samples could actually bind to the training samples, and that could be bad. Let’s say I’m doing a hospital prediction thing, and I might have some weird patient who’s an outlier. Now this other patient is affecting my prediction of the first patient. So it’s not necessarily a good thing, but it can be an incredibly powerful thing. Is that interesting to you?

Frank Hutter

I don’t think I would go too much in the transductive direction. It can go into the semi-supervised version, where you have a small number of labeled data points and then a whole lot of unlabeled data, and you know this is the type of data you actually want to work well for.

But in the end, I think I would stick with an interface where what I'm making predictions for doesn't affect the predictions for the other data points, because data scientists just wouldn't have that. I think that would be so weird: if you predict the same data point in a different batch, you get different results. It would be super strange.

Tim Scarfe

Yeah, it's interesting. In the ARC Prize, for example, the reason it works so well is that you only have a few examples of something, and those other 2 examples give you so much information. We're desperately trying to adapt the model.

But I suppose another thing is adaptive thinking in general. I could imagine—and I think you've got something like this, although I don't think it's publicly known what you do—just thinking out loud here, that you might have some kind of latent variable, and you can have a latent representation that evolves with more computation. I do more forward passes, and I'm actually evolving some kind of representation.

Is that something you think about? Right now, we have a fixed amount of computation, but there are many tasks that we're uncertain about, where we might need to think, search around a little bit, and get a better prediction.

Frank Hutter

Yeah, there are a whole lot of analogies here. For some cases, you might want to make a prediction really quickly because it's a simple data point, and so you could have an early exit from a big network. For harder data points, you want to go all the way through. For even harder data points, you might want to think a lot harder.

There are a whole lot of ways of thinking harder. You could do fine-tuning: you could look at your dataset and say, “This is my dataset. Let's generate other datasets like this and do fine-tuning on that.” One of my master's students had a paper about that, showing that for very small datasets it can actually improve performance.

Then you can do prompt tuning. If you have a very large dataset, you could say, “Which parts of this large dataset should I actually feed into my context?” Say you have 1 billion data points. You can select 100,000 data points to put into your context, and you could do that in a gradient-based manner. But you could also hallucinate 100,000 data points that approximate those 1 billion data points better. We also had a paper at NeurIPS about that.

One fun fact there is that you can also use this for interpretability. One of my previous PhD students, Robin Schirrmeister, took a medical dataset of 1,000 data points and condensed that into 2 data points that you would feed as a prompt. That had the same predictive performance as feeding the 1,000 data points. That gave you the prototypes of the data.

There are a whole lot of things like that that you can do. You could also have different networks that were trained with different priors and do standard cross-validation on them. There is work that shows that transformers can actually do model selection in a forward pass. You could train a transformer with 10 different priors and have it choose the right one at test time in a forward pass. There are so many different things you can do, and I think the sky's the limit.

Tim Scarfe

Yeah, exactly. There's also sampling and ensembles, and you could have some kind of scratchpad. I'm just really excited about this in general, though, because I wonder whether there's a tension there. We're couching this as a foundation model without adaptation, but it feels like adaptation is always strictly better.

This is why I'm quite excited about using agents, because new information comes in and we crystallize and optimize, and we end up getting something better. It feels like this could become the base of an architecture to do that.

The dataset distillation is really interesting. I think I interviewed a guy called Andrew Ilyas from MIT. He had a great paper on dataset distillation and machine teaching. The basic idea is that if you prune and distill the dataset, you can get dramatically better performance. This can be an online adaptive process because when folks are implementing this technology, they live where they live. They have very specialized data, things are changing, and this adaptation process could be part of the predictive architecture.

Frank Hutter

Yeah, absolutely. There are so many cool things, as I said, that you can do that you couldn't do with methods like XGBoost, for example. You could do feature importance in a forward pass, or you can do a forward-backward pass and say, “If I change this feature, how much would my output change?” You get a gradient signal for that, so forward-backward is trivial.

You could also do that for a data point. How important is this data point for training my model? That means you can actually detect adversarial attacks, et cetera. You could say, “This is really strange. This is one data point that completely dominates my model. How about I train again without that data point, and then see whether that is much better?” If so, then let's iterate this process.

You could figure out which features are important, train with only the important features, and drop the others. There are so many different things you can do there.

Tim Scarfe

Let's talk about interpolation versus extrapolation. My good friend Randall Balestriero had this paper, “A Spline Theory of Deep Learning,” and he was talking a lot at the time about how MLPs are like decision trees, but they extrapolate.

This is genuinely a new phenomenon, and you've studied it because I've seen some of the graphs. These models actually extrapolate in ways that normal models don't. What's the behavior there?

Frank Hutter

Extrapolation is super important, also for me coming from AutoML and Bayesian optimization, if you only see parts of the space and want to extrapolate to other parts of the space. For example, with scaling laws, you only see points for small neural networks, but you want to predict how well your large neural network is going to do. You need to actually be able to generalize.

You can put it in your prior that you want to generalize. Just say, “I want to train on these data points from here, and I want to be able to predict over here.” If that's in your prior—that the train and test distributions are not IID—then you can also learn out-of-distribution predictions.

Tim Scarfe

I think about 3 weeks ago, Google released something called TabFM, and I took some notes about it. The first thing is, imitation is the sincerest form of flattery. They were very much inspired by the work you've done, scaled it up around 30 times, and got significantly better performance on the TabArena benchmark. What's the story with that?

Frank Hutter

As you said, it's flattering that they're also jumping on this and basically taking the same architecture, the same types of priors, et cetera, and solving it with Google Compute to get bigger and better models. It's not surprising that this is better. I think it's maybe a little premature to go that big because it also comes with some issues.

The model is very large and, as a corollary, quite slow. It's about 15 times slower than our forward pass, even though it's just a forward pass, which is super cool. The fact that it can do this just in a forward pass and get this performance is really nice to see. But it's a very slow forward pass. It's 15 times slower than our forward pass.

We have this test-time-compute TabPFN thinking that's actually 10 times slower than our standard model, so our test-time compute is still faster than a forward pass of TabPFN and is stronger in terms of ELO scores, et cetera. But it is a forward pass, and so it shows that if we look at the scaling laws—and of course we already have scaling laws—and invest that compute, we will get better and better.

They did focus quite a bit on small data, so in particular, for the smallest datasets in TabArena, it's much better than previous methods. For tiny datasets and small datasets, it's still better. For medium datasets, it's actually breaking even. Medium is up to 100,000 data points, and that was our focus with the previous models.

In TabPFN 3, we already went to other benchmarks. We went to the TALENT benchmark, which is up to 1 million data points, and to Beyond TabArena. We haven't actually focused that much on TabArena, which is up to 100,000 data points, and this is a good reminder that we should also focus a bit more on that one.

Our current benchmarks will make sure that the next model generation that's cooking is also, again, much stronger on TabArena itself.

But we don't want to over-index on it because we do care a lot about scaling to a million, to 10 million data points, to non-IID group data, et cetera. And TabPFN being such a big model, we actually just can't even run it on Beyond Arena. It just breaks and runs out of memory for data sets that go beyond roughly 100,000. But it's very cool that they're part of this now, and I'm super excited for the field to grow.

Tim Scarfe

There is the question of the moat thing. You guys actually did the research, so you understand this and can presumably evolve it in interesting directions. But one thing we haven't spoken about that is part of your moat is that a lot of principled knowledge went into designing these priors, right? We haven't really discussed how you did that yet. How did you make those priors?

Frank Hutter

Prior development is a fairly iterative process. The way we started was basically that, for TabPFN 2, we had this set of holdout data sets that we wouldn't train on, but that we would use to ask: If we make a change to the prior and train a network, how well does it do on these data sets, and where are some failure modes? We could actually see, “Ah, there's a failure mode in this data set. What are some of the structures in this data set that it might be failing because of?” For example, outliers, missing values, or uninformative features, et cetera. Then we would also put those into our prior.

Over time, we just made it ever more complex to capture more and more possible ways that the data might have come about. If your prior is limited—for example, to just linear lines—then the posterior is going to be limited based on linear regression. It's a perfectly fine model, but it's just very bad if your data is actually not linear. And so we would have very complex priors that can capture as much of the world as possible.

Tim Scarfe

Let's talk about causality. This is one of the things that's spoken about a lot in this context. First of all, can you explain the difference between causation and correlation? To what extent can we expect these models to be causal, and what would that even mean?

Frank Hutter

Let me explain that with an example. If you think of a medical example where you have a disease that some patients have, and these patients are given a particular type of medicine that helps them against that disease, the stronger the disease is, the more of that medicine they get. If you have a data set where you just see how much or which medicines a patient gets, and you want to predict whether they have that disease or not, then we can basically build a perfect model that says, “Well, if they get this medicine, then they have this disease.”

You might be tempted to say, “Ha ha, let's stop giving them that medicine, and they won't have that disease anymore,” but that would be foolish, right? The causal relationship is the other way around: because they have the disease, they get the medicine, not the other way around. And so that's where causality and causation are really important to distinguish when you start with these interventions.

I just said, “Let's stop giving them that medicine.” So that means you change a variable in causal ML using the do-operator. You do this: give the patient this medicine, rather than observe that the patient is taking that medicine. And those are 2 entirely different things, because if I observe that the patient is getting this medicine, then there is some relationship—the reason that they're getting it is that they have this disease. But if I just decide that they're going to get this medicine, then I know nothing about the disease. Getting ahold of that is very tricky, but that's where causal ML comes in.

Tim Scarfe

This do-calculus came from Pearl. He had this ladder of causation. Just frame that up.

Frank Hutter

The do-calculus does come from Pearl. In the Pearl school of causality, you know the graph, and if you know the graph, then you can compute all kinds of things. But in practice, often you just don't know the graph. If you're a company and you want to do pricing on some of your products, and you observe hundreds of different features of your customers, you don't know exactly which of these features cause which, and so on. And you still want to make decisions in this causal space and be aware that there might be causal relationships there.

There are 2 different problems to solve. One is to make predictions while knowing about these causalities, and that's basically where our SCMs come in: We make predictions by integrating over all the possible causal relationships. I don't know the right causal relationship, but the data is suggesting this one more, so I will weight this one more, et cetera. Then I basically integrate over the space of all the SCMs.

There's also the question, “Hey, actually tell me about the causal relationships.” That is much trickier. And there's also a third question: “Well, tell me which interventions to do.” The first one was just predictions under observations. This third one is predictions of interventional effects.

You can actually also do that with these foundation models. The nice thing is that, again, all we need to change is the training process and the meta-training. During meta-training, we can control this. Usually, we sample a causal graph and observe the variables in it. Now we would again sample this causal graph and observe the variables, but then we would take the same sample, make an intervention in it, and observe the effects of that intervention. Then we have pairs: This is observational data, and this is an interventional prediction. We can learn from hundreds of millions of graphs from our prior.

If I see these types of observations and I make this intervention, this will be the effect. And so you can meta-learn to make predictions about interventional effects from purely observational data within some limits. There are some limits of identifiability, et cetera, but you would just integrate out over all the possible worlds—all the possible structural causal models that are in line with the data.

Tim Scarfe

This is also a problem with language models, and it's related to this concept of abstraction, which I'm very interested in. Linguists have distilled a very parsimonious, possibly broken kind of generative grammar, or the Minimalist Program, or something like that. We have distilled that down so it's legible to us.

Because if you think about it, causality could happen at multiple levels of resolution. It could be all the way down to the light cone. What we do is come up with these causal variables. Part of the way we distill those causal variables is because we are actors in the world, so we can actually try things and explore counterfactuals. Then I guess, over time, we just distill it down, and we can imbue these into our AI models.

This is kind of what you're saying: You can have a load of core structured causal knowledge, and then you can do this prediction with a causal trick if you can latch the causal knowledge onto the ML model. But does it go without saying at the moment that the ML model cannot acquire de novo causal knowledge without us giving it to it?

Frank Hutter

In order to know something about the effects of interventions, the model needs to observe the effects of interventions somehow. So what we usually do is randomized controlled trials, A/B tests, et cetera, where we actually do interventions. Then, based on this interventional data, you can fit models.

But often you just have a whole lot of observational data, and you don't have the interventional data. What this new line of work on causal foundation models allows you to do, to some degree, is reason about interventions without observing them at test time. But you observe them during meta-training, where you say, “Well, this is my causal model that I sampled. If in this causal model I make this intervention, then this is going to happen.” You just learn the effects of that over hundreds of millions of data sets. Then you have observed a whole lot of interventional effects, and you can actually make predictions about these.

Sometimes you have non-identifiability. It might be that A causes B or B causes A, and you don't quite know which one it is. But we don't need to say which one it is; we just need to solve the Bayesian integral over: What would this one say, and how likely is it? What would this one say, and how likely is it?

When you're actually not sure which one it is and they make completely different predictions, then in the extreme you want to predict, “I don't know,” with 0.5 probability that this is right and this is my result, and 0.5 probability that this one is right and this is my prediction.

And again, you have this multimodal distribution where you actually have zero probability that it's in the middle. It's either that or that, and I just don't know the right causal graph. But in many other cases, you can actually figure out with a higher probability that it's this causal model, and then the probability mass shifts over to the predictions that that causal model would make.

Tim Scarfe

So, if I've understood you correctly, you're saying that we can have high-fidelity models that could imagine counterfactuals. They can say, “I do this intervention. I could imagine this possibility and this possibility.” The model is so good that the imagined space of possibilities is quite good. So the model could then, in principle, select and create a causal model from that.

But I guess I'm trying to understand what the bar is for a causal model. Because even if we do RCTs in the real world, it's still somewhat statistically arbitrary. We might establish a causal relationship, but is it a binary thing? Are we in the domain where these statistical causal models will be nearly as good as having causal status, but not quite, or something like that?

Frank Hutter

You can run RCTs, and typically when you run RCTs, you get much better predictions. But now, with these causal foundation models, you can, in some cases, get very close to the type of performance you get if you have RCTs. There are already papers that reduce the number of data points you need to have in your RCT in order to still get the same type of performance.

That, of course, I think will completely revolutionize medicine and A/B tests and so on if, in the future, we can get away with much shorter studies, get our medicine to the market much earlier, and still have the same confidence or even higher confidence. I think there's a whole lot of potential to do a lot of great things there, and I'm very excited about this.

But of course, we need to do this properly and theoretically grounded, and this is high-stakes. The potential gains are huge, and I'm super excited about that.

Tim Scarfe

And what would that look like? If you hypothetically created the—like, if your next product was something causal—what would that look like? Would it be couched as purely observational data, or would there be some kind of data scientist who would structure it in a certain way, so that the purpose of the model would be, as TabPFN does, to essentially grab that causal structure very, very efficiently?

The benefit of this causal model would be that it would be interpretable, reliable, explainable, and that kind of thing.

Frank Hutter

We already have some papers on this. We have this Do-PFN paper, together with Bernhard Schölkopf, who is an advisor of ours and one of the leaders in causal ML worldwide. He's the most cited scientist in causal ML in the world, so he definitely knows what he's doing.

There are some other teams working on this. CausalFM comes from Layer6 and the University of Toronto. We actually had the lead author of that join us last week as well.

Tim Scarfe

Wow.

Frank Hutter

We have a lot of great people on the team who work on causality. Basically, you can imagine this as getting some observational data and wanting to predict, “If I change this variable here, what will happen?” If I give this patient this medicine, what will happen? What will happen to another variable—for example, the disease status? Is that going to get better or worse?

In some cases, you can actually make predictions about this. In some cases, you'll always make a prediction, but the prediction might be just complete uncertainty: “I just don't know.” But if the data actually gives you some traces of causality—basically, if it has some traces of causality that point in some direction, that, hey, it's more likely that A causes B—then we can give more weight implicitly. Of course, this is learned by the model, but then we can give more weight to the model where A actually causes B and make better predictions.

The cool thing is that we now have follow-up work on that as well, published at the last ICML, where domain scientists, if they know that A causes B, can specify that. Then we build the posterior over all structural causal models where A actually causes B, and not B causes A, and not where they're independent. That allows us to really use the domain expertise of people.

There is also work that can probabilistically infer some causal structure. It can say, “Given this data, how likely is it that A causes B?” That allows you to do all kinds of things, like root-cause analysis, et cetera. I think that's really exciting. Our current models do not do that yet, but that is definitely something we're working on for the future.

We just started our open-source research arm, where we collaborate with anyone in the community on tough problems like this. I think these problems are too exciting and too important for humanity for us to just work on them by ourselves. We should really work together with the greatest researchers in the world in order to tackle these problems, and then, of course, we'll build products around them.

It's really important to solve these problems at the core. We don't want to have any red line in the way, but really be able to work with anyone in open source.

Tim Scarfe

That's really exciting. Just one final question on that bit: what is the potential for causal structure learning? At the moment, we decide what the variables are and give them names. They're legible, parsimonious, and whatnot. But I can imagine a future where an AI would be able to come up with something that was very high-resolution but much better.

Is there a trade-off between the fidelity of the causal structure and its intelligibility and explainability to us?

Frank Hutter

What LLMs will come up with is, of course, the world knowledge and causal relationships in the world. I do not think that they will come up with proper causal relationships between features that we see from the data. If you have tens of thousands, hundreds of thousands, or millions of data points, again, it's in the numbers, in the statistics, and that's what LLMs are not strong at. I don't see them getting stronger at that anytime soon.

Tim Scarfe

Just on that, that's a tangential question. LLMs are incredible. Did you read about the Erdős unit-distance conjecture? It was 125 pages of chain of thought. What they don't seem to do—and the reason why we are part of the process—is that we can look at the spaghetti and say, “That's basically this.” We can abstract it, and we're doing more with less. We're compressing. Why don't LLMs do that?

Frank Hutter

Honestly, I think that is something they will also learn to do, because LLMs do compress their knowledge. If you read a billion tokens, you can't keep that in your memory. You need to compress it somehow, and they will. They will learn to do this better and better and, I don't know, form lemmas and whatnot that they will then remember.

But that is still in the space of language and not in the space of the data and the numbers. I think the challenge will be to bring the two together and really use the world knowledge, use the amazing chain-of-thought capabilities, et cetera, but also bring in the causal information that we can see from the data.

Tim Scarfe

We promised we'd come back to multimodality later. Some of the things you're looking at now are text data, relational data, graph data, and that kind of thing. How does that play out in TabPFN?

Frank Hutter

Relational data right now is an interesting one. We haven't actually worked on this much at all, but we got this for free from the open-source community, who developed an embedding of a relational database.

These are queries in a relational database where you want to predict some entities in one table, and you want to take as context all the connected tables, where you have other tables that tell you something about this particular entity. You can actually have an embedding that takes that relational database query and puts it into a single table, and then they just ran TabPFN.

In this case, I think they ran TabPFN 2 or 2.5, and we took that method, put a little bit on top, and ran TabPFN 3 with it. What we did was build better benchmarks and so on to make sure that we're optimizing the right objective.

And yes, TabPFN 3 out of the box was actually the best foundation model for these relational databases. We evaluated this on the original RelBench from Kumo. It was better than KumoRFM, which is their own relational foundation model that also has an individual tabular foundation model at the end. We also worked a bit more on making a better version of RelBench, which we're releasing next week. I think when this interview airs, it will have been out for 3 weeks.

Tim Scarfe

One interesting thing is that we were talking earlier about there being a bunch of priors in the model. For example, it might have a locality prior. It's got columns and rows and whatnot. What would it mean to put in other types of geometrical priors? Could you, in principle, just put a relational prior in there, and it would understand that? You could put in multiple data tables, and it would understand the relationships between them and somehow implicitly do joins and all of that kind of stuff, or maybe work with graph data or tree data. Is that possible in principle?

Frank Hutter

Yes.

Tim Scarfe

Okay.

Frank Hutter

Basically, this is clearly the name of the game: building priors. You look at the types of data you want to be good at, put that in your prior, generate your data, and then the model is going to be good at that. Of course, you need to solve some architectural challenges. If you have different relational tables, how exactly do you put this into your network? How do you make sure that this is efficient? But the sky's the limit there. I think this is totally going to happen.

Tim Scarfe

How do you see this playing out in the enterprise? I think there is a bit of an issue in the enterprise in that there are security boundaries. Sometimes tabular data, and operational data in general, is the hardest to get.

Speaking personally, I can't wait to go into QuickBooks, download all of my data, and stick it into TabPFN. But in the enterprise, how do you see this playing out?

Frank Hutter

Tabular data is the most common modality in the enterprise. Nevertheless, historically, there haven't been these tabular foundation models out there. People use traditional models like XGBoost, and now they're being exposed to coding agents and LLMs. Many newcomers try LLMs on their tabular data and see them fall flat on their nose, because they haven't seen this type of data. This data hasn't been on the internet, so the models haven't been trained to work well on it.

There is a big opportunity there. That is where tabular foundation models are required. The more tabular foundation models learn about the data in the organization, the better they will get. You can also take a tabular foundation model—our models are open-weight—and fine-tune it on the data of the organization. It will get much better performance for that particular data, because then you can extract the type of intricate patterns in that type of data and work much better for it.

Tim Scarfe

How do you think an organization should design structures around this? For example, there might be some kind of data platform. Do you think that individual people in the organization should be building out models like this, or should there be some kind of platform team? How would you do the data governance?

There is a wealth of tabular data in the organization. Some of it is in Office 365, and some of it is just operational data. It might be a retail system over here and a financial system over here. Essentially, what you want to do is make this data available, but there also need to be controls. How would you do that?

Frank Hutter

It's going to look pretty similar to LLMs because you don't want to make your data available to everyone. You also don't want individuals training their own LLMs. That doesn't make any sense. Rather, you want one part of the organization really understanding these models, knowing how to fine-tune them, knowing where they still fall short, where to bring in some other data, and where to check whether XGBoost is still better if you have a billion data points or whatnot.

I see this as pretty centralized, with services that are being offered. Of course, as Prior Labs, we want to support that. But we need to work with the organizations on how to actually play this out.

Tim Scarfe

What is your revenue model? As I understand it, at the moment you can just use your Claude agent, and it can use TabPFN to do a bunch of stuff. What are you building as a commercial offering?

Frank Hutter

You can use TabPFN in many different ways. You can use it from the open source with a non-commercial license. You can try it out, test it, and it's entirely free to test it in a non-production setting. If you want to use it in production and make money with it, then you need to pay a license fee.

That is one business model, and then we have all kinds of things around it. We have thinking mode and scaling mode, which work better for large data. We also have models that work particularly well for very small data. Of course, we have services to get people off the ground and get them better performance with tabular foundation models. We have fine-tuning as a service— all kinds of layers on top that you can stitch together. Ultimately, you can think of it as a platform that just makes a data scientist dramatically more efficient.

Tim Scarfe

I'm imagining a couple of years ahead. You might have a forward engineering team. You might eventually have models that are too big for customers to serve themselves, so presumably you might offer some kind of serving stack for that. The fine-tuning thing is interesting. We didn't talk about that, but do I understand that you can fine-tune the models, but customers can't yet fine-tune their own models?

Frank Hutter

The models aren't too large for customers to serve yet, but we might be able to serve them faster. We might have different tricks. We already offer an API where we control the infrastructure, and we can make sure that we batch different predictions. We can make sure that the GPUs are kept busy. If a client were to reserve a GPU in order to do all the predictions, that GPU might idle all the time, and it might actually be much more cost-efficient for us to do the serving than for the client to do it.

This API is also part of the commercialization. We have private VPCs for data that cannot leave the organization. But if you already have a cloud partner, then it can run there. For example, you can already use it with Azure and AWS. And then, of course, in SAP's Generative AI Hub, we have TabPFN. So there is a variety of different ways to commercialize.

We're particularly good at fine-tuning. There are also some fine-tuning wrappers, so people can fine-tune the models. But again, if they fine-tune the models on the data in their organization, there is already a license for the model, and that also applies when they fine-tune the model. Fine-tuning is something we can do, or the customer can do. Both would work.

Tim Scarfe

What would happen if OpenAI or Anthropic just embedded it in their harness? Would you charge them straight away, or would it be based on how it was used by the customer?

Frank Hutter

That's going to be interesting to see how the token economy works out. I think tabular prediction tokens will be much cheaper than the LLM trying to do it themselves. You can have an agentic agent that goes and writes some code and gets something that may be close to that, but that takes a lot of time and tokens. Rather, you could just call a tabular foundation model, and it should do it faster and better and for fewer tokens—or for an amount of tokens that costs you less.

In this agentic economy of the future, that's what we're developing the methods for. They should be better than any other method. LLMs call calculators because they're better at doing math. Just like that, they should call tabular foundation models because they're better and cheaper at doing this than they can do it themselves.

Tim Scarfe

I'm just imagining that if someone from Anthropic were listening to this, their first thought would be, “I'm going to update the system prompt and just use TabPFN if anyone's using tabular data.” Or if most normal people at home listen to this, they're going to be thinking, “I'm going to update my Claude global skill to use TabPFN anytime I'm working with tabular data.”

Frank Hutter

Yes, absolutely do that.

We have skills files and everything.

Tim Scarfe

Yeah. I mean, it just seems like a no-brainer. The other thing is, you're launching a research arm. Tell us about that. What are you guys doing?

Frank Hutter

Yeah, so we're launching an open research arm. We're already doing a lot of research in Prior Labs, and we want to do a lot more fundamental research also because we just got acquired by SAP, and we have a lot of funds available to do a lot of cool stuff.

The leading motive for the acquisition has been DeepMind, and so we want to be the best place in the world to work. We want to publish up a storm. We want to be the place where everybody goes in order to do the greatest work, and good things will happen from there.

In the open research arm, it's going to be fully open research. We can collaborate with anyone in the world, with universities, with the ELLIS Institute, and with other partners. I also still have a university group at the University of Freiburg. We already collaborate with Layer 6, for example, in Toronto, the University of Toronto, with Singapore, and with the ELLIS Institute in Tübingen, et cetera, et cetera. All of those should just be possible super freely and easily.

Basically, we're going to take what we do at the university and scale that up, and also do that in Prior Labs. It's going to be, of course, super synergetic for people if they want to have impact and then also see some of their work being moved into a product.

We also want to tackle moonshots, so really take high-risk, high-gain problems that, if we solve them, could really move the needle for humanity. If you're listening and you have data for that—if you could do tabular predictions better for this data, maybe super-complex data, and you could, I don't know, with this, then help cure cancer or help global food production or help with any type of problems that are good for humanity, please get in touch. This is definitely something we want to really focus on and do some cool stuff.

Tim Scarfe

Amazing. To be clear, you are hiring researchers and interns. I'm excited about this because we hear too much about America and China dominating the AI space. We're here in the south of Germany, in Freiburg, doing frontier AI research. There are loads of talented folks in Europe. Do they give you an email, Frank?

Frank Hutter

Please go to our website and apply. We have over 11,000 applications—

Tim Scarfe

Okay, okay.

Frank Hutter

—and have hired 45 of them. If you're excited to work in that type of team, where we have the luxury of a whole lot of people already applying and are able to pick the world's best folks in the space, then by all means, please apply at priorlabs.ai/careers.

We hire for pretty much every role you can think of, in particular now also research scientists who do model development and forward-looking model development. You can think six or nine months out and build better architectures, et cetera, but also work in the completely open-source arm, where you can collaborate with anyone in the world.

Tim Scarfe

Amazing. Frank, thank you so much for joining us today. It's been great.

Frank Hutter

Thank you so much for having me.

Tim Scarfe

As many of you may have seen, since we recorded this interview, Prior Labs has now released a new version of TabPFN, version 3.5, and it's looking really, really good. I got in touch with Frank, and he has recorded a very short update for us, which I'm going to tag onto the video now.

Frank Hutter

We just released our newest model, TabPFN 3.5, and with that, we evaluate on much more than TabArena. I'm super happy to say that we took first place on 7 different tabular-related benchmarks, including tables with text, multimodal data, relational data, et cetera, covering a lot of the problems that data scientists actually face.

We didn't focus on TabArena that much, but also improved there. TabPFN 3.5 Pareto dominates other tabular foundation models—for example, being 20 times faster in a forward pass than TabFM for the same quality, or being over 100 Elo points higher while still being faster.

More importantly, we improved dramatically on the Beyond TabArena benchmark that I mentioned, which is much more similar to the types of data complexities that data scientists actually face every day, with group data, temporal data, data scales from tiny to 1 million data points, text in the tables, high-cardinality features, and so on.

As a result, TabPFN is now also much more relevant to data science competitions. For example, our research scientist Nick Erickson, who previously built AutoGluon at AWS, tried TabPFN 3.5 on the historical AutoML Challenge from Kaggle from 2015, which had 3,500 competitors and a prize pool of $10,000. It was won by this multilayer stacked ensemble of 36 different models with handcrafted feature engineering.

Nick had used this competition to improve AutoGluon over the years, and with the AutoGluon paper, he had actually gotten a top 1% solution in 24 hours on 96 CPUs. Now he used TabPFN 3.5 and got the number-one-ranked solution in 1 line of code, in 1 minute of compute, on 1 RTX PRO 6000 C GPU.

I'm super excited about TabPFN 3.5 as a practical tool for data scientists now.

Tim Scarfe

So there you go. That was the update from Frank on TabPFN 3.5. I think it's a genuinely exciting time to be alive because you can just take this foundation model and apply it to so many real-world problems. I've even applied it to the spam filter on our Discord server, which is absolutely amazing.

Admittedly, you need a fairly beefy machine to use it, and you need quite a lot of memory on the machine. But it really, really is cool. I hope you folks have a play around with it. I think it's free for non-commercial use as well.