stanford-star/relbench

RelBench: Relational Deep Learning Benchmark

RelBench – 关系数据库深度学习基准测试

简介 – RelBench 是一个开源基准测试套件,让研究人员和工程师能够直接在关系数据库上训练并评估机器学习模型(特别是图神经网络)。它提供了一系列真实世界的关系数据集、统一的任务 API 以及公开排行榜。

重要性 – 大多数机器学习工作集中在平面表格或单表预测。关系数据(多个链接的表格)在业界很常见,但难以输入神经网络。RelBench 将此问题标准化,提供可直接加载的数据集、时间序列训练/验证/测试分割,以及通用的评估协议,以便公平地比较新方法。

关键组件

  • Python 套件 (relbench) – 通过 PyPI 安装。它从 Hugging Face hub 提取数据集和任务,并返回 Database 对象(原始表格)和 Task 对象(训练/验证/测试标签表格、指标计算器)。适用于任何机器学习堆栈;示例使用 PyTorch Geometric + PyTorch Frame。
  • 数据集与任务 – 从核心集(例如 rel-f1)开始,现已扩展至包含 SALT、RateBeer、arXiv、MIMIC-IV,以及通过 ReDeLEx 集成的超过 70 个 CTU 数据库和 4DBInfer 表格。每个数据集皆以自我描述的文件夹形式提供(manifest.yaml + parquet 表格 + 任务定义)。
  • 排行榜 – 三个排行榜(分类、回归、推荐)。提交方式为每个任务提供简单的 CSV 文件;CLI 指令 python -m relbench.submit 会进行验证、打包并开启 GitHub issue,并支持选用的自动化代理提交。
  • BYOD (自带数据) – 用户可以创建自己的 RelBench 格式文件夹并发布到 Hugging Face。无需中央注册;程序库可通过 org/repo[/subdir] 地址直接加载。
  • 教学与示例 – 提供 Colab 笔记本以快速入门,包含完整的 GNN 基线,以及 examples/ 目录中的可执行脚本。

典型工作流程

import relbench

ds = relbench.load_dataset("rel-f1")          # 从 HF hub 提取
db = ds.get_db()                               # 原始关系表格
task = ds.load_task("driver-position")        # 例如:实体预测任务
train = task.get_table("train")
# 在 `db` + `train` 上训练任何模型
pred = model.predict(db, test_entities)
score = task.evaluate(pred)                    # 使用任务特定的指标

该程序库也公开了 ds.val_timestamp 和 ds.test_timestamp 用于时间序列分割。

适用对象 – 开发关系深度学习模型的研究人员、希望为多表预测寻找即插即用基准测试的数据科学家,以及任何有兴趣在通用真实世界任务集上比较 GNN 或其他关系机器学习方法的人。

更多信息 – 项目网站、Hugging Face 数据集 hub、arXiv 论文(NeurIPS 2024 和 ICLR 2026),以及包含代码、排行榜和贡献指南的 GitHub 仓库。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目