GLUE Benchmark:自然语言处理(NLP)模型评估 的 基准测试集

GLUE Benchmark(General Language Understanding Evaluation)

GLUE(General Language Understanding Evaluation) 是一个用于 自然语言处理(NLP)模型评估基准测试集,用于衡量 预训练语言模型(如 BERT、GPT、T5、RoBERTa) 在多个 NLP 任务上的表现。

GLUE 测试的是模型的通用语言理解能力,涵盖 情感分析、文本蕴含、语义相似度、语法错误判断 等多个任务。


1. GLUE Benchmark 任务

GLUE 包含 9 个任务,涵盖 文本分类、句子关系判断、语义相似度计算 等常见 NLP 任务。

任务数据集任务类型训练样本数评估指标
CoLACorpus of Linguistic Acceptability语法判断(判断句子是否符合语法)8.5KMatthews 相关系数(MCC)
SST-2Stanford Sentiment Treebank情感分析(正/负)67K准确率(Accuracy)
MRPCMicrosoft Research Paraphrase Corpus句子语义匹配(判断两个句子是否相似)3.7KF1 / 准确率
QQPQuora Question Pairs问句语义匹配(判断两个问题是否相同)364KF1 / 准确率
STS-BSemantic Textual Similarity Benchmark句子相似度评分(0-5)7K皮尔逊相关系数 / Spearman 相关系数
MNLIMulti-Genre Natural Language Inference文本蕴含(判断句子间的逻辑关系)393K准确率
QNLIQuestion Natural Language Inference问答推理(判断回答是否来自文章)105K准确率
RTERecognizing Textual Entailment文本蕴含(判断句子间逻辑关系)2.5K准确率
WNLIWinograd Natural Language Inference核心指代消解(判断代词所指内容)634准确率

2. GLUE 任务示例

SST-2(情感分类)

句子标签
This movie is great!1(正向)
I hated this film.0(负向)

MRPC(句子相似性)

句子 1句子 2标签
The car was crushed.The vehicle was wrecked.1(相似)
She loves dogs.He dislikes cats.0(不相似)

MNLI(文本蕴含)

前提假设标签
A man is playing a guitar.A musician is performing.Entailment(蕴含)
A child is reading a book.A person is swimming.Contradiction(矛盾)
A woman is sitting on a chair.Someone is sitting.Neutral(中立)

3. GLUE Benchmark 评分

GLUE 评分 综合 9 个任务的表现,但 WNLI 任务通常被忽略,因为它的数据质量较差。

GLUE 评分通常以 任务平均分 来衡量 NLP 模型的能力,例如:

模型GLUE 总分
BERT (2018)80.5
RoBERTa (2019)88.5
T5-11B (2020)89.7

4. 如何在 GLUE 上测试 NLP 模型

使用 Hugging Face datasets 加载 GLUE

from datasets import load_dataset

# 加载 SST-2(GLUE 任务之一)
dataset = load_dataset("glue", "sst2")

# 查看数据
print(dataset["train"][0])

使用 transformers 微调 BERT

from transformers import AutoTokenizer, AutoModelForSequenceClassification, Trainer, TrainingArguments

# 加载预训练 BERT 模型
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased", num_labels=2)

# 处理数据
def preprocess(examples):
    return tokenizer(examples["sentence"], truncation=True, padding="max_length")

encoded_dataset = dataset.map(preprocess, batched=True)

# 训练参数
training_args = TrainingArguments(output_dir="./results", evaluation_strategy="epoch")

trainer = Trainer(model=model, args=training_args, train_dataset=encoded_dataset["train"], eval_dataset=encoded_dataset["validation"])

# 开始训练
trainer.train()

5. GLUE vs SuperGLUE

GLUE 是 2018 年提出的基准,但它的任务相对简单。
2019 年,提出 SuperGLUE,比 GLUE 更难,更适用于大规模 NLP 预训练模型

Benchmark任务数难度适用模型
GLUE9较简单BERT、GPT、RoBERTa
SuperGLUE8更难T5、GPT-3、PaLM

6. 结论

  • GLUE 是 NLP 预训练模型的标准评测基准,包含 9 个文本理解任务
  • 评估 NLP 模型的泛化能力,常用于 BERT、RoBERTa、T5 等 Transformer 模型。
  • GLUE 任务涵盖情感分析、文本蕴含、句子相似性等,适用于多种 NLP 应用场景。
  • Hugging Face 提供了 GLUE 数据集,可以用于快速训练和测试 Transformer 模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彬彬侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值