数据集:

tatsu-lab/alpaca

英文

Alpaca 数据集卡片

数据集概述

Alpaca 是由 OpenAI 的 text-davinci-003 引擎生成的 52,000 条指令和演示的数据集。这些指令数据可用于进行语言模型的指令调整,使语言模型更好地跟随指令。

作者在来自 Self-Instruct framework 的数据生成流程基础上进行了以下修改:

  • 使用 text-davinci-003 引擎生成指令数据,而不是 davinci 。
  • 编写了 new prompt ,明确指定了向 text-davinci-003 生成指令的要求。
  • 使用更具攻击性的批处理解码方法,即一次生成 20 个指令,从而显著降低了数据生成的成本。
  • 对分类和非分类指令之间的差异进行了简化,简化了数据生成流程。
  • 每条指令仅生成了一个实例,而不是像 Self-Instruct 中那样生成 2 到 3 个实例。

这样以低成本(不到500美元)获取到了一个包含52K个示例的遵循指令数据集。在初步研究中,作者还发现与 Self-Instruct 公开的数据相比,这52K生成的数据更加多样化。

支持的任务和排行榜

Alpaca 数据集旨在用于指令训练预训练语言模型。

语言

Alpaca 中的数据为英语(BCP-47 en)。

数据集结构

数据实例

"train" 的示例如下所示:

{
    "instruction": "Create a classification task by clustering the given list of items.",
    "input": "Apples, oranges, bananas, strawberries, pineapples",
    "output": "Class 1: Apples, Oranges\nClass 2: Bananas, Strawberries\nClass 3: Pineapples",
    "text": "Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.\n\n### Instruction:\nCreate a classification task by clustering the given list of items.\n\n### Input:\nApples, oranges, bananas, strawberries, pineapples\n\n### Response:\nClass 1: Apples, Oranges\nClass 2: Bananas, Strawberries\nClass 3: Pineapples",
}

数据字段

数据字段如下:

  • instruction: 描述模型应执行的任务。这 52K 条指令中每一条都是唯一的。
  • input: 任务的可选上下文或输入。例如,当指令是 "Summarize the following article" 时,输入是文章内容。大约40%的示例具有输入。
  • output: 由 text-davinci-003 生成的指令答案。
  • text: 使用作者用于微调模型的 prompt template 进行格式化的 instruction、input 和 output。

数据划分

train
alpaca 52002

数据集创建

策划原理

[需要更多信息]

源数据

初始数据收集和标准化

[需要更多信息]

谁是源语言的生产者?

[需要更多信息]

注释

注释过程

[需要更多信息]

注释者是谁?

[需要更多信息]

个人和敏感信息

[需要更多信息]

使用数据的注意事项

数据的社会影响

引用发布此数据集的 blog post 中的摘录:

我们相信发布以上资源将使学术界能够对遵循指令的语言模型进行可控的科学研究,从而产生更好的科学研究,并最终针对这些模型的现有不足开发出新技术。同时,任何发布都会带来一定的风险。首先,我们认识到发布我们的训练配方揭示了某些功能的可行性。一方面,这使更多的人(包括不良行为者)能够创建可能会造成伤害的模型(无论是故意的还是非故意的)。另一方面,这种意识可能会激励迅速的防御性行动,特别是来自学术界,现在他们有了深入研究这些模型安全性的手段。总体而言,我们认为对研究界的好处超过了此特定发布的风险。鉴于我们已经发布了训练配方,我们认为发布数据、模型权重和训练代码所带来的进一步风险是最小的,考虑到配方的简单性。同时,发布这些资源对于可重复性科学来说有巨大的好处,这样学术界可以使用标准数据集、模型和代码进行可控的比较和扩展研究。部署 Alpaca 的互动演示还存在潜在的风险,比如更广泛地传播有害内容,降低垃圾邮件、欺诈或虚假信息的门槛。我们采取了两个风险缓解策略。首先,我们使用 OpenAI 的内容审查 API 实现了内容过滤器,根据 OpenAI 的使用政策过滤出有害内容。其次,我们使用 Kirchenbauer 等人在 2023 年描述的方法对所有模型输出进行了水印处理,以便他人可以(以某种概率)检测到输出是否来自 Alpaca 7B。最后,我们对演示应用有严格的条款和条件;它仅限于非商业和符合 LLaMA 许可协议的使用。我们了解到这些缓解措施在我们发布模型权重或用户自己训练其指令跟随模型时可以被绕过。然而,通过安装这些缓解措施,我们希望推进最佳实践,并最终制定社区对基础模型负责任部署的规范。

偏见讨论

[需要更多信息]

其他已知限制

alpaca 数据由语言模型(text-davinci-003)生成,不可避免地包含一些错误或偏见。我们鼓励用户谨慎使用这些数据,并提出新的方法来过滤或改进其中的不完善之处。

其他信息

数据集策划者

[需要更多信息]

许可信息

该数据集在 Creative Commons NonCommercial (CC BY-NC 4.0) 下可用。

引用信息

@misc{alpaca,
  author = {Rohan Taori and Ishaan Gulrajani and Tianyi Zhang and Yann Dubois and Xuechen Li and Carlos Guestrin and Percy Liang and Tatsunori B. Hashimoto },
  title = {Stanford Alpaca: An Instruction-following LLaMA model},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/tatsu-lab/stanford_alpaca}},
}

贡献

[需要更多信息]