NLP:BIG-bench基准任务的简介、安装、使用方法之详细攻略

NLP:BIG-bench基准任务的简介、安装、使用方法之详细攻略

目录

BIG-bench基准任务的简介

1、BIG-bench基准任务的概述

2、BBL

BIG-bench基准任务的安装

BIG-bench基准任务的使用方法

1、使用SeqIO+加载BIG-bench json任务的快速启动


BIG-bench基准任务的简介

1、BIG-bench基准任务的概述

简介

BigBench是一个面向人工智能(AI)的基准测试套件,该套件涵盖了各种AI任务。BigBench任务是一个广泛的自然语言处理(NLP)基准测试,旨在评估语言模型在各种复杂的任务上的性能。它是一个由众多具有挑战性的任务组成的集合,这些任务与现实世界的数据没有直接联系。

The Beyond the Imitation Game Benchmark(BIG-bench)是一个协作基准,旨在探索大型语言模型并推测其未来的能力。BIG-bench包含的200多个任务可以通过关键词摘要和任务名称摘要来进行概述。一篇介绍该基准的论文,包括对大型语言模型的评估结果,目前正在审查中,并可作为预印版获得。

目标

BigBench任务的目标是评估语言模型在处理复杂和挑战性任务时的能力,以便更全面地了解其在真实世界应用中的表现。

BigBench试图创建一个模拟现实应用场景的基准,以更全面的方式评估和比较AI算法。

>> 衡量AI系统在现实任务上的通用能力

>> 提供一个比较不同AI系统相对长足的方式

>> 指出AI系统仍然存在的局限性

>> 通过分析AI系统在BigBench测试集上的表现,可以帮助研究人员更好地了解AI的强点和弱点,并指导未来的研究。

意义

BigBench旨在测试语言模型的通用能力,例如推理、常识、逻辑等。

这些任务旨在推动语言模型的发展,并提供一个公平的基准测试,以比较不同模型的性能和进展。

任务类别

BigBench任务涵盖了多个领域,包括文本理解、推理、逻辑推理、数学推理和常识推理等。其中一些任务包括:

文本理解任务:要求模型理解文本的含义和语境,例如文本蕴涵、共指消解和阅读理解。

推理任务:要求模型进行逻辑推理和推断,如因果推理、逆向比例定律等。

数学推理任务:要求模型应用数学规则和逻辑进行数学推理,解决数学问题。

常识推理任务:要求模型利用常识和先验知识进行推理,例如回答关于现实世界的常识性问题。

包含170个任务,覆盖20多个数据集。每个任务都由一个模板、一组例子和一个测试集组成。

• 机器翻译

• 文本分类

• 序列标注

• 抽取式摘要

• 信息检索

• 表格解读

• 数理推理

• 常识推理

• 多模态推理

• 规划

• 数学问题解答

应用案例

PaLM 540B算法采用:人类平均表现仍然高于PaLM 540B在35%的BigBench任务中,而有些任务即使进行扩展也没有帮助,比如导航数学归纳

官方地址
GitHub - google/BIG-bench: Beyond the Imitation Game collaborative benchmark for measuring and extrapolating the capabilities of language models

2、BBL

BIG-bench Lite (BBL)是BIG-bench中包含的24个多样化的JSON任务的一个小子集。它旨在提供模型性能的规范度量,同时比评估BIG-bench中超过200个编程和JSON任务的完整集合要便宜得多。下面是BBL上当前模型性能的排行榜。要将新的模型结果添加到完整的BIG-bench排行榜、BBL排行榜和个别任务性能图中,请提交一个包含评估模型在BIG-bench任务上生成的分数文件的PR。

BIG-bench基准任务的安装

安装BIG-bench|
Python 3.5-3.8
pytest(用于运行自动化测试)

首先,克隆存储库并设置环境。

#在创建新任务时,将此替换为您分叉的存储库(见下文)

git clone https://github.com/google/BIG-bench.git

cd BIG-bench

python setup.py sdist

pip install -e .

接下来,运行自动化测试以确保一切正常。

pytest -s

BIG-bench基准任务的使用方法

1、使用SeqIO+加载BIG-bench json任务的快速启动

!pip install git+https://github.com/google/BIG-bench.git # This may take a few minutes

import seqio
from bigbench.bbseqio import tasks

# See all subtasks
bb_mix = seqio.get_mixture_or_task("bigbench:all_json.mix.t5_default_vocab.0_shot.all_examples")
all_subtasks = [t.name for t in bb_mix.tasks]
print("\n".join(all_subtasks[:7]) + "\n...")

# Inspect an example task
task = seqio.get_mixture_or_task("bigbench:simple_arithmetic_json.gen.t5_default_vocab.0_shot.all_examples")
ds = task.get_dataset(split="all", sequence_length={"inputs": 32, "targets": 32})
print(next(iter(ds)))

猜你喜欢

转载自blog.csdn.net/qq_41185868/article/details/130514316