LLM数据集:大语言模型训练的高质量数据集资源

RayRay
LLM数据集微调指令跟随对话Github开源项目

llm-datasets

数据集质量的重要性

在大语言模型(LLM)的开发过程中,数据是最宝贵的资产。虽然我们无法像评估模型那样直接评估数据集,但高质量的数据集通常具有以下特征:

  • 准确性: 样本应当事实准确、对用户有帮助,并且措辞得当。回答也应与对应的指令相关。
  • 多样性: 为了确保模型能正确理解指令并给出相关答案,我们需要覆盖尽可能多的用例。这要求在主题、语境、长度、写作风格等方面进行具有代表性的采样。
  • 复杂性: 回答不应过于简单,而应代表您希望模型处理的任务类型,或包含涉及多步推理、规划等的复杂任务。

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

开放的SFT数据集

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

通用数据集

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

以下是一些代表性的通用数据集:

  • Buzz: 包含31.2M个样本,是435个数据集的巨大集合,采用了数据增强、去重等技术。
  • WebInstructSub: 包含2.39M个样本,通过从Common Crawl检索文档、提取问答对并进行精炼而创建的指令。
  • The-Tome: 包含1.75M个样本,是经过重新排序和筛选的数据集集合,重点关注指令遵循。
  • Hercules v4.5: 包含1.72M个样本,是一个大规模通用数据集,包含数学、代码、角色扮演等内容。
  • WildChat-1M: 包含1.04M个样本,是真实用户与GPT-3.5/4之间的对话,包括元数据。

通用数据集示例

数学与逻辑数据集

LLM在数学推理和形式逻辑方面往往存在困难,这促使了专门数据集的创建。这些数据集超越了纯数学,涵盖了需要系统思维和逐步推理的广泛问题,最终使LLM能够处理涉及逻辑推理和定量分析的复杂现实世界挑战。

一些代表性的数学与逻辑数据集包括:

  • OpenMathInstruct-1: 包含5.75M个样本,来自GSM8K和MATH的问题,解决方案由Mixtral-8x7B生成。
  • MetaMathQA: 包含395k个样本,通过从多个角度重写数学问题来引导数学问题。
  • MathInstruct: 包含262k个样本,从13个数学推理数据集编译而成,其中6个是新策划的,重点关注思维链和思维程序。
  • Orca-Math: 包含200k个样本,使用GPT4-Turbo生成的小学数学应用题。

这些数据集旨在增强LLM的数学推理能力,使其能够解决更复杂的数学问题和逻辑挑战。

代码数据集

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

一些值得注意的代码数据集包括:

  • CodeFeedback-Filtered-Instruction: 包含157k个样本,是Magicoder-OSS-Instruct、ShareGPT(Python)、Magicoder-Evol-Instruct和Evol-Instruct-Code的过滤版本。
  • Tested-143k-Python-Alpaca: 包含143k个样本,是通过自动测试确保高质量的生成Python代码集合。
  • glaive-code-assistant: 包含136k个样本,是问题和解决方案的合成数据,其中约60%是Python样本。
  • Magicoder-Evol-Instruct-110K: 包含110k个样本,是evol-codealpaca-v1的去污染版本。

代码数据集示例

这些数据集旨在提高LLM在代码理解、生成和分析方面的能力,使其成为更有效的编程助手。

对话和角色扮演数据集

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

一些代表性的对话和角色扮演数据集包括:

  • Bluemoon: 包含290k个样本,是由第三方清理和抓取的蓝月角色扮演论坛的帖子。
  • PIPPA: 包含16.8k个样本,是Pygmalion的PIPPA数据集的去重版本,采用ShareGPT格式。
  • Capybara: 包含16k个样本,强调在广泛的领域中的信息多样性,包含多轮对话。
  • Pure-Dove: 包含3.86k个样本,是经过高度过滤的GPT-4和真人之间的多轮对话。

这些数据集有助于提高LLM在对话和角色扮演场景中的表现,使其能够生成更自然、更有吸引力的对话。

数据处理工具

创建高质量数据集的关键在于仔细策划一组相关、准确和信息丰富的多样化示例,而不是简单地最大化数据集大小。

开始时,可以从各种来源(开源或非开源)聚合可用数据,并应用数据去重和数据质量过滤等过滤器。如果初始数据集较小或不足,可以考虑综合生成额外数据,以反映其质量和风格。通过评估模型性能、识别差距以及收集或生成数据来解决这些不足,迭代探索和改进数据集。

以下是一些有用的数据处理工具:

数据去重和去污染

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

数据质量评估

  • 基于规则的过滤: 根据不需要的词列表删除样本,如拒绝和"作为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。
  • 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文本。

结语

高质量的数据集对于训练出色的大语言模型至关重要。本文介绍的各类数据集和工具为LLM研究者和开发者提供了宝贵的资源。通过使用这些多样化的数据集进行训练,可以显著提升LLM在各个领域的性能,包括通用对话、数学推理、代码生成等。同时,各种数据处理工具也为创建和优化自定义数据集提供了强大支持。

随着LLM技术的不断发展,高质量数据集的重要性只会愈发凸显。研究者和开发者应当充分利用这些资源,并不断探索新的数据收集和处理方法,以推动LLM向更智能、更可靠的方向发展。未来,我们期待看到更多创新的数据集和工具出现,进一步推动LLM技术的进步。

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多