five

InstructDial

收藏
github2022-05-01 更新2025-01-17 收录
下载链接:
https://github.com/prakharguptaz/Instructdial
下载链接
链接失效反馈
资源简介:
The InstructDial dataset integrates 59 opensource dialogue datasets, covering 48 task types. Its goal is to enhance the models’performance on dialogue-related tasks through instruction fine-tuning. Models finetuned on this dataset exhibit good performance in Out-of-Distribution (OOD) scenarios and few-shot learning.

InstructDial数据集整合了59个开源对话数据集,涵盖48种任务类型。其核心目标是通过指令微调(instruction fine-tuning)提升模型在对话相关任务中的性能。基于该数据集进行微调的模型,在分布外(Out-of-Distribution,OOD)场景与少样本学习任务中均展现出优异的性能表现。
提供机构:
Carnegie Mellon University
创建时间:
2022-05-01
原始信息汇总

InstructDial 数据集概述

数据集简介

InstructDial 是一个用于对话系统的指令调优框架,旨在通过自然语言指令提升模型在未见过的任务和数据集上的零样本和少样本泛化能力。该框架包含48个多样化的对话任务,这些任务源自59个公开可用的对话数据集,并以统一的文本到文本格式进行组织。

数据集结构

  • 数据集来源:59个公开的对话数据集。
  • 任务数量:48个多样化的对话任务。
  • 格式:统一的文本到文本格式。

数据集处理

  • 数据集下载与预处理:每个数据集的下载和预处理脚本位于 datasets 文件夹中。用户可以通过添加新的 bash 脚本来处理新数据集。
  • 数据集读取器:每个数据集需要一个配置文件来指定超参数、文件位置、分割信息等。数据集读取器的默认配置通常在其对应的读取器文件中定义。

任务文件

  • 任务配置:每个任务需要一个配置文件,位于 configs 文件夹中。配置文件用于指定数据集读取器、指令模块、超参数、文件位置、分割信息等。
  • 任务文件生成:可以通过运行 run_tasks.py 脚本来生成任务文件。

序列到序列文件生成

  • 文件格式:任务文件包含输入和输出实例,通过脚本将这些实例格式化为提示,并添加元任务(如指令选择和指令预测)以及“以上都不是”选项。
  • 生成命令:使用 create_data_text2text 脚本来生成用于序列到序列训练的数据。

模型训练

  • 训练脚本:提供了用于训练 Bart-large 和 T0-3B 类型模型的脚本。训练脚本需要最新版本的 deepspeed 支持。
  • 模型下载:提供了在 Hugging Face 上预训练的模型,包括 DIAL-FLANT5-XL、DIAL-BART0 和 DIAL-T0。

模型微调

  • 微调步骤:用户可以通过格式化新任务或数据集的数据,并使用提供的脚本对预训练模型进行微调。

模型输出与评估

  • 生成模型输出:使用 run_generate.py 脚本生成模型输出并保存到文件。
  • 评估模型输出:使用 run_eval.py 脚本对模型输出进行评估,并将结果保存到文件。

总结

InstructDial 提供了一个系统化的框架,用于通过指令调优提升对话系统的性能。用户可以通过添加新数据集和任务来扩展该框架,并使用提供的脚本进行数据处理、模型训练和评估。

搜集汇总
数据集介绍
main_image_url
构建方式
InstructDial数据集的构建基于指令调优(Instruction Tuning)范式,旨在通过自然语言指令提升对话系统的零样本和小样本泛化能力。该数据集整合了59个公开可用的对话数据集,并将其转化为48个多样化的对话任务,统一为文本到文本的格式。每个数据集通过bash脚本从开放源下载并提取,随后通过数据集读取脚本将原始数据格式化为适用于新任务的形式。每个对话任务的配置通过JSON文件定义,包含数据集列表和超参数。最终,任务实例被转换为序列到序列(seq2seq)格式,用于语言模型的调优。
特点
InstructDial数据集的特点在于其多样性和统一性。它涵盖了广泛的对话任务,如自然语言理解、生成、领域特定交互等,并通过统一的文本格式将这些任务整合在一起。数据集支持零样本和小样本学习,能够在未见过的任务和数据集上表现出色。此外,数据集引入了新颖的元任务(meta-tasks),以确保模型能够遵循指令。通过这种方式,InstructDial为对话系统的跨任务泛化能力提供了强有力的支持。
使用方法
使用InstructDial数据集时,首先需要通过bash脚本下载并预处理所需的数据集。随后,使用数据集读取脚本将数据格式化为适合任务的形式。每个任务的配置通过JSON文件定义,用户可以根据需要调整超参数和数据集列表。任务实例被转换为seq2seq格式后,可用于训练语言模型。用户还可以通过提供的脚本对预训练模型进行微调,以适应新的任务或数据集。生成模型输出后,可以通过评估脚本对模型性能进行测试,并将结果保存为文件。整个过程支持灵活的任务添加和配置调整,适用于多种对话任务的研究和开发。
背景与挑战
背景概述
InstructDial数据集由研究团队于2022年推出,旨在通过指令调优提升对话系统中的零样本和小样本泛化能力。该数据集由59个公开对话数据集转化而成,涵盖了48种多样化的对话任务,并以统一的文本到文本格式呈现。InstructDial的创建标志着对话系统领域在指令调优方面的首次系统性探索,其研究成果在EMNLP 2022会议上发表。该数据集不仅为对话任务提供了新的基准,还显著推动了自然语言理解与生成、领域特定交互等任务的研究进展。通过引入新颖的元任务,InstructDial确保了模型对指令的遵循性,并在多个对话任务上建立了零样本和小样本性能的基准。
当前挑战
InstructDial数据集在构建和应用过程中面临多重挑战。首先,对话系统的多样性和复杂性使得统一的指令调优框架难以设计,尤其是在跨任务泛化能力的提升上。其次,数据集的构建需要将大量异构的对话数据集转化为统一的格式,这一过程涉及复杂的预处理和格式转换,确保数据的一致性和可用性。此外,模型在零样本和小样本设置下的性能优化也是一个重要挑战,尤其是在面对未见过的任务和数据集时,如何保持高水平的泛化能力仍需深入研究。最后,指令调优的引入虽然提升了模型的适应性,但也增加了模型训练的复杂性和计算成本,尤其是在大规模语言模型的应用中。
常用场景
经典使用场景
InstructDial数据集在对话系统的研究中扮演了重要角色,尤其是在零样本和小样本学习场景中。通过将自然语言指令与语言模型结合,该数据集能够显著提升模型在未见过的任务和数据集上的表现。其经典使用场景包括对话评估、意图检测和关键词生成等任务,这些任务在对话系统中具有广泛的应用需求。
实际应用
在实际应用中,InstructDial数据集被广泛用于智能客服、虚拟助手和社交机器人等对话系统的开发。通过指令调优,这些系统能够在面对用户多样化的需求时,快速适应并生成符合上下文的响应。例如,在智能客服中,系统可以根据用户的问题自动生成流畅且连贯的回答,极大地提升了用户体验和系统的智能化水平。
衍生相关工作
InstructDial数据集衍生了许多经典的研究工作,尤其是在对话系统的指令调优和跨任务泛化领域。基于该数据集的研究成果,许多模型如DIAL-FLANT5-XL、DIAL-BART0和DIAL-T0等被开发并应用于实际场景。这些模型不仅在学术研究中取得了显著成果,还在工业界的对话系统开发中得到了广泛应用,推动了对话系统技术的进一步发展。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作