跳到正文
原文
Hugging Face:Blog(RSS)·· 1 小时前精选AI 评分67

NVIDIA 发布开源表格基础模型 Kumo Tabular,在 TabArena 等四项基准排名第一

NVIDIA Kumo Tabular Sets a New Accuracy-Efficiency Frontier for Tabular Prediction

AI 导读

NVIDIA 发布开源表格基础模型 Kumo Tabular,对带标签表格做单次前向推理即可完成分类和回归,无需训练、调参或特征工程。

推荐理由

官方技术博客披露了架构、纯人工数据预训练配方和四项基准成绩,读者可据此评估其替换梯度提升树的可行性。

正文 · AI 翻译

要点(TL;DR)

NVIDIA Kumo Tabular 是 NVIDIA Kumo Structured 模型系列的一部分,是一个面向表格数据的开放基础模型,现已在 Hugging Face 上发布。给定一张带有标签行的表格,它能在单次前向传播中预测新行的标签,无需训练、无需调参、无需特征工程,同时支持分类和回归。它仅使用人工数据预训练,提供三种规模(28M 到 215M 参数),通过我们的开源库运行,并以 OpenMDW-1.1 许可证发布,可用于商业用途。它在四个基准测试 TabArena、BeyondArena、TALENT 和 ScoringBench 上均排名第一。

向表格基础模型的转变

表格数据是企业机器学习的支柱。客户记录、交易、传感器日志、理赔和订单都存在于表格中,从中预测流失、违约、需求或价格是工业界最常见的机器学习任务之一。二十年来,这项工作一直使用梯度提升树完成,而且效果良好。但这些模型周边的生命周期几乎没有改变。每一个新问题都意味着收集标签、设计特征、搜索超参数、验证,并部署一个对表格毫无通用认知、每个任务都从零开始学习的模型。

大语言模型展示了一种处理新任务的不同方式。在提示中给出几个示例,预训练模型无需更新任何权重就能解决任务。这就是上下文学习,它同样适用于表格,就像适用于文本一样:一个在数百万张表格上预训练的模型可以将带标签的表格作为其上下文读取,并直接预测新行的标签。

今天,我们发布 NVIDIA Kumo Tabular(GitHub、HuggingFace),一个面向表格分类和回归的开放基础模型。给定一张带有标签行的表格以及你想要预测的行,Kumo Tabular 在单次前向传播中返回类别概率或数值预测。

Kumo Tabular 的工作原理

Kumo Tabular 是一个围绕表格结构构建的 Transformer,采用了 TabICL 和 TabPFN 中引入的列注意力、行注意力和上下文注意力。要预测一个标签,它必须做三件事:(1) 理解每个值在其列中的含义,(2) 理解一行中各列如何相互作用,(3) 将带有已知标签的上下文行与标签未知的查询行关联起来。Kumo Tabular 通过以下方式实现这一点:

architecture

单元格嵌入: 一组单元格成为一个 token。数值和类别值经过傅里叶特征(学习频率的正弦和余弦),每种类型使用单独的权重。缺失值无需插补,会被特殊处理。最后,上下文中的每个 token 都会接收一个标签嵌入。

行嵌入: 然后,我们通过多次交替两种注意力机制,将每一行转换为嵌入。列注意力沿单列向下查看,通过诱导自注意力学习某个值在其列分布中的含义,例如,一个 42 是典型还是极端。因此,其成本随行数线性增长。行注意力则横跨单行的所有标记,学习特征如何相互作用,并使用旋转位置来区分列。四个可学习的 [CLS] 标记加入每一行,并作为该行的最终读出。经过这种行压缩后,最终阶段的成本不再取决于列数。

上下文学习: 最终的 Transformer 在行嵌入上运行。上下文行相互关注,而查询行仅关注上下文行。因此,每个预测仅取决于上下文和该行本身,而不取决于与它一起评分的其他行。由于上下文从不查看查询,其键和值只计算一次,并可为后续预测重用。查询行利用 Test-GQA,这缩小了每次预测读取的缓存。一个头部将每个查询行转换为分类的类别概率和回归的 999 个分位数,从而得出点预测和不确定性估计。

长度感知的注意力温度: 随着键的数量增长,Softmax 注意力会变得分散。在几百行上锐利的注意力可能在数万行上消散,这正是当推理时的表格远大于典型训练表格时的情况。因此,Kumo Tabular 通过一个随键数量对数增长的温度来缩放每个查询,其系数为每个注意力头单独学习。结果是,随着表格变得更长或更宽,注意力保持锐利。

Kumo Tabular 是如何构建的

Kumo Tabular 完全在人工表格上进行预训练。每个训练表格都通过以下六个步骤从结构因果模型(SCM)中采样得到:

prior

我们首先为整个表格抽取一个配置,从大小和任务到机制和缺失情况。然后,一个随机因果图连接隐藏变量,通过在每个节点随机抽取的函数(例如,线性映射、小型神经网络、树或高斯过程)从根到叶进行评估。一些节点成为数值或分类列,一个成为目标,其余保持隐藏,就像真实数据背后未测量的原因一样。后处理使列组相关、裁剪异常值并注入缺失值,并通过快速树集成检查丢弃任何没有可学习信号的表格。由于生成器是过程采样器而非训练模型,它能产生无穷无尽的表格,每个表格都有新的图和新的机制。

现实世界的表格很杂乱,因此我们在生成器中构建了更多它们的不完美之处。值以多种模式缺失,一些特征被粗化,使得重复行可能在标签上不一致,一些分类列包含许多级别,回归目标可能重尾。一个见过数百万此类表格的模型学会了无需任何清理就能处理这些不完美之处。

在每一张人工表上,模型将大部分行及其标签作为上下文,学习预测其余行的标签,分类任务使用交叉熵损失,回归任务使用分位数损失。分类和回归分别训练为独立的模型。与 TabICLv2 类似,训练分三个阶段进行。第一个也是时间最长的阶段使用 1,024 行、最多 100 列的表,教会模型表长什么样。第二个阶段将上下文从 400 行变化到 10,240 行,第三个阶段将其扩展到 60,000 行,列数仍最多为 100。总体而言,Kumo Tabular-Small/Medium/Large 分别见过约 35/71/137 百万张人工表。

我们的训练配方和人工数据生成器将很快发布。

性能

我们在默认设置下运行了全部三种规模的 Kumo Tabular,与完整的 TabArena 排行榜进行对比,该排行榜涵盖调优的梯度提升树、AutoGluon 以及最新的表格基础模型。在统一的单张 RTX 6000 Pro 评估设置下,Kumo Tabular 以 1950 的 ELO 总分排名第一,同时比 LimiX-2 快 17 倍。在全部三种模型规模上,Kumo Tabular 在准确率-效率帕累托前沿上确立了新的最先进水平:

pareto

我们还在 BeyondArena、TALENT 和 ScoringBench 上评估了 Kumo Tabular。在 BeyondArena 上,Kumo Tabular 达到 1418 的 ELO,Improvability 得分为 7.78%,在排行榜上位列第一。在 TALENT 上,它在分类准确率、分类对数损失和回归 RMSE 上均取得总体排名第一,平均排名分别为 6.67、3.98 和 4.22。在 ScoringBench 这一预测分布基准上,Kumo Tabular-Large 和 Medium 在平均排名上分列第一和第二。

局限性

Kumo Tabular 仅适用于数值列和类别列,而文本、图像或时间戳可以通过内置的预处理配方转换为特征。单次前向传播最多覆盖 10 个类别,该库通过纠错输出码将其扩展到任意数量的类别。在远超训练范围的表上,或当查询行与上下文行来自不同分布时,准确率可能会下降,因此,与任何预测模型一样,在部署前请在你自己的留出数据上验证准确率和校准。

演示

Kumo Tabular 通过 NVIDIA 新发布的 GPU 原生库运行,用于 structured-data-models。该库在首次使用时从 Hub 下载权重,并提供我们评估中使用的预处理、集成和多类别处理。下面的代码就是从 pandas.DataFrame 到预测所需的全部内容:

import sdm  # structured-data-models

# Tensorize tabular data:
table = sdm.TableTensor.from_pandas(pd.load_csv(...), device="cuda")
na_mask = table["target"].isnan()

model = sdm.models.KumoTabular(device="cuda")
pred = model(
    # In-context examples (features/targets):
    x_context=table[~na_mask].drop_columns("target"),
    y_context=table[~na_mask, "target"],
    # Prediction examples (features):
    x_query=table[na_mask].drop_column("target"),
)

开始使用 Kumo Tabular 构建

Kumo Tabular 在 OpenMDW 许可协议 1.1 版下发布。NVIDIA 认为可信 AI 是一项共同责任,我们已制定相关政策和实践,以支持广泛的 AI 应用开发。当按照我们的服务条款下载或使用时,开发者应与其支持的模型团队合作,确保该模型满足相关行业和用例的要求,并应对不可预见的产品误用。请在此处报告模型质量、风险、安全漏洞或 NVIDIA AI 相关问题。

致谢

我们感谢 David Holzmüller 为 Kumo Tabular 贡献了重要的想法和消融实验。我们感谢 Vignesh Kothapalli 在实习期间对 Kumo Tabular 的帮助。

来源:Hugging Face:Blog(RSS) · huggingface.co