查看原文
其他

最新发布!中文通用开源指令数据集(COIG):更大,更多样,质量更高,开源~

ShuYini AINLPer 2023-07-10

点击上方AINLPer,设为星标

更多干货,第一时间送达

引言

 随着InstructGPT和ChatGPT的发布,指令调优(Instruction Tuning)被认为是构建通用大语言模型的关键技术,因此受到了研究人员和公众的广泛关注。面向英语的大语言模型 (LLM) 取得了惊人的成绩,其主要原因是针对英语任务做了精心的指令调优。那么对于中文任务,如何基于英语的LLM进行指令调优从而达到英文的水平呢?如何构建调优所需的中文指令数据集呢?今天给大家分享的这篇文章针对以上问题,「BAAI开发了新的指令调优语料库,并于昨天(4月17日)发布:中文通用开源指令数据集(COIG),该数据集相比其它数据集:更大,更多样,并且具有很高的质量(人工验证)」https://arxiv.org/pdf/2304.07987.pdf

背景介绍

 预训练大语言模型(PLLMs)在许多下游任务中都表现出了革命性的性能。这得益于LLM的一项关键能力:指令跟随(Instruction Following),即模型可以根据指令描述完成任务。这种能力主要来自于一个特殊的训练阶段--指令调优(Instruction Tuning)。「相比用于预训练的未标记数据,应用指令调优的数据更侧重于目标导向」

 目前有有许多英文指令调优数据集。例如,FLAN集合包含1500万个例子,涵盖1836个任务;OPT-IML有1800万个例子,涵盖2000多个任务等。相比之下,「现有的汉语指令调优数据资源要么规模小,要么质量有问题」。例如有研究人员直接将英语指令调优数据翻译成中文,没有考虑减少翻译错误或潜在的文化差异,例如中国人更喜欢自我牺牲精神,而大多数西方国家更喜欢自我表达和个人主义英雄主义。对于大多数使用中国LLM构建的数据集,它们通常缺乏全面的数据验证以保证数据质量。因此,作者开发新的指令调优语料库:中国通用开放指令数据集(COIG),它更大,更多样化,并由人工验证确保了它的质量。

COIG 特征介绍

 相比之前的中文指令数据集,COIG数据集在领域适应性、多样性、数据质量等方面具有一定的优势。目前COIG数据集主要包括:通用翻译指令数据集、考试指令数据集、价值对其数据集、反事实校正数据集、代码指令数据集。

「领域适应性」:如下表所示,COIG 主要包含四个维度:验证、格式、文化、缩放。对于每个领域,调整数据收集途径以更好地反映领域的专业性。「多样性」:COIG 考虑各种任务,包括常识推理、人类价值对齐、代码生成和幻觉纠正。

「数据质量」:与现有的模型生成的中文指令语料库相比,COIG 翻译语料库经过了人工的精心核验。此外,由于 COIG 翻译语料库是从具有不同任务的英语指令语料库翻译而来,因此它比通过在现有中文数据集上采用提示工程构建的中文指令语料库更加多样化。

 COIG的数据主要来自网络上的实际数据,作者根据其特点将其其转化为合适的指令跟随(instruction-following)方式。例如,在学术考试领域,从中国高考、公务员考试等中抓取并手动注释了 63.5k 条指令。COIG的另一个特点是包含了中文世界中人类价值取向的数据,以及基于leetcode的编程示例指导。为了保证最终的数据质量,作者聘请了223名中国大学生作为质量核查员,帮助我们进行数据过滤、修正和评级。所得到的COIG语料库是一个综合性的语料库,可以使中国 LLM 在许多领域上具有强大的指令遵循能力。

COIG具体数据集介绍

 目前COIG数据集主要包括:通用翻译指令数据集、考试指令数据集、价值对其数据集、反事实校正数据集、代码指令数据集。

翻译指令数据集

「为了使语料库能够用于商业和非商业用途,这些源指令不是由OpenAI API生成,而是基于开源数据集精选而来,总共有 67798 条指令」。为了进一步提高指令语料库的质量,作者将翻译指令数据集过程分为自动翻译、人工验证、人工校正三个阶段。具体:

「首先,在自动翻译阶段」,将指令与实例的输入和输出连接起来,并将它们送入 DeepL6 进行翻译。

「其次,人工验证阶段」,采用两阶段质量验证:第一阶段,每个案例由标注员标注后,由具有5年以上工作经验的行业资深质检员进行验证。当且仅当正确率超过 95% 时,整个语料库才能进入第二个质量验证阶段;第二阶段,由专家质检员负责,他们仅从总语料库中随机抽取 200 个案例进行质量验证。当且仅当所有样本案例都被正确分类时,语料库才能进入人工校正阶段。

「最后,在人工修正阶段」,标注者被要求将翻译的指令和实例修正成正确的中文{指令,输入,输出}三元组,而不是仅仅保持翻译正确,注释者被要求这样做是因为源代码中存在不自然指令的事实错误,这可能导致 LLM 产生幻觉。

考试指令数据集

 中国高考、中考、公务员考试是主要的汉语常识性考试。这些考试包含各种问题格式和详细分析,可用作思维链 (CoT) 语料库。作者使用potato,一个主动学习驱动的开源注释网站模板,进行手动注释,从原始试题中提取六个信息元素,包括说明、问题上下文、问题、答案、答案分析以及粗粒度的主题。这些考试中有很多阅读理解题,题目上下文就是这些阅读理解题的阅读材料。有六个主要的粗粒度科目:中文、英文、政治、生物、历史和地质。语料库中的数学、物理和化学问题很少,因为这些问题通常带有难以注释的复杂符号。我们在下图1中说明了问题格式百分比,在下图2中说明了主要主题百分比。

价值对齐数据集

「中文世界的价值观念不同于英语世界的价值观」,为了尊重和反映这种由不同文化背景造成的主要差异。作者将价值对齐数据分为两个独立的集合:1)一组展示华语世界共有的人类价值观的样本集;2) 一些展示区域文化或国家特定人类价值观的额外样本集。对于第一个共享集,选择 self-instruct作为增加一组种子指令跟随样本的主要方法。对于附加集,为保证数据真实反映当地价值,我们主要依靠网络爬虫收集原始形式的数据。在过滤数据时特意考虑了以下三个原则:

  • 1)它应该呈现华语世界广泛接受的共同人类价值观,而不是区域性价值观;
  • 2)不得包含政治宣传或宗教信仰,不得与有争议的主张相关。
  • 3)它不应该只是解释谚语或引语,因为它们很可能包含在知识检索指令的后续数据中。

 总的来说,我们选择 50 条指令作为增强种子,并根据样本生成 3k 条结果指令,用于中文世界的通用值对齐。同时,我们还收集了 19,470 个样本作为区域添加,这是针对中国用户的(包括许多仅在中文社区中使用的术语)。

反事实校正数据集

 LLM 在各种 NLP 应用程序中无处不在。然而,「这些LLM模型通常会产生不真实的反应,在某些情况下甚至会传播错误信息(产生模型幻觉)」。这些模特可能会错误地反复坚持一个主张,而没有迹象表明内部意识到该主张是他们自己想象的产物。为了缓解上述问题,并增强模型响应的真实性,作者构建了反事实校正多轮聊天数据集(CCMC)。它基于CN-DBpedia知识库构建,旨在缓解和解决当前LLM中幻觉和事实不一致的痛点。

 CCMC 数据集包括学生和老师之间的 5 轮角色扮演聊天,以及他们所参考的相应知识。教师根据基本事实知识生成响应,并在每一轮中纠正学生问题或陈述中的事实错误或不一致之处。在最后一轮,老师将总结聊天内容并复习容易混淆的术语,即学生问题或陈述中的事实错误或不一致之处。该「数据集包含 13,653 次对话,产生 68,265 轮聊天」

代码指令数据集

 考虑代码相关任务同样有助于 LLM 的发展,在数据集中应考虑中文自然语言与代码相关的任务。因此,「作者构建 Leetcode 指令,其中包含 2589 个编程问题。这些问题包含问题描述、多种编程语言和解释」

 考虑到输入和输出,将指令任务分为两类:代码到文本和文本到代码。代码到文本任务需要生成给定编程代码的函数描述,而文本到代码任务需要的输出代码。根据程序问题是否需要有相应的解释,任务指令将以有/无解释来区分。作者准备了 38 种类型的描述来生成 Leetcode 指令。Leetcode 指令的统计信息如下表所示。

指令数据集构建经验

 首先,采用上下文学习 (ICL) 生成新指令是扩大指令语料库大小的一个关键因素。使用.现有 LLM 的 ICL 能力生成这些指令比依赖手动注释或其他方法更现实。「LLM 开发人员应根据开源许可、数据源与 OpenAI 的关系以及他们的需求,来判定选择哪些 LLM 和种子指令语料库」 其次,「当目标语言和源指令语料库的语言之间存在文化差异时,需要人工注释或验证」。必须手工选择种子指令,以确保种子指令与中国文化保持一致,并且不包含政治宣传或区域信仰。作者还建议使用现有的语料库,例如从论坛中抓取语料库并对其进行后处理进行使用。

 最后,「模型生成的语料库需要更详细的人工质量验证,尤其是在输出格式至关重要的情况下」。在非自然指令的翻译和验证过程中,注意到许多不遵循模型生成指令的实例和很多的不完善的模型生成指令。另一个问题是模型生成指令的多样性和分布高度依赖于种子指令。手动选择和验证可能有助于从大型原始指令语料库中抽取指令语料库,该语料库比大型原始指令语料库本身具有更均衡的分布和更好的多样性。

推荐阅读

[1]以中国神兽 “凤凰” 命名的大型自然语言模型

[2]MiniGPT-4 发布,代码模型开源,支持在线体验!

[3]白泽:一个以中国神兽命名的大型自然语言模型

[4]NLP突破界限,2023 十篇必读的顶级NLP论文!

[5]麻省理工(MIT)的最新研究: 重塑你对LLMs的理解!

[6]OpenAGI:一个开源的通用人工智能(AGI)研究平台

点击下方链接🔗关注我们

「资料整理不易,点个再看吧」

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存