☰
SuperGLUE 数据集快速上手:3 步用 Hugging Face datasets 加载 Parquet 数据的完整指南
2026/10/18 1:13:31 网站建设 项目流程

【免费下载链接】super_glue

项目地址:https://ai.gitcode.com/hf_mirrors/aps/super_glue
点击查看免费下载

🧩 想在 3 分钟内用上SuperGLUE基准测试数据吗?本文面向新手,用Hugging Face datasets库,仅 3 步就能加载SuperGLUE Parquet数据并查看内容,还附上 11 个子任务的清单和常见报错避坑指南。

SuperGLUE 是 2019 年发布的"更困难版"GLUE 语言理解基准,涵盖自然语言推理、阅读理解、词义消歧、共指消解等 11 个任务。Hugging Face 官方仓库中,每个任务的数据都按 Parquet 格式分片存放,datasets 库会自动下载并转换,无需手动处理。

准备工作:安装 datasets 库

只需要一行命令:

pip install -U datasets

💡 如果你用的是 Conda 环境,可以把pip换成conda,或改用pip install避免依赖冲突。

确认安装成功:

python -c "import datasets; print(datasets.__version__)"

能打印出版本号(如3.x.x)即可开始下一步。

第 1 步:一行代码加载 SuperGLUE 数据

SuperGLUE 在 Hugging Face Hub 上由config_name区分 11 个子任务,所以加载时要传两个参数:数据集名 + 配置名。

from datasets import load_dataset dataset = load_dataset("super_glue", "boolq") print(dataset)

运行后会看到类似输出:

DatasetDict({ train: Dataset({ features: ['question', 'passage', 'idx', 'label'], num_rows: 9427 }), validation: Dataset({...}), test: Dataset({...}) })

几个关键参数说明:

参数含义示例
第 1 个参数数据集名称"super_glue"
第 2 个参数(config)子任务配置名"boolq"、"rte"、"copa"
split只加载某个数据划分split="validation"
streaming流式读取,省内存streaming=True

只想加载验证集?加一个split参数即可:

dataset = load_dataset("super_glue", "cb", split="validation")

第 2 步:查看字段结构与数据样例

数据集加载后自带features属性,能列出所有字段名和类型。以boolq为例,它的字段是question、passage、idx、label(详见 README.md 的 Data Fields 部分)。

print(dataset["train"].features) print(dataset["train"][0])

label默认显示为整数,用int2str可以还原成语义标签:

d = dataset["train"][0] print(d["question"]) print(dataset["train"].features["label"].int2str(d["label"])) # True / False

不同子任务的字段略有差异,例如:

  • cb / axg / rte:premise(前提)、hypothesis(假设)、label
  • copa:premise、choice1、choice2、question
  • record:passage、query、entities、answers
  • wsc / wsc.fixed:text、span1_text、span2_text、span1_index、span2_index

⚠️注意:test划分只有axb和axg例外——它们只提供了 test 集。而cb、copa、record、rte等任务的 test 集在 Hugging Face 上通常不含 label 字段(用于官方排行榜评测),加载 test 集时请先确认字段是否存在。

第 3 步:转换格式,直接喂给模型

训练微调前,通常把数据转成 PyTorch 格式:

dataset.set_format("torch")

如果数据集太大(比如record有 10 万+ 训练样本、约 200 MB),推荐流式读取,不占本地磁盘:

dataset = load_dataset("super_glue", "record", split="train", streaming=True) dataset = dataset.shuffle(seed=42).take(100) dataset.set_format("torch")

streaming=True配合take()、shuffle(),是处理大 Parquet 数据集最快的配置方法之一。

SuperGLUE 的 11 个子任务一览 📊

Hugging Face 仓库为每个任务单独建目录存放 Parquet 文件(文件名格式为split-00000-of-00001.parquet),行数如下表所示:

任务说明训练集验证集测试集
axb自然语言推理(AX-B)——1,104
axg自然语言推理(AX-G)——356
boolq阅读理解,是非判断9,4273,2703,245
cb承诺关系推断25056250
copa常识因果推理400100500
multirc多句阅读理解27,2434,8489,693
record常识阅读理解100,73010,00010,000
rte文本蕴含识别2,4902773,000
wic词义上下文消歧5,4286381,400
wscWinograd 共指消解554104146
wsc.fixedWSC 修正版554104146

每个任务的 Parquet 文件都在对应子目录中,例如:

  • boolq/train-00000-of-00001.parquet
  • record/test-00000-of-00001.parquet
  • wsc.fixed/validation-00000-of-00001.parquet

完整的字段类型、标签取值(如entailment、contradiction)和分片信息,都可以查阅 README.md 中的 dataset_info 元数据。

常见坑与快速解决方法 🛠️

  1. 报BuilderConfig 'xxx' not found配置名写错了。SuperGLUE 只有上表 11 个合法配置名,注意wsc.fixed中的点号,不要写成wsc_fixed。

  2. test 集没有 label 列属于正常现象(官方评测集),调试时请用train或validation划分。

  3. 加载record时内存告警改用streaming=True,或加载后dataset.select(range(2000))先取子集。

  4. 想直接读本地 Parquet 文件不经过 Hugging Face 下载,可以用 PyArrow 直接打开:

    import pyarrow.parquet as pq table = pq.read_table("boolq/train-00000-of-00001.parquet")
  5. clone 下来的仓库里 parquet 文件很小?这类镜像仓库的 Parquet 文件可能是 Git LFS 占位符,直接访问会报Parquet magic bytes not found。请通过load_dataset在线加载,或执行git lfs pull拉取真实文件。

小结:3 步回顾 ✅

  1. pip install -U datasets安装依赖;
  2. load_dataset("super_glue", "boolq")加载指定子任务;
  3. 查看features、取[0]看样例,set_format("torch")后进入训练流程。

SuperGLUE 数据规模从几百条(cb)到十几万条(record)不等,配合 datasets 库的流式读取和分片机制,新手也能轻松完成从"加载 Parquet 数据"到"模型微调"的第一步。

📚 更多资料:完整的任务定义、许可证与引用信息见 README.md,各任务的 Parquet 文件位于各任务同名目录下。

【免费下载链接】super_glue

项目地址:https://ai.gitcode.com/hf_mirrors/aps/super_glue
点击查看免费下载

相关推荐

上一篇:开源项目 `up` 使用教程:终极管道构建利器
下一篇:StatusBarLyric 开源项目教程

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询