用EXAONE-Tabular做表格回归:999分位数分布头为什么比传统点预测更准?

发布时间:2026/11/3 19:11:42
用EXAONE-Tabular做表格回归:999分位数分布头为什么比传统点预测更准?

【免费下载链接】EXAONE-Tabular

项目地址:https://ai.gitcode.com/hf_mirrors/LG-AI-Research/EXAONE-Tabular
点击查看免费下载

EXAONE-Tabular 是 LG AI Research 推出的表格数据基础模型,其中的回归器EXAONETabularRegressor不用任何梯度训练,靠上下文学习(in-context learning)即可完成预测。它最亮眼的地方在于:模型输出不是传统的"一个预测值",而是每行一个999 分位数分布头——完整刻画目标的条件分布,再从中还原出一个更贴近 RMSE 最优解的点估计。本文带你搞懂这套机制为什么比传统点预测更准。📊

什么是EXAONE-Tabular:免训练的表格回归基础模型

传统上,表格回归要做三件事:选模型(XGBoost、LightGBM 等)、调参、训练。EXAONE-Tabular 全部省掉了:

  • 架构:基于 Transformer 的 Cross-axis Summary Transformer(CAST),约21M 参数(回归器 21,110,247 个),12 层、6 个注意力头、嵌入维度 192
  • 用法:把带标签的行交给fit,模型对新的行做一次前向传播就出结果——没有梯度更新、没有按数据集单独训练
  • 接口:scikit-learn 风格的fit/predict,可以直接放进sklearn.pipeline.Pipeline

它同时发布了分类器和回归器两个检查点,本仓库内就能直接看到回归器权重文件 exaone-tabular-regressor-v1_default.safetensors,详细架构见 EXAONE_Tabular_v1.0_Technical_Report.pdf。

点预测的局限:为什么"只给一个数"会丢信息

传统回归模型(线性回归、GBDT、普通神经网络)的最后一个神经元只输出一个数字。问题在于:

  1. 它不知道目标长什么样。收入、房价、销量这类目标往往是右偏的:大多数样本集中在低值区,少数样本拖出长尾。
  2. 中位数会被偏态"带偏"。很多模型倾向预测中位数,但对偏态目标,RMSE 真正奖励的是条件均值(conditional mean)——中位数在偏态分布下系统性偏低。
  3. 对离群值敏感且无缓冲,尾部噪声直接污染训练和预测。

一句话:点预测只描述了"最可能的值",丢掉了整条分布的形状。

999分位数分布头:一次前向传播得到完整分布

EXAONE-Tabular 回归器的输出头不是 1 个神经元,而是999 个——对应 0.001、0.002 … 0.999 这 999 个分位数点,完整重建目标的条件分布。

关键配置值说明
quantile_count999输出头宽度,必须与检查点一致
分位数位置linspace(1/1000, 999/1000, 999)加载器会精确校验这个 buffer
decoder_hidden_width384解码器隐层宽度
权重精度float32运行时默认转 float16 计算

这种"分布式输出"带来三个直接收益:

  • 默认读法直接对齐 RMSE:predict默认把分布还原为条件均值的估计,这正是 RMSE 评分的标准答案;
  • 天然鲁棒:读值前先对分位数排序(防止"交叉分位数"打乱顺序),再对中间 99.8% 的区域做梯形积分(trimmed mean),自动忽略最两端各 0.1% 的极端噪声;
  • 分布信息随手可得:同一份输出里,中位数、任意分位数、不确定性区间都能读出来。

想取中位数或任意分位数?改一个配置即可

默认读法是裁剪均值(trimmed mean),适合 RMSE 场景。如果你的业务需要中位数,只要在manifest的RegressionConfig里设置point_estimate="median"即可,不需要换权重——这也是分布头相对点预测的灵活性优势。相关机制的原文描述见 README.md。

效果怎么样:基准榜单上的回归成绩

在 51 个模型、102 个数据集的 ScoringBench 对比池中(排名越小越好):

模型R² 平均排名 ↓CRPS 平均排名 ↓
EXAONE Tabular8.756.07
TabPFN-310.036.16
Nori-30M14.9011.59
TabICLv215.9911.88
CatBoost33.5234.62
XGBoost38.8338.76

注意CRPS(连续排序概率评分)这一列:它专门衡量"概率预测"的质量,是分布式模型的主场。EXAONE Tabular 的 CRPS 排名(6.07)比 R² 排名(8.75)还好,仅次于 TabPFN-3——这正是 999 分位数分布头"完整刻画分布"能力的直接体现。

在 TabArena 上,它整体 Elo1755(第 2),回归子榜 Elo1883(第 2),而参数量只有约 21M,预测成本约 0.605 秒/千条样本,远低于同级对手。

快速上手:三步跑通表格回归

环境要求:Python ≥ 3.11、PyTorch ≥ 2.6,强烈建议 CUDA GPU(CPU 可跑但较慢)。克隆仓库后pip install .即可(依赖会一并安装,from_pretrained会自动拉取回归器权重并做完整性校验)。

用 sklearn 自带糖尿病数据集体验:

from sklearn.datasets import load_diabetes from sklearn.model_selection import train_test_split from exaonetabular import EXAONETabularRegressor X_train, X_test, y_train, y_test = train_test_split( *load_diabetes(return_X_y=True), test_size=0.25, random_state=0 ) reg = EXAONETabularRegressor.from_pretrained(device="cuda:0") # 下载+校验+加载 reg.fit(X_train, y_train) # 无训练:存上下文 + 拟合预处理器 y_pred = reg.predict(X_test) # (n_samples,) 浮点预测值

就这样——没有调参循环,没有训练过程。

上手前必须知道的3个细节

输入要求:数值型数组与 1024 列上限

  • X必须是二维floatNumPy 数组,y必须是一维有限实数(NaN/inf会报错)
  • 目标列无需自己归一化:模型会按 support 集合做标准化,预测后再映射回来
  • 超过1024 列的宽表会被自动收窄:用单变量f_regression做特征筛选(不消耗前向传播),再给每个集成成员追加16 个 support-SVD 分量增强

大样本集自动触发加权集成

fit会把 20% 的样本留出,用最小二乘(NNLS)解出非负的集成成员权重,并与均匀权重1/E按 75/25 混合——"懂你这张表"的成员获得更大话语权,同时保证结果始终落在凸组合内。该机制需要约2000 条留出样本(样本量约 1 万行以上才激活),小表自动回退到均匀平均,不会因权重过拟合而变差。详见 README.md。

许可证:权重仅限非商业用途

代码库采用 BSD-3-Clause-LG AI Research License(允许商用),但发布的模型权重遵循 EXAONE AI Model License 1.2 - NC,仅限非商业研究与教育用途,详见 LICENSE。

总结

EXAONE-Tabular 回归器用 999 分位数分布头替代传统点预测输出头,本质上是把"猜一个数"升级为"描述整条分布":默认裁剪均值精准对齐 RMSE 的目标(条件均值)、尾部噪声被自动剔除、中位数和任意分位数随时可读,再叠加 NNLS 加权集成与 SVD 增强,最终在 ScoringBench 的 CRPS 榜单上拿到仅次于 TabPFN-3 的第 2 名——这就是分布式回归头比传统点预测更准的原因。⚖️

延伸资料:README.md(完整用法与超参数说明)、config.json(模型标识)、EXAONE_Tabular_v1.0_Technical_Report.pdf(技术报告)

【免费下载链接】EXAONE-Tabular

项目地址:https://ai.gitcode.com/hf_mirrors/LG-AI-Research/EXAONE-Tabular
点击查看免费下载
上一篇:免费、原生、只有 8MB:macOS 上的 Photoshop 平替 Compositor 到底能打吗
下一篇:为什么mlx_lm.load会算错?pplx-decider-v1.1-27b-4bit的noncausal注意力陷阱与正确加载方式

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