[LLM Data] Pre-training data set + instruction to generate sft data set

note

  • In the review of "Aligning Large Language Models with Human: A Survey", LLM data is classified into typical manual annotation data, self-instruct data sets, etc.
  • Excellent open source sft data sets: alpaca_data, belle, Qianyan data set, firefly, moss-003-sft-data multi-round dialogue data set, etc.

3 ways to construct directive instances

Insert image description here
The figure comes from the National People's Congress's LLM review "A Survey of Large Language Models"

  • Format task data set
  • Formatting a daily conversation dataset
  • Formatting synthetic data sets: self-instruct is this way. Initially, only more than 100 instances are needed as a task pool

sft:Aligning Large Language Models with Human: A Survey

This work [Address: arxiv.org/abs/2307.12966] classifies LLM’s sft data:

  • Manually labeled data
  • self-Instruct

Insert image description here

Alpaca

Link: https://github.com/tatsu-lab/stanford_alpaca
[stanford_alpaca] used self instruction to collect a 52k instruction training data set. output is the instruction answer generated by text-davinci-003.

1. self-instruct process

Insert image description here

  • Four steps: instruction generation; classification task recognition; instance generation; filtering and post-processing.
  • To empirically evaluate SELF-INSTRUCT, the framework was run on GPT3 (Brown et al., 2020). The iterative process of SELF-INSTRUCT on this model yielded approximately 52K instructions, and approximately 82K instance input and target output pairs. The resulting data provide a diverse set of creative tasks, more than 50% of which overlap with seed instructions below 0.3 ROUGE-L (§4.2). The generated instruction data can be used to fine-tune other large models.

2. Instance generation in alpaca

  • alpaca simplifies the process and does not divide it into classification/non-classification tasks.
  • Chinese examples are as follows:
你被要求提供10个多样化的任务指令。这些任务指令将被提供给GPT模型,我们将评估GPT模型完成指令的能力。
以下是你提供指令需要满足的要求:
1.尽量不要在每个指令中重复动词,要最大化指令的多样性。
2.使用指令的语气也应该多样化。例如,将问题与祈使句结合起来。
3.指令类型应该是多样化的,包括各种类型的任务,类别种类例如:brainstorming,open QA,closed QA,rewrite,extract,generation,classification,chat,summarization。
4.GPT语言模型应该能够完成这些指令。例如,不要要求助手创建任何视觉或音频输出。例如,不要要求助手在下午5点叫醒你或设置提醒,因为它无法执行任何操作。例如,指令不应该和音频、视频、图片、链接相关,因为GPT模型无法执行这个操作。
5.指令用中文书写,指令应该是12个句子,允许使用祈使句或问句。
6.你应该给指令生成适当的输入,输入字段应包含为指令提供的具体示例,它应该涉及现实数据,不应包含简单的占位符。输入应提供充实的内容,使指令具有挑战性。
7.并非所有指令都需要输入。例如,当指令询问一些常识信息,比如“世界上最高的山峰是什么”,不需要提供具体的上下文。在这种情况下,我们只需在输入字段中放置“<无输入>”。当输入需要提供一些文本素材(例如文章,文章链接)时,就在输入部分直接提供一些样例。当输入需要提供音频、图片、视频或者链接时,则不是满足要求的指令。
8.输出应该是针对指令和输入的恰当回答。 


下面是10个任务指令的列表:
###
1. 指令: 在面试中如何回答这个问题?
1. 输入:当你在车里独处时,你会想些什么?
1. 输出:如果是在晚上,我通常会考虑我今天所取得的进步,如果是在早上,我会思考如何做到最好。我也会尝试练习感恩和活在当下的状态,以避免分心驾驶。
###
2. 指令: 按人口对这些国家进行排名。
2. 输入:巴西,中国,美国,日本,加拿大,澳大利亚
2. 输出:中国,美国,巴西,日本,加拿大,澳大利亚

For example, the response generated using chatgpt 3.5 is:

3. 指令: 给出一个关于全球变暖的简短概述。
3. 输入: <无输入>
3. 输出: 全球变暖是指地球上气候系统的长期变化,包括气温、气压、降水和风等因素。虽然自然因素对气候的影响很大,但人类活动也在加剧全球变暖,导致气候的不稳定和极端天气事件的增多。

4. 指令: 给出一个有关健康的小贴士。
4. 输入: 我最近感到很疲倦,有什么建议可以提高我的能量?
4. 输出: 确保充足的睡眠是提高能量的重要因素。此外,保持健康的饮食和适当的锻炼也可以帮助提高能量水平。要尽可能避免糖和咖啡因,因为它们可能会导致疲劳。

5. 指令: 给出一个有关历史的事件描述。
5. 输入:请描述马丁·路德·金在美国民权运动中的作用。
5. 输出:马丁·路德·金是美国非裔民权运动的领袖之一,他通过非暴力抗议、演讲和写作等手段,推动了民权运动的发展,并取得了历史性的胜利,如《民权法案》和《选举权法案》的通过。

6. 指令: 给出一个有关文学的问题。
6. 输入:请问《麦田里的守望者》是谁写的?
6. 输出:《麦田里的守望者》是美国作家J·D·塞林格所写的小说,其讲述了一个年轻人的成长历程,被誉为20世纪最重要的小说之一。

7. 指令: 给出一个关于科技的趋势。
7. 输入:技术未来发展的趋势是什么?
7. 输出:未来,人工智能、物联网、区块链和量子计算等技术将继续发展,这些技术将改变我们的生活方式、工作方式和商业模式。此外,随着数据的不断增长,数据分析和数据科学也将成为越来越重要的技能。

8. 指令: 给出一个关于金融的问题。
8. 输入:请解释一下什么是债券。
8. 输出:债券是一种固定收益证券,它代表了借款人对债权人的债务。债券通常由政府、公司或其他实体发行,债券持有人可以获得固定的利息收益,并在债券到期时获得本金回收。

9. 指令: 给出一个地理问题。
9. 输入:请问世界上最高的山峰是什么?
9. 输出:珠穆朗玛峰是地球上海拔最高的山峰,位于中国和尼泊尔之间的喜马拉雅山脉中,海拔约为8,848米。

10. 指令: 给出一个关于医学的问题。
10. 输入:请解释一下心血管疾病是什么。
10. 输出:心血管疾病是一类疾病,包括冠心病、高血压、心脏衰竭、心律失常和动脉硬化等。这些疾病影响心血管系统的功能,可能导致心脏病发作、中风和其他严重的健康问题。预防心血管疾病的关键在于采取健康的生活方式,如均衡的饮食、适当的运动和戒烟等。

BELLE

Project address: https://github.com/LianjiaTech/BELLE
Paper address: https://arxiv.org/pdf/2304.07854.pdf

BELLE has opened data sets of several sizes, [1 million], [2 million], [3.5 million], etc.
ex: Instruction data set in BELLE
https://huggingface.co/datasets/BelleGroup/train_1M_CN

1. Personalized character dialogue

Dataset name: BelleGroup/generated_chat_0.4M
https://huggingface.co/datasets/BelleGroup/generated_chat_0.4M

Also generated by chatgpt:
Field type:

instruction: 指令
input: 输入(本数据集均为空)
output: 输出

Data sample:

{
    
    
  "instruction": "于以下角色信息完成一段对话\nAlice是一个年轻的律师,她正在为一个涉及濒危物种保护的案件做准备。Bob是一位当地的居民,他所在的社区经常受到该濒危物种的干扰。\n",
  "input": "",
  "output": "\nAlice: 你好Bob,我是濒危物种保护案的律师,很高兴见到你。我们前几天发给你的文件你看到了吗?\nBob: 看到了,你们说要禁止我们在该物种的常住地采集蘑菇,这很不公平。\nAlice: 保护濒危物种对整个生态系统都很重要,如果我们的举动损害了这个物种的生存,那么整个生态系统都将遭受损失。\nBob: 我理解您的立场,但是我们一直以来都依靠这个物种来维持我们的经济生活,现在我们要怎么办?\nAlice: 我理解这对当地社区的影响,但是现在我们必须找到一种既能保护这个物种,也同时使您们的经济生活不受影响的解决方案。你有任何想法吗?我们可以一起来想办法。\n"
}

2. Chinese instruction data set

{
    
    
  "instruction": "将以下三个句子组合成一个有意义的段落。\n狗是人类最好的朋友。它们非常聪明,可以进行各种活动。如果你喜欢散步,狗可以成为你一起散步的伙伴。",
  "input": "",
  "output": "狗是人类最好的朋友,它们非常聪明,可以进行各种活动。如果你喜欢散步,狗可以成为你一起散步的伙伴。出门散步是一种良好的锻炼方式,而有狗的陪伴会让散步变得更有趣,并且有狗在身边也能给你带来安全感。所以,拥有一只狗作为你的伙伴,可以帮助你变得更加积极主动和健康。"
}

Thousand Words Dataset

https://www.luge.ai/#/There
are many data sets, covering text generation, information extraction, knowledge graph and other data sets, such as summary data sets in text generation:
Insert image description here

Firefly

Link: https://huggingface.co/datasets/YeungNLP/firefly-train-1.1M
collected 23 common Chinese data sets, with the following tasks, and the data volume is 1.15 million:
Insert image description here
The length of the vast majority of samples in the training data set All are less than 600:
Insert image description here

Data fields:

{
  "kind": "ClassicalChinese", 
  "input": "将下面句子翻译成现代文:\n石中央又生一树,高百余尺,条干偃阴为五色,翠叶如盘,花径尺余,色深碧,蕊深红,异香成烟,著物霏霏。",
  "target": "大石的中央长着一棵树,一百多尺高,枝干是彩色的,树叶有盘子那样大,花的直径有一尺宽,花瓣深蓝色,花中飘出奇异的香气笼罩着周围,如烟似雾。"
}

For each task, several instruction templates are written manually.

The picture below is the generation effect of multiple rounds of dialogue of firefly-bloom-7b1:
This data set is used for the training project: https://github.com/yangjianxin1/Firefly
Insert image description here
The firefly project also uses the following instruction data set:

data set introduce
firefly-train-1.1M We collected data on 23 common Chinese NLP tasks and constructed many data related to Chinese culture, such as couplets, poetry, classical Chinese translation, prose, Jin Yong novels, etc. For each task, several instruction templates are manually written to ensure the high quality and richness of the data. The amount of data is 1.15 million.
moss-003-sft-data Chinese and English multi-round dialogue data open sourced by the MOSS team of Fudan University, containing 1 million+ data
ultrachat English multi-turn conversation data open sourced by Tsinghua University, containing 1.4 million+ data
WizardLM_evol_instruct_V2_143k The English instruction fine-tuning data set open sourced by the WizardLM project uses the Evol-Instruct method to evolve the instructions and enhance the complexity of the instructions to improve the model's ability to follow complex instructions. Contains 143k pieces of data.
school_math_0.25M The mathematical operation instruction data open sourced by the BELLE project team contains 250,000 pieces of data.

The data sample is:

{
    
    
    "conversation_id":44,
    "category":"Brainstorming",
    "conversation":[
        {
    
    
            "human":"怎么能够有效地提升个人能力?",
            "assistant":"提升个人能力可以通过以下几个方面实现:\n\n1. 学习新知识和技能:阅读相关书籍、参加课程和工作坊、观看教育视频等学习方式,可以帮助你掌握新的知识和技能,从而提升个人能力。\n\n2. 持续练习和实践:不断地练习和实践所学的知识和技能,可以帮助你更好地掌握和应用这些技能,提高你的表现和效率。\n\n3. 寻求反馈和改进:寻求他人的反馈和建议可以帮助你发现自己的不足之处,进一步完善和改进自己的能力。\n\n4. 建立良好的工作和生活习惯:建立良好的工作和生活习惯,如合理安排时间、注意健康、保持积极态度等,可以提高你的工作效率和生活品质,从而提升个人能力。\n\n5. 社交和交流:与他人交流和合作,可以帮助你更好地了解他人的观点和经验,从而提升自己的能力和见识。"
        },
        {
    
    
            "human":"对于初学者来说,如何快速掌握编程技能?",
            "assistant":"以下是几个建议,可以帮助初学者快速掌握编程技能:\n\n1. 学习基础知识:建议先学习编程语言的基础知识和语法,例如变量、数据类型、控制结构、函数等。可以通过在线课程、编程书籍、视频教程等方式学习。\n\n2. 实践编程:进行实际的编程练习是非常重要的,可以通过参加编程挑战、编写小项目等方式来进行实践。\n\n3. 寻求反馈:可以寻求他人的反馈和建议,例如在线编程社区、编程导师等,他们可以帮助你发现问题并及时纠正。\n\n4. 阅读优秀代码:阅读和分析优秀的代码可以帮助你学习其他程序员的编程思路和技巧,从而提高自己的编程能力。\n\n5. 不断学习和更新:编程技术和工具在不断更新和发展,因此需要不断学习新的知识和技能,例如学习新的编程语言、框架、工具等,以跟上技术的发展和变化。\n\n总之,学习编程需要耐心和坚持,并且需要不断地实践和学习。通过以上建议,可以帮助初学者快速掌握编程技能。"
        },
        {
    
    
            "human":"除了参加编程挑战和阅读代码,还有哪些方式可以提升自己的编程能力呢?",
            "assistant":"除了参加编程挑战和阅读代码,还有以下几种方式可以提升自己的编程能力:\n\n1. 参与开源项目:加入一个开源项目,可以让你了解到实际的软件开发流程和团队合作方式,并且可以与其他开发人员合作,学习和分享编程技巧和经验。\n\n2. 进行代码重构:对已经编写的代码进行重构,可以帮助你了解更好的编程实践和设计模式,从而提高代码的可读性和可维护性。\n\n3. 练习算法和数据结构:算法和数据结构是编程中的重要基础,练习算法和数据结构可以帮助你了解不同的数据结构和算法,从而更好地解决实际问题。\n\n4. 学习软件工程和架构:学习软件工程和架构的知识,可以帮助你了解如何设计和构建可靠、可扩展和可维护的软件系统。\n\n5. 参加编程社区和论坛:参加编程社区和论坛可以让你与其他开发人员分享和讨论编程经验和技巧,了解最新的技术趋势和解决方案。\n\n总之,提升编程能力需要不断地学习和实践,并与其他开发人员和编程专家进行交流和合作,以获取更多的经验和知识。"
        },
        {
    
    
            "human":"你有没有推荐的编程挑战网站?",
            "assistant":"当然,以下是一些值得推荐的编程挑战网站:\n\n1. HackerRank:HackerRank 是一个全球领先的技术招聘平台,提供数百种编程挑战和比赛,包括算法、数据结构、数学、SQL、AI 等多个技术领域。\n\n2. LeetCode:LeetCode 是一个在线编程学习和实践平台,提供数千道编程题目,主要涵盖算法和数据结构。\n\n3. Codeforces:Codeforces 是一个全球知名的编程竞赛网站,提供数百个比赛和练习题目,主要涵盖算法和数据结构。\n\n4. Codewars:Codewars 是一个在线编程学习和实践平台,提供数千道编程题目,主要涵盖算法、数据结构、面向对象编程等多个技术领域。\n\n5. Project Euler:Project Euler 是一个非营利性的在线编程挑战平台,提供一系列数学和计算机科学问题,需要用编程语言进行解答。\n\n以上这些编程挑战网站可以帮助你提高编程能力,并且可以与其他编程爱好者进行交流和竞争。"
        },
        {
    
    
            "human":"在学习编程的过程中,如何避免陷入困境和放弃呢?",
            "assistant":"学习编程是一个需要长期坚持和不断学习的过程,以下是一些避免陷入困境和放弃的方法:\n\n1. 制定合理的学习计划:制定合理的学习计划,包括学习时间、学习内容、目标等,可以帮助你更好地管理时间和精力,避免学习过程中的松懈和分心。\n\n2. 寻找合适的学习资源:选择适合自己的学习资源,例如在线课程、编程书籍、视频教程等,可以让你更好地了解和掌握编程知识和技能。\n\n3. 寻求帮助和支持:在学习过程中,遇到问题和困难是很正常的,可以寻求他人的帮助和支持,例如参加编程社区、找到编程导师等。\n\n4. 进行实践和项目:实践和项目是学习编程的重要组成部分,可以帮助你更好地了解和掌握编程技能,同时也可以提高学习的兴趣和动力。\n\n5. 坚持并保持兴趣:坚持学习和保持兴趣是学习编程的关键。可以通过参加编程社区、参加编程竞赛、与其他编程爱好者交流等方式来保持兴趣和动力。\n\n总之,学习编程需要耐心和坚持,并需要不断学习和实践。通过以上方法可以帮助你避免陷入困境和放弃。"
        }
    ],
}

Text summarization generation data set

  • LCSTS:http://icrc.hitsz.edu.cn/Article/show/139.html
  • http://tcci.ccf.org.cn/conference/2017/taskdata.php
  • Reference: https://www.zhihu.com/question/306887936
  • Summary: https://blog.csdn.net/PolarisRisingWar/article/details/122987556

Byte dialogue recommendation data set

Paper address: https://arxiv.org/pdf/2306.08219.pdf
Code link: https://github.com/hyllll/VCRS
SIGIR 2023 | Release the industry's first voice dialogue recommendation data set! The strength of the Huoshan Voice team boosts the development of VCRS

Generate QA data based on documents

https://github.com/threeColorFr/LLMforDialogDataGenerate
The transGPT project uses this method; in fact, it is to directly output qa data according to reading the document and adding prompt to the model.

Pre-training data set

Insert image description here

Insert image description here

instruction tuning datasets

Paper: Instruction Tuning for Large Language Models: A Survey
Address: https://arxiv.org/pdf/2308.10792.pdf
Reference: A review on LLM instruction fine-tuning
Insert image description here

Data evaluation

While letting gpt generate data, you can also use gpt to evaluate the data and perform nesting doll operations.
Insert image description here

High-quality multi-turn dialogue data set

RefGPT: Reference-to-Dialogue by GPT and for GPT

Reference

[1] Large model open source SFT training data sorting
[2] Large model R&D core: data engineering, automated evaluation and combination with knowledge graph
[3] https://github.com/yangjianxin1/Firefly
[4] A Survey of Large Language Models
[5] Aligning Large Language Models with Human: A Survey [arxiv.org/abs/2307.12966]
[6] Let ChatGPT generate training data for training ChatGPT
[7] Sharing of 30 large language model training related data sets
[8] ] ChatGLM multi-turn dialogue fine-tuning - automatic generation (annotation) of multi-turn dialogue training data
[9] The mystery of LLM large model data set
[10] https://huggingface.co/datasets/krisfu/awesome-llm-datasets-only -Chinese/tree/main
[11] https://huggingface.co/datasets/BelleGroup/train_1M_CN
[12] moss-003-sft dataset

Guess you like

Origin blog.csdn.net/qq_35812205/article/details/131965333