微调大型语言模型已成为需要特定领域 AI 性能的组织不可或缺的手段,但这个过程始终受到一个关键资源的瓶颈:高质量的训���数据。手动创建指令微调数据集既昂贵又缓慢,且需要通常短缺的领域专业知识。Easy Dataset,ConardLi 开发的开源框架,通过提供一个基于 GUI 的系统,从非结构化文档合成微调数据集,直接解决了这个瓶颈。
核心概念优雅而简单:获取你现有的文档——PDF、Markdown 文件、DOCX 文件——然后使用 LLM 从内容生成多样的问答对。Easy Dataset 处理整个管道,从文档解析和分块,到 LLM 驱动的数据合成、质量过滤和导出到标准微调格式。
Easy Dataset 与临时数据生成脚本的不同之处在于其结构化方法。该框架支持人设驱动的提示词多样性、可配置的难度级别、通过自我一致性检查的质量过滤,以及一个干净的网页 UI,使整个过程对非程序员也可访问。
Easy Dataset 是如何运作的?
数据合成管道经过几个阶段,每个阶段都可以通过网页界面配置。
graph TD
A[上传文档<br>PDF、MD、DOCX、TXT] --> B[文档解析器]
B --> C[分块与上下文<br>保留]
C --> D[人设选择<br>可配置人设]
D --> E[LLM 数据合成<br>问答生成]
E --> F[质量过滤<br>自我一致性与启发式]
F --> G[导出<br>JSONL、CSV、Parquet]
G --> H[微调<br>你的 LLM]| 管道阶段 | 用途 | 配置选项 |
|---|---|---|
| 文档解析 | 从源文件提取文字 | OCR 开关、语言检测、表格提取 |
| 分块 | 将文档分割为可管理的节 | 块大小、重叠、策略(段落/章节/语义) |
| 人设选择 | 定义 AI 人设以产生多样化输出 | 内建人设或自定义人设定义 |
| 数据合成 | 从块生成问答对 | 示例问题、输出格式、配对数量 |
| 质量过滤 | 移除低质量或重复条目 | 去重、启发式规则、LLM 作为评审 |
| 格式导出 | 输出到微调格式 | JSONL、CSV、Parquet、Hugging Face Hub |
Easy Dataset 支持哪些文档格式?
Easy Dataset 支持多种输入格式,使其易于与现有知识库配合使用。
| 格式 | 扩展名 | 解析器备注 |
|---|---|---|
| 多栏支持、表格提取、OCR | ||
| Markdown | .md | 保留标题、列表、代码块 |
| Word | .docx | 保留格式和嵌入的图像 |
| 纯文本 | .txt | 简单文本提取 |
| CSV/JSON | .csv、.json、.jsonl | 结构化数据支持 |
| HTML | .html、.htm | 网页内容提取 |
| EPUB | .epub | 电子书格式支持 |
| LaTeX | .tex | 学术论文支持 |
| PowerPoint | .pptx | 幻灯片内容提取 |
分块引擎仔细关注上下文保留。当一个块跨越语义边界(如章节标题)时,它会包含标题上下文以维持生成的问答对的连贯性。
人设驱动提示词是如何运作的?
人设系统是 Easy Dataset 最强大的功能之一。它不仅从同一视角生成所有问题,而是让你定义多个人设,每个从其独特的视角生成问题。
| 人设 | 视角 | 生成的示例问题 |
|---|---|---|
| 初学者 | 简化、概念性 | 「这个系统的主要目的是什么?」 |
| 实践者 | 应用、实用 | 「如何配置重试机制?」 |
| 专家 | 高级、分析性 | 「这两种架构之间有哪些权衡?」 |
| 审查者 | 批判、比较性 | 「有哪些潜在��边界案例未被处理?」 |
这种多样性对于产出稳健的微调数据集至关重要。在单一视角数据上训练的模型倾向于过拟合该风格,而多人设数据则产出在不同用例上泛化效果更好的模型。
Easy Dataset 支持哪些导出格式?
一旦数据集被合成并经过质量过滤,Easy Dataset 支持多种导出选项。
| 导出格式 | 常见用例 | 结构 |
|---|---|---|
| JSONL (ShareGPT) | 聊天模型微调 | 具有角色和回合的对话 |
| JSONL (Alpaca) | 指令微调 | instruction、input、output |
| JSONL (OpenAI) | OpenAI 微调 API | messages 数组格式 |
| CSV | 简单处理 | question、answer、context 字段 |
| Parquet | 大规模训练 | 列式、压缩格式 |
| Hugging Face Hub | 直接发布 | 自动上传到数据集仓库 |
质量过滤过程是什么?
Easy Dataset 包含内置的质量保证,在数据合成后执行。过滤系统同时使用自动化启发式和基于 LLM 的评估。
| 过滤类型 | 方法 | 捕获的内容 |
|---|---|---|
| 去重 | 语义相似度检测 | 几乎重复的问答对 |
| 长度过滤 | 最小和最大长度阈值 | 太短或太长的响应 |
| 自我一致性 | LLM 生成答案两次并比较 | 幻觉或不一致的内容 |
| 相关性检查 | 问题与文档块间的余弦相似度 | 离题的生成 |
| 启发式规则 | 可配置的模式匹配 | 有害内容、PII、格式问题 |
默认管道通常过滤掉 5-15% 的生成配对,取决于源文档质量和用于合成的 LLM。
常见问题
什么是 Easy Dataset? Easy Dataset 是 ConardLi 开发的开源基于 GUI 的框架,用于从非结构化文档创建高质量的微调数据集。它处理 PDF、Markdown、DOCX 和其他格式,使用 LLM 驱动的数据合成搭配人设驱动的提示词来生成多样的训练示例。它支持多种导出格式,专为指令微调和偏好对齐而设计。
Easy Dataset 支持哪些文档格式? Easy Dataset 支持 PDF、Markdown(.md)、DOCX(.docx)、TXT、CSV、JSON、JSONL、HTML、EPUB、LaTeX(.tex)和 PowerPoint(.pptx)。文档被解析为保留上下文、格式和层次关系的结构化块。该框架通过 OCR 集成处理多栏 PDF、表格和嵌入的图像。
Easy Dataset 中的人设驱动提示词是如何运作的? 人设驱动提示词使用可配置的 AI 人设,从相同的源材料生成多样的问答对。例如,「初学者」人设可能生成简单的定义问题,而「专家」人设则生成复杂的分析问题。这种方法产出的数据集具有自然的变异性,显著改善了下游模型的泛化能力。
Easy Dataset 支持哪些导出格式? Easy Dataset 导出为最常见的微调格式,包括 JSONL(ShareGPT 风格、Alpaca 风格、OpenAI 风格)、CSV、Parquet 和 Hugging Face Datasets 格式。它还支持直接导出到 Hugging Face Hub。可以通过插件系统定义自定义输出模板。
Easy Dataset 基于哪篇研究论文? Easy Dataset 基于论文「Large Language Models are Effective Dataset Generators」,该论文证明 LLM 合成的训练数据在微调方面可以匹配或超越人工策展的数据。该框架实现了论文的主要发现,包括人设驱动的多样性、难度校准以及通过自我一致性检查和启发式验证的质量过滤。
延伸阅读
- Easy Dataset GitHub 仓库 – 源代码、议题和使用示例
- Easy Dataset 文档 – 设置指南和配置参考
- Large Language Models are Effective Dataset Generators 论文 – 框架方法基础的研究论文
- Hugging Face Datasets 格式指南 – 下游微调的导出格式文档