news 2026/10/3 12:45:38

为什么TabFM值得关注:Google表格数据基础模型「无需训练即可预测」一文讲透

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么TabFM值得关注:Google表格数据基础模型「无需训练即可预测」一文讲透

为什么TabFM值得关注:Google表格数据基础模型「无需训练即可预测」一文讲透

【免费下载链接】tabfmTabFM (Tabular Foundation Model) is a pretrained tabular foundation model developed by Google Research for tabular data regression and classification.项目地址: https://gitcode.com/gh_mirrors/ta/tabfm

TabFM(Tabular Foundation Model,表格数据基础模型)是 Google Research 开源的预训练表格模型,让你对表格数据做分类和回归时,无需训练模型参数即可直接预测。它兼容 scikit-learn,支持混合列类型(数值 + 类别),并提供 JAX 与 PyTorch 双后端,CPU 也能跑,是近期表格数据领域最值得关注的开源项目之一。

TabFM 是什么?用 30 秒看懂核心原理

📊 传统的表格建模流程是:拿到数据 → 选模型 → 调参 → 训练 → 预测。而 TabFM 走的是大模型时代的路线——上下文学习(In-Context Learning):

  • 把你的**训练数据当作"上下文"**读入模型;
  • 模型基于海量表格数据预训练出的通用规律,不更新任何参数,直接对新的测试样本给出预测;
  • 换句话说,fit()只是做数据预处理(编码、缩放、采样),真正的"学习"发生在推理阶段。

💡 类比:就像你给 GPT 几个例子,它就能对新样本作答——TabFM 把这种能力带入了 Excel 式的表格世界。

官方定位说明见 README.md:

"At inference time, TabFM does not require training parameters on your dataset; instead, it leverages in-context learning by reading your training data as 'context' to make instant predictions."

TabFM 的 4 个核心亮点

亮点一:零训练、零调参,拿到就能预测

不用划分超参数、不用等 GPU 训练,fit()之后立刻predict()。对于数据分析师和非 ML 背景同学,这意味着把模型从"黑箱工程"变成了"一行函数调用"。

亮点二:scikit-learn 兼容,无缝融入现有工作流

TabFM 暴露了标准的 sklearn 接口(fit/predict/predict_proba),分类用 TabFMClassifier,回归用 TabFMRegressor。你熟悉的GridSearchCV、模型保存(1.0.1 版本已支持 pickle)等生态都能直接用。

亮点三:JAX / PyTorch 双后端,CPU 即可运行

  • JAX 后端:适合追求性能的场景,支持多设备(详见 tabfm/src/jax/model.py,内部还实现了 memory_efficient_attention.py 省显存注意力);
  • PyTorch 后端:适合 PyTorch 生态用户,默认 bfloat16 计算(详见 tabfm/src/pytorch/model.py)。

亮点四:内置集成学习预设,精度还能再拉一把

除了默认预测,TabFM 还提供TabFMClassifier.ensemble()预设:通过特征交叉 / SVD 特征、多轮上下文采样集成、NNLS 加权融合加概率校准,进一步提升精度(实现位于 EnsembleGenerator)。TabArena 实测脚本 examples/tabarena_classification_example.py 里可以直接对比两种预设的 ROC AUC 与 log loss。

快速上手:安装到预测只需 3 步

第 1 步:克隆仓库并安装

git clone https://gitcode.com/gh_mirrors/ta/tabfm cd tabfm pip install -e .[jax] # JAX 后端(CPU) # pip install -e .[jax,cuda] # JAX + GPU # pip install -e .[pytorch] # PyTorch 后端

⚠️ 环境要求 Python ≥ 3.11,预训练权重会自动从 Hugging Face 下载(依赖清单见 requirements.txt 与 pyproject.toml)。

第 2 步:加载预训练模型

import tabfm # 二选一:JAX 或 PyTorch 后端 model = tabfm.tabfm_v1_0_0_jax.load() # JAX 分类权重 # model = tabfm.tabfm_v1_0_0_pytorch.load() # PyTorch 分类权重

第 3 步:fit 后直接预测

import pandas as pd import numpy as np clf = tabfm.TabFMClassifier(model=model) X_train = pd.DataFrame({ "age": [25.0, 45.0, 35.0, 50.0], "job": ["engineer", "manager", "engineer", "manager"], "income": [80000, 120000, 90000, 130000], # 数值 + 类别混合列 }) y_train = np.array(["low_risk", "high_risk", "low_risk", "high_risk"]) clf.fit(X_train, y_train) # 只做预处理,不训练参数 X_test = pd.DataFrame({ "age": [30.0, 48.0], "job": ["engineer", "manager"], "income": [85000, 125000], }) print(clf.predict_proba(X_test)) # 立刻拿到类别概率

🚀 完整可运行脚本见 examples/classification_example.py 与 examples/regression_example.py,直接python examples/classification_example.py即可执行。

项目结构速览:关键文件都在哪?

模块路径说明
sklearn 接口与集成逻辑tabfm/src/classifier_and_regressor.pyTabFMClassifier/TabFMRegressor及全部预处理管线
JAX 模型实现tabfm/src/jax/model.pyTransformer 主干与省显存注意力
PyTorch 模型实现tabfm/src/pytorch/model.py等价 PyTorch 版本,默认 bfloat16
官方示例examples/分类、回归、TabArena 四类脚本
TabArena 评测结果results/4 个 parquet 文件(单模型 / 集成 × 分类 / 回归)
版本记录CHANGELOG.md1.0.0(2026-06-29 首发)→ 1.0.1(2026-07-09 修复)

需要注意的限制与许可证

📌许可证(重要):源码为 Apache-2.0,但默认load()下载的预训练权重受tabfm-non-commercial-v1.0许可约束——仅限非商业、非生产用途,商用或生产环境使用默认权重不被允许(详见 README.md 中的 License notice)。

📌表格大小上限:TabFM 基于有限上下文窗口的上下文学习,超大表格建议先采样或分片。sklearn 层通过参数暴露主要限制(默认 500 个特征、100 行上下文),还可通过集成与批大小扩展:

参数作用
max_num_features每个集成成员的特征子采样上限(默认 500)
max_num_rows上下文行数上限(默认 100)
n_estimators多上下文采样的集成规模
inference_batch_size推理内存控制

📌暂无技术报告:仓库目前未附带论文或技术报告,架构细节需直接阅读源码(FAQ 原文见 README.md)。

写在最后:TabFM 适合谁?

  • ✅数据分析师 / 新手:想快速对表格数据出基线,不想折腾特征工程与调参;
  • ✅ML 工程师:作为 AutoGluon、TabArena 流程中的"零训练"选手,与梯度提升模型赛跑;
  • ⚠️ 商业 / 生产场景需先确认权重许可证,或关注官方是否放出商用权重。

"无需训练即可预测"让表格建模的门槛从"会调参"降到了"会调包"。从 README 快速上手 开始,5 分钟就能让 TabFM 跑起你的第一个表格预测任务。

【免费下载链接】tabfmTabFM (Tabular Foundation Model) is a pretrained tabular foundation model developed by Google Research for tabular data regression and classification.项目地址: https://gitcode.com/gh_mirrors/ta/tabfm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 12:43:55

sea-orm如何用连接池

Sea-ORM 本身自带连接池,你调用:Database::connect(url).await返回的 DatabaseConnection 内部就是一个连接池,不需要你自己再包一层 Pool。1. 基础用法use sea_orm::{Database, DatabaseConnection, DbErr};pub async fn get_db_conn() ->…

作者头像 李华
网站建设 2026/10/3 12:43:19

AI 时代真正稀缺的,不只是 Token,而是高价值注意力

AI 时代真正稀缺的,不只是 Token,而是高价值注意力 关于 AI,一个很常见的判断是: 模型越来越强,很多岗位最终就不需要人了。 这个判断有一定道理,但如果只看“AI 能不能完成任务”,其实漏掉了生…

作者头像 李华