Project Icon

llm-datasets

LLM微调优质数据集与工具资源库

LLM Datasets项目汇集了大语言模型微调所需的优质数据集、实用工具和核心概念。涵盖通用、数学逻辑、编程和对话等多个领域,项目详细阐述了高质量数据集的特征。为研究人员和开发者提供多样化的LLM微调数据资源,旨在促进模型性能提升。

💾 大语言模型数据集

🐦 在X上关注我 • 🤗 Hugging Face • 💻 博客 • 📙 图神经网络实战

用于大语言模型微调的高质量数据集、工具和概念。


👍 什么是好的数据集?

数据是大语言模型开发中最有价值的资产。虽然无法像评估模型那样直接评估数据集,但高质量的数据集具有以下特征:

  • 准确性:样本应当事实正确、对用户有帮助且书写良好。回答还应与相应的指令相关。
  • 多样性:你需要涵盖尽可能多的用例,以确保正确执行指令并给出相关回答。这需要以代表性的方式抽样广泛的主题、上下文、长度、写作风格等。
  • 复杂性:回答应当非琐碎,且a/ 能代表你期望模型处理的任务,或b/ 包含涉及多步推理、规划等的复杂任务。

对于数学问题,使用Python解释器可以轻松衡量准确性,但对于开放式、主观性问题则几乎不可能。另一方面,按主题对数据集进行聚类是衡量多样性的好方法。最后,可以使用其他大语言模型作为评判来评估复杂性。

📅 开放式监督微调数据集

一旦模型在下一个标记预测任务上完成预训练,就会使用监督微调将其转变为能够回答问题和完成任务的助手。这些数据集包含指令和输出对,用于训练大语言模型超越其预训练目标。这里列出的所有数据集都应该在宽松的许可下(Apache 2.0、MIT、cc-by-4.0等)。

通用目的

通用目的数据集的目标是通过让模型接触广泛的高质量数据,将基础模型转变为多功能且能力强大的助手。这些数据集通常包括真实世界和合成数据的多样化混合,常常使用GPT-4等模型生成。

数据集数量作者日期备注
Buzz3120万Alignment Lab AI2024年5月435个数据集的大型集合,包含数据增强、去重和其他技术。
WebInstructSub239万Yue等人2024年5月通过从Common Crawl检索文档、提取问答对并精炼而创建的指令。参见MAmmoTH2论文(这是其子集)。
The-Tome175万Arcee AI2024年7月重新排序和过滤的数据集集合,专注于指令遵循。参见我的10万条子集
Hercules v4.5172万Sebastian Gabarain2024年4月大规模通用数据集,包含数学、代码、角色扮演等。参见v4了解数据集列表。
Dolphin-2.9139万Cognitive Computations2023年4月Dolphin模型使用的大规模通用数据集。
WildChat-1M104万Zhao等人2023年5月人类用户与GPT-3.5/4之间的真实对话,包括元数据。参见WildChat论文
OpenHermes-2.5100万Teknium2023年11月OpenHermes模型使用的另一个大规模数据集。
Infinity-Instruct66万BAAI2024年6月基于精选和演化指令的样本集。
SlimOrca51.8万Lian等人2023年9月OpenOrca的精选子集,使用GPT-4作为评判以删除错误答案。
Tulu V2 Mix32.6万Ivison等人2023年11月高质量数据集的混合。参见Tulu 2论文
UltraInteract SFT28.9万Yuan等人2024年4月专注于数学、编码和逻辑任务,提供逐步答案。参见Eurus论文
NeurIPS-LLM-data20.4万Jindal等人2023年11月NeurIPS LLM效率挑战赛的获胜者,采用有趣的数据准备策略。
UltraChat 200k20万Tunstall等人,Ding等人2023年10月UItraChat数据集的高度过滤版本,包含140万对由ChatGPT生成的对话。
WizardLM_evol_instruct_V214.3万Xu等人2023年6月最新版本的Evol-Instruct应用于Alpaca和ShareGPT数据。参见WizardLM论文
Synthia-v1.311.9万Migel Tissera2023年11月使用GPT-4生成的高质量合成数据。
oasst18.44万Köpf等人2023年3月人工生成的35种不同语言的助手式对话语料库。参见OASST1论文oasst2
WizardLM_evol_instruct_70k7万Xu等人2023年4月Evol-Instruct应用于Alpaca和ShareGPT数据。参见WizardLM论文
airoboros-3.25.87万Jon Durbin2023年12月高质量未经审查的数据集。
ShareGPT_Vicuna_unfiltered5.3万anon823 14891232023年3月ShareGPT数据集的过滤版本,包含用户与ChatGPT之间的真实对话。
lmsys-chat-1m-smortmodelsonly4.58万Nebulous, Zheng等人2023年9月lmsys-chat-1m的过滤版本,包含来自GPT-4、GPT-3.5-turbo、Claude-2、Claude-1和Claude-instant-1的响应。
Open-Platypus24.9kLee等人2023年9月使用句子转换器去重的数据集集合(包含一个NC数据集)。详见Platypus论文
databricks-dolly-15k15kConover等人2023年5月由Databricks员工生成,包含八个不同指令类别的提示/响应对,其中包括InstructGPT论文中概述的七个类别。

数学与逻辑

大语言模型在数学推理和形式逻辑方面常常表现不佳,这促使了专门数据集的创建。这些数据集不仅涵盖纯数学,还包括广泛的需要系统思考和逐步推理的问题,最终使大语言模型能够应对涉及逻辑推理和定量分析的复杂现实问题。

数据集数量作者日期备注
OpenMathInstruct-1575万Toshniwal等人2024年2月来自GSM8K和MATH的问题,解答由Mixtral-8x7B生成
MetaMathQA39.5万Yu等人2023年12月通过多角度重写引导数学问题。参见MetaMath论文
MathInstruct26.2万Yue等人2023年9月汇编自13个数学推理数据集,其中6个为新整理,重点关注思维链和思维程序。
Orca-Math20万Mitra等人2024年2月使用GPT4-Turbo生成的小学数学应用题。参见Orca-Math论文

代码

对于缺乏专门预训练的大语言模型来说,代码是另一个具有挑战性的领域。代码数据集包含多种编程语言示例,用于微调大语言模型并提升它们理解、生成和分析代码的能力,使其能够作为有效的编程助手。

数据集数量作者日期备注
CodeFeedback-Filtered-Instruction15.7万Zheng等人2024年2月Magicoder-OSS-Instruct、ShareGPT(Python)、Magicoder-Evol-Instruct和Evol-Instruct-Code的过滤版本。
Tested-143k-Python-Alpaca14.3万Vezora2024年3月经过自动测试验证的高质量Python代码集合。
glaive-code-assistant13.6万Glaive.ai2023年9月包含问题和解决方案的合成数据,约60%为Python样本。另见v2版本
Magicoder-Evol-Instruct-110K11万Wei等人2023年11月evol-codealpaca-v1的去污染版本。去污染方式与StarCoder相同(bigcode去污染过程)。参见Magicoder论文
dolphin-coder10.9万Eric Hartford2023年11月leetcode-rosetta转化而来的数据集。
synthetic_tex_to_sql10万Gretel.ai2024年4月合成文本到SQL样本(约2300万个标记),涵盖多个领域。
sql-create-context7.86万b-mc22023年4月WikiSQLSpider数据集的清理和增强版本。
Magicoder-OSS-Instruct-75K7.5万Wei等人2023年11月gpt-3.5-turbo-1106生成的OSS-Instruct数据集。参见Magicoder论文
Code-Feedback6.64万Zheng等人2024年2月多样化的类Code Interpreter数据集,包含多轮对话以及交错的文本和代码响应。参见OpenCodeInterpreter论文
Open-Critic-GPT5.51万Vezora2024年7月使用本地模型在多种编程语言中创建、引入和识别代码中的错误。
self-oss-instruct-sc2-exec-filter-50k5.07万Lozhkov等人2024年4月通过三个步骤创建:从TheStack v1获取种子函数,使用StarCoder2进行自我指导,以及自我验证。参见博客文章

对话与角色扮演

许多数据集专注于指令和输出的配对,但聊天模型通常用于对话场景。对话和角色扮演数据集让大语言模型接触到真实对话的模式、细微差别和上下文相关性,使它们能够生成更自然、更有吸引力的对话。

数据集数量作者日期备注
Bluemoon29万Squish422023年6月由第三方清理和抓取的Blue Moon角色扮演论坛帖子。
PIPPA1.68万Gosling等人,kingbri2023年8月Pygmalion的PIPPA去重版本,采用ShareGPT格式。
Capybara1.6万LDJnr2023年12月重点关注广泛领域的信息多样性,包含多轮对话。
RPGPT_PublicDomain-alpaca4260practical dreamer2023年5月使用build-a-dataset生成的公共领域角色对话角色扮演格式合成数据集
Pure-Dove3860LDJnr2023年9月经过高度筛选的GPT-4与真人之间的多轮对话
Opus Samantha1850macadelicc2024年4月与Claude 3 Opus的多轮对话。
LimaRP-augmented804lemonilia, grimulkan2024年1月LimaRP的增强和清理版本,由人类角色扮演对话组成。

代理和函数调用

函数调用允许大型语言模型(LLM)执行预定义的函数,其参数由用户提示推断,而不是生成标准文本响应。这使LLM能够无缝集成外部系统,执行复杂操作,并提供更准确和上下文相关的响应。

数据集数量作者日期备注
glaive-function-calling-v211.3万Sahil Chaudhary2023年9月高质量数据集,包含不同语言的指令和答案对。
参见Locutusque/function-calling-chatml,该版本不含对话标签。
xlam-function-calling-60k6万Salesforce2024年6月使用专为函数调用应用设计的数据生成管道创建的可验证样本
Agent-FLAN3.44万internlm2024年3月AgentInstruct、ToolBench和ShareGPT数据集的混合。

⚖️ 偏好对齐

开发中。

🔧 工具

要创建高质量数据集,重点应放在仔细筛选相关、准确和信息丰富的多样化示例上,而不是简单地最大化数据集规模。

首先从各种来源(开源或非开源)聚合可用数据,并应用数据去重和质量过滤等处理。如果初始数据集较小或不足,可考虑合成生成额外数据,以匹配其质量和风格。通过评估模型性能、识别差距并收集或生成数据来解决这些不足,反复探索和优化数据集。

本节列出的工具可能属于多个类别,但为清晰起见只出现在一个类别中。

数据去重和净化

  • 精确去重:通过数据标准化(如将文本转换为小写)、哈希生成(如为每个样本创建MD5或SHA-256哈希)和重复删除来移除相同的样本。
  • 模糊去重
    • MinHash:使用哈希、排序和Jaccard相似度的模糊去重(首选技术)。
    • 布隆过滤器:使用哈希和固定大小向量的模糊去重。
  • 数据净化:使用精确或模糊过滤移除与测试集过于相似的样本。

数据质量评估

  • 基于规则的过滤:根据不想要的词列表(如拒绝和"作为AI助手")删除样本(示例)。
  • Argilla:开源数据管理平台,允许以协作方式过滤和注释数据集。
  • LLM-as-a-judge:提供使用Mixtral-7x8B评估输出的代码的Colab笔记本。
  • Data Prep Kit:用于代码和语言数据准备的框架,包含Python、Ray和Spark模块,适用于从笔记本电脑到数据中心的各种规模。
  • DataTrove:HuggingFace大规模数据处理库,用于创建Fineweb

数据生成

SFT数据集

  • Distilabel:通用框架,可使用UltraFeedback和DEITA等技术生成和增强数据(SFT、DPO)。
  • Auto Data:轻量级库,用于使用API模型自动生成微调数据集。
  • Bonito:无需GPT即可为您的数据生成合成指令调优数据集的库(另请参阅AutoBonito)。
  • Augmentoolkit:使用开源和闭源模型将原始文本转换为数据集的框架。
  • Magpie:通过提示对齐的LLM,高效生成高质量合成数据的管道。
  • Genstruct:指令生成模型,旨在从原始数据生成有效指令。
  • DataDreamer:用于提示和合成数据生成的Python库。

预训练数据集

  • llm-swarm:使用本地LLM或Hugging Face Hub上的推理端点生成用于预训练或微调的合成数据集。
  • Cosmopedia:Hugging Face用于生成Cosmopedia数据集的代码。
  • textbook_quality:生成教科书质量数据的存储库,模仿Microsoft的Phi模型方法。

数据探索

  • sentence-transformers:用于处理流行语言嵌入模型的Python模块。
  • Lilac:为LLM策划更好数据的工具,被NousResearch、databricks、cohere、Alignment Lab AI使用。它还可以应用过滤器。
  • Nomic Atlas:与指令数据交互以发现洞察并存储嵌入。
  • text-clustering:Huggingface用于聚类文本数据的框架。
  • BunkaTopics:数据清理和主题建模可视化。
  • Autolabel:使用流行的语言模型自动标记数据。

数据抓取

  • Trafilatura:用于在网上收集文本和元数据的Python和命令行工具。用于创建RefinedWeb
  • Marker:快速将PDF转换为markdown文本。

致谢

特别感谢geronimi73Bytes-Explorereuclaise的PR贡献。

参考文献

如果有任何数据集未得到适当引用,请告知我。

  • Wei-Lin Chiang等,"Vicuna:一个令GPT-4印象深刻的开源聊天机器人,达到90%*ChatGPT质量",2023年。
  • Yihan Cao等,"指令挖掘:当数据挖掘遇上大型语言模型微调",2023年。
  • Subhabrata Mukherjee等,"Orca:从GPT-4复杂解释轨迹中渐进学习",2023年。
  • Chunting Zhou等,"LIMA:对齐中少即是多",2023年。
  • Suriya Gunasekar等,"教科书就是你所需要的全部",2023年。
  • Lichang Chen等,"AlpaGasus:用更少的数据训练更好的Alpaca",2024年。
  • Zheng Cai等,"InternLM2技术报告",2024年。
  • Lifan Yuan等,"通过偏好树推进LLM推理通才",2024年。
  • Wei Liu等,"什么是对齐的好数据?指令调优中自动数据选择的综合研究",2024年。
  • Xingyao Wang等,"MINT:在多轮交互中评估LLM使用工具和语言反馈的能力",2024年。
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号