大数跨境
0
0

TabPFN-2.5 解析:表格基础模型如何实现 SOTA 性能与生产级速度

TabPFN-2.5 解析:表格基础模型如何实现 SOTA 性能与生产级速度 Coggle数据科学
2025-12-04
5

自 TabPFN (Tabular Foundation Model) 首次亮相以来,它彻底改变了表格数据机器学习的面貌。作为一种训练即预测(Training-free Prediction) 的方法,TabPFN 利用 Transformer 结构在大量合成任务上进行训练,从而实现了强大的泛化能力和卓越的校准(Calibration)性能,解决了传统树模型(如XGBoost、LightGBM)需要耗时调参的痛点。

在行业标准 TabArena 基准测试中,TabPFN-2.5 现已成为领先方法(SOTA)

  • 在小型至中型数据集,TabPFN-2.5 对比默认 XGBoost 实现了 100% 的胜率
  • 在更大规模数据集上,分类任务胜率高达 87%,回归任务胜率也达到了 85%。
资源 链接/命令
官网 https://priorlabs.ai/
文档 https://docs.priorlabs.ai/overview
本地包 pip install tabpfn

TabPFN 如何成为基础层?

TabPFN 的影响力早已超越了其最初的性能基准。自 TabPFNv2 发布以来,它不仅在研究界得到了认可,也迅速在产业界普及,从一个研究模型蜕变成为一个稳定的、被广泛使用的 “产品”

TabPFNv2 在极短的时间内达到了惊人的采用率:

  • 学术影响力: 在发布后的 10 个月内,相关的 Nature 论文已被引用近 400 次
  • 软件下载量: 开放源代码包在 PyPI 上的下载量已超过 200 万次
  • 社区成熟度: 社区拥有近 1,500 名 Discord 用户,反馈推动了无数的稳定性修复和跨平台兼容性改进,将其从概念验证(Proof-of-Concept)转变为成熟的生产工具

TabPFN-2.5 技术升级

TabPFN-2.5 沿袭了 TabPFNv2 的整体设计哲学——交替注意力 Transformer 和纯合成数据预训练——但通过在架构、数据和推理策略上进行了改进。

TabPFN-2.5 保持了其核心的双注意力机制(在样本和特征维度上交替进行注意力计算),以确保置换不变性,但引入了以下关键结构变化:

  • 更深的神经网络:深度从 TabPFNv2 的 12 层增加到 24 层。
  • 更大的特征组(Feature Groups): 我们将特征分组大小从 2 增加到 3。这允许模型同时嵌入更多的特征,从而显著提高了训练和推理速度(TabPFN-2.5 推理速度比 v2 快 1 到 2.3 倍)。
  • 回归编码器改进: 对于回归模型,TabPFNv2 使用线性编码器,而 TabPFN-2.5 替换为 2 层 MLP,带来了性能上的小幅提升。
  • 引入“思考行”(Thinking Rows): 受大型语言模型(LLM)研究的启发,TabPFN-2.5 的输入中增加了 64 个额外的、在预训练中学习到的“思考行”。这些行:

TabPFN-2.5 聚合了来自多种数据集置换和特征变换的预测结果,以增强鲁棒性和泛化性:

  • 混合特征变换: 引入了新的特征变换来增强对异常值的鲁棒性,并增加个体估计器之间的多样性。具体而言,它结合了:
    • 鲁棒缩放(Robust Scaling)和 软裁剪(Soft Clipping)
    • 分位数变换(Quantile Transformations)和 标准缩放(Standard Scaling)
  • SVD 特征: 沿袭 TabPFNv2,仍将奇异值分解(SVD)分量作为额外特征纳入部分估计器中,以捕获数据中互补的全局结构信息

由于 TabPFN 的超参数空间巨大(涉及架构、训练和先验数据   个超参数),无法进行穷举搜索。我们采用了自引用(Self-referential)的优化策略:

  1. 稀疏网格训练: 首先在稀疏的超参数网格上训练约 100 个模型,得到性能数据。
  2. TabPFNv2 作为代理模型: 使用我们前一代模型 TabPFNv2 作为代理回归模型,在更密集的 10,000 个配置网格上预测性能。
  3. 高效探索: 这种 “TabPFN-tunes-TabPFN” 策略极大地提高了搜索效率,帮助我们快速找到最有前景的超参数区域进行全面、计算密集型的训练。

得益于优化的预处理和更大的特征组,尽管 TabPFN-2.5 模型更大,但推理速度比 TabPFNv2 快 1x 到 2.3x。此外还采用了 FlashAttention-3  技术,并在多 GPU 上实现了并行评估,进一步提高了速度。

模型 最大行数 (Rows) 最大特征数 (Features) 数据类型 深度 (Depth) 推理模式
TabPFN-v1
1,000
100
数值
8
ICL
TabPFN-v2
10,000
500
混合
12
ICL
TabPFN-2.5
50,000
2000
混合
18–24
ICL+MLP/Trees

TabPFN-2.5 如何定义 SOTA?

TabArena 是一个经过严格策划的行业标准基准测试,代表了真实世界的表格数据挑战。TabPFN-2.5 在此基准上展现了压倒性的优势。

在 TabArena-Lite 的小到中型数据集上,TabPFN-2.5 仅通过一次前向传播(a forward pass),就超越了 AutoGluon 1.4(一个耗时 4 小时调优且包含 TabPFNv2 在内的复杂集成模型)。

在 TabArena 的所有数据集上,TabPFN-2.5 被明确列为最佳默认模型

论文中也验证了 蒸馏引擎 产生的模型在生产环境中的价值:

  • 高性能低延迟:TabPFN-2.5-as-MLP 模型在内部基准测试中,保持了极具竞争力的准确率,同时大幅降低了推理成本和延迟。
  • 优势: 这使得它非常适用于高吞吐量资源受限的部署场景,为寻求 TabPFN 性能但受限于延迟要求的企业提供了完美的解决方案。

TabPFN-2.5 性能调优秘籍

TabPFN-2.5 性能强大,但要确保在您的硬件上实现最佳的拟合(“训练”)和预测速度,需要遵循以下几个关键的硬件和软件推荐:

  • 专有 GPU 优先: 强烈推荐使用 NVIDIA H100 或 A100 GPU。虽然 PyTorch 支持的任何专有 GPU 都兼容,但 H100/A100 能提供足够的内存和算力来处理大规模数据集。
  • 多 GPU 并行: 对于大型数据集,通过在多个 GPU 上并行推理,可以显著减少拟合(Fit)+ 预测(Predict)时间。只需设置 TabPFNClassifier 或 TabPFNRegressor 的 device 参数即可启用。
  • 批量推理 (Batch Inference): 除非启用缓存,模型会在每次调用 .predict() 时重新“训练”(即执行上下文学习)。因此,最快的做法是在一次 .predict() 调用中对所有测试点进行预测。如果内存不足,可以将测试点分割成 1,000 到 10,000 的批次。

TabPFNC 基础使用

from sklearn.datasets import load_breast_cancer
from sklearn.metrics import accuracy_score, roc_auc_score
from sklearn.model_selection import train_test_split

from tabpfn import TabPFNClassifier
from tabpfn.constants import ModelVersion

# Load data
X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=42)

# Initialize a classifier
clf = TabPFNClassifier()  # Uses TabPFN 2.5 weights, finetuned on real data.
# To use TabPFN v2:
# clf = TabPFNClassifier.create_default_for_version(ModelVersion.V2)
clf.fit(X_train, y_train)


# Predict probabilities
prediction_probabilities = clf.predict_proba(X_test)
print("ROC AUC:", roc_auc_score(y_test, prediction_probabilities[:, 1]))

# Predict labels
predictions = clf.predict(X_test)
print("Accuracy", accuracy_score(y_test, predictions))

 学习大模型 & 讨论Kaggle  #


图片


△长按添加竞赛小助手

每天大模型、算法竞赛、干货资讯

与 36000+来自竞赛爱好者一起交流~图片

【声明】内容源于网络
0
0
Coggle数据科学
一个关注数据竞赛、机器学习和大模型的学习组织,每天分享最新的比赛和技术干货,与学习者一起成长。
内容 1253
粉丝 0
Coggle数据科学 一个关注数据竞赛、机器学习和大模型的学习组织,每天分享最新的比赛和技术干货,与学习者一起成长。
总阅读399
粉丝0
内容1.3k