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

Ray

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技术的进步。

avatar
0
0
0
相关项目
Project Cover

openui

OpenUI简化了UI组件的构建,支持实时渲染和多框架转换(如React、Svelte)。兼容OpenAI、Groq等多种模型,并支持本地与Docker运行,适用于各种开发环境。

Project Cover

Flowise

Flowise让您通过拖放界面轻松创建自定义LLM应用程序。提供详细的快速安装指南,支持NodeJS和Docker部署。模块化架构对开发者友好,并支持自托管,适用于AWS、Azure、Digital Ocean等主流云平台,确保应用灵活且易扩展。

Project Cover

ragas

Ragas是一款工具集,用于评估、监控和优化RAG(检索增强生成)应用的性能,特别适合生产环境中的大语言模型(LLM)。Ragas集成了最新研究成果,能在CI/CD流程中进行持续检查,确保管道性能稳定。通过简单的安装和快速入门示例,用户可以快速体验Ragas的功能,并参与社区讨论LLM和生产相关问题。

Project Cover

skyvern

Skyvern结合大语言模型(LLMs)和计算机视觉,提供简单的API端点,实现大量网站的工作流自动化,解决传统方法的不稳定性。无需定制代码即可操作新网站,对布局变化具有抗性,并能在多个网站上应用相同工作流。Skyvern云版本让用户无需管理基础设施即可运行多个实例,并提供反机器人检测、代理网络和验证码解决方案。

Project Cover

llm

该项目因时间和资源不足已归档,建议使用其他高质量的Rust推理库,如Ratchet、Candle和llama.cpp等。项目原README包含当前状态、支持的模型及使用方法等详细信息。

Project Cover

paper-qa

PaperQA是一款轻量级工具,专为从PDF和文本文件中进行问答设计,通过内嵌引用确保答案准确。默认使用OpenAI Embeddings,支持与langchain和开源模型结合。其流程包括文档向量化、查询向量化、文档搜索、摘要生成、相关摘要选择,并生成最终答案。PaperQA支持异步操作,兼容多种LLM,并提供多种自定义和扩展选项,如本地向量存储和Zotero数据库集成,是科研人员高效处理文档问答的理想选择。

Project Cover

llm

一款CLI工具和Python库,用于与大型语言模型交互,支持远程API和本地安装模型。可从命令行运行提示、将结果存储在SQLite中、生成嵌入等。通过插件目录,可访问更多模型。

Project Cover

aiac

AIAC是一个使用大型语言模型生成基础设施即代码(IaC)模板和配置的命令行工具。支持OpenAI、Amazon Bedrock和Ollama等多种LLM提供商,用户可以通过配置文件定义多个后端。其功能包括生成Terraform、Pulumi和CloudFormation模板,以及Dockerfile、CI/CD流水线、策略代码和实用工具。支持命令行操作、Docker运行和作为Go库使用,为开发者提供高效的自动化基础设施管理解决方案。

Project Cover

ragflow

RAGFlow是一个基于深度文档理解的开源RAG引擎,适用于各种规模的企业。结合大型语言模型,它提供可靠的问答功能和可信的引用。RAGFlow支持多种数据格式,包括文本、图片和音频文件,并且兼容本地和远程LLM,提供自动化、无缝集成的RAG工作流,便于通过直观的API进行业务整合。

最新项目
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号