数据合成
数据合成模块利用大模型能力,自动生成高质量的训练数据,降低数据采集成本。
功能概述
数据合成模块提供:
- 指令模板管理:创建和管理合成指令模板
- 单任务合成:创建单个合成任务
- 比例合成任务:按指定比例合成多类别数据
- 大模型集成:支持多种大模型 API
- 质量评估:自动评估合成数据质量
快速开始
1. 创建指令模板
步骤 1:进入数据合成页面
在左侧导航栏选择 数据合成 → 合成任务。
步骤 2:创建指令模板
- 点击 指令模板 标签
- 点击 创建模板 按钮
步骤 3:配置模板
基本信息:
- 模板名称:例如
qa_generation_template - 模板描述:描述模板用途(可选)
- 模板类型:选择模板类型(问答、对话、摘要等)
提示词配置:
示例提示词:
你是一个专业的数据生成助手。请根据以下要求生成数据:
任务:生成问答对
主题:{topic}
数量:{count}
难度:{difficulty}
要求:
1. 问题要清晰明确
2. 答案要准确完整
3. 涵盖不同难度级别
输出格式:JSON
[
{
"question": "...",
"answer": "..."
}
]
参数配置:
- 模型:选择使用的大模型(GPT-4、Claude、本地模型等)
- 温度:控制生成随机性(0-1)
- 最大 tokens:限制生成长度
- 其他参数:根据模型配置
步骤 4:保存模板
点击 保存 按钮保存模板。
2. 创建合成任务
步骤 1:填写基本信息
- 返回 数据合成 页面
- 点击 创建任务 按钮
- 填写基本信息:
- 任务名称:例如
medical_qa_synthesis - 任务描述:描述任务目的(可选)
- 任务名称:例如
步骤 2:选择数据集和选择文件
从现有数据集中选择合成所需的数据:
- 选择数据集:从列表中选择需要使用的数据集
- 选择文件:
- 可以选择整个数据集的所有文件
- 也可以选择数据集中的部分特定文件
- 支持多选多个文件
步骤 3:选择合成指令模板
选择已创建的指令模板,或创建新模板:
- 从模板库选择:从已创建的模板中选择
- 模板类型:问答生成、对话生成、摘要生成等
- 预览模板:可以查看模板的提示词内容
步骤 4:填写合成配置
合成配置包含以下四个部分:
1. 设置合成总数
设置整个任务生成的数据总量上限:
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 合成总数上限 | 整个任务生成的最大问答对数量 | 5000 | 1-100,000 |
此设置可选,适用于大规模合成任务的总量控制。
2. 配置文本切片策略
对输入的文本文件进行切片处理,支持多种切片方式:
| 参数 | 说明 | 默认值 |
|---|---|---|
| 切片方式 | 选择切片策略 | 默认分块 |
| 切片大小 | 每个切片的字符数 | 3000 |
| 重叠大小 | 相邻切片之间的重叠字符数 | 100 |
切片方式选项:
- 默认分块:使用系统默认的智能分块策略
- 按章节分块:根据章节结构进行分块
- 按段落分块:按照段落边界进行分块
- 固定长度分块:按照固定的字符长度进行分块
- 自定义分隔符分块:使用自定义分隔符进行分块
3. 配置问题合成参数
设置问题生成的相关参数:
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 问题生成数量 | 每个切片生成的问题数量 | 1 | 1-20 |
| 温度 | 控制问题生成的随机性和多样性 | 0.7 | 0-2 |
| 使用模型 | 选择用于生成问题的 CHAT 模型 | - | 从模型列表选择 |
参数说明:
- 问题生成数量:每个文本切片生成的问题个数,数值越高生成的问题越多
- 温度:值越高生成的问题越多样,值越低生成的问题越稳定
4. 配置答案合成参数
设置答案生成的相关参数:
| 参数 | 说明 | 默认值 | 取值范围 |
|---|---|---|---|
| 温度 | 控制答案生成的稳定性 | 0.7 | 0-2 |
| 使用模型 | 选择用于生成答案的 CHAT 模型 | - | 从模型列表选择 |
参数说明:
- 温度:值越低答案越保守和准确,值越高答案越多样和创造性
合成类型: 系统支持两种合成类型:
- SFT 问答数据合成:生成监督微调用的问答对数据
- COT 链式推理合成:生成包含推理过程的数据
步骤 5:开始任务
点击 开始任务 按钮,任务将自动开始执行。
3. 创建比例合成任务
比例合成任务用于按指定比例合成多类别平衡数据。
步骤 1:创建比例任务
- 在左侧导航栏选择 数据合成 → 配比任务
- 点击 创建任务 按钮
步骤 2:填写基本信息
| 参数 | 说明 | 是否必填 |
|---|---|---|
| 任务名称 | 任务的唯一标识名称 | 是 |
| 目标总数量 | 整个配比任务的目标总数量 | 是 |
| 任务描述 | 描述配比任务的目的和要求 | 否 |
示例:
- 任务名称:
balanced_dataset_synthesis - 目标总数量:10000
- 任务描述:生成训练集和验证集的平衡数据
步骤 3:选择数据集
从现有数据集中选择需要参与配比的数据集:
数据集选择功能:
- 搜索数据集:通过关键词搜索数据集
- 多选支持:可以同时选择多个数据集
- 数据集信息:显示每个数据集的详细信息
- 数据集名称和类型
- 数据集描述
- 文件数量
- 数据集大小
- 标签分布预览(最多显示 8 个标签)
选择数据集后,系统会自动加载每个数据集的标签分布信息。
步骤 4:填写配比配置
为每个选中的数据集配置具体的合成规则:
配比配置项:
| 参数 | 说明 | 取值范围 |
|---|---|---|
| 标签 | 从数据集的标签分布中选择标签 | 根据数据集标签 |
| 标签值 | 选中标签下的具体值 | 根据标签值列表 |
| 标签更新时间 | 选择标签更新日期范围(可选) | 日期选择器 |
| 数量 | 该配置项生成的数据数量 | 0 到目标总数量 |
功能说明:
- 自动分配:点击"自动分配"按钮,系统会自动将目标总数量均匀分配到各数据集
- 数量限制:每个配置项的数量不能超过该数据集的文件总数
- 百分比计算:系统自动计算每个配置项占总数量的百分比
- 删除配置:可以删除不需要的配置项
- 添加配置:每个数据集可以添加多个不同的标签配置
示例配置:
| 数据集 | 标签 | 标签值 | 标签更新时间 | 数量 |
|---|---|---|---|---|
| 训练数据集 | 类别 | 训练 | - | 6000 |
| 训练数据集 | 类别 | 验证 | - | 2000 |
| 测试数据集 | 类别 | 测试 | 2024-01-01 至 2024-12-31 | 2000 |
步骤 5:执行任务
点击 开始任务 按钮,系统将按照配比配置创建并执行任务。
4. 监控合成任务
查看任务列表
在数据合成页面,可以看到所有合成任务:
| 任务名称 | 模板 | 状态 | 进度 | 生成数量 | 操作 |
|---|---|---|---|---|---|
| 医疗问答合成 | qa_template | 运行中 | 50% | 50/100 | 查看详情 |
| 情感数据合成 | sentiment_template | 已完成 | 100% | 1000/1000 | 查看详情 |
查看任务详情
点击任务名称进入详情页面,可以看到:
- 任务配置:模板和参数配置
- 执行记录:历史执行记录
- 生成结果:
- 总生成数量
- 成功数量
- 失败数量
- 成功率
查看生成数据
在任务详情页面,点击 查看数据 可以:
- 预览生成的数据
- 下载数据
- 导出到数据集
高级功能
模板变量
在提示词中使用变量,实现动态配置:
变量语法:{variable_name}
示例:
请生成关于 {topic} 的 {count} 个 {difficulty} 级别的 {type}。
内置变量:
{current_date}:当前日期{current_time}:当前时间{random_id}:随机 ID
模型选择
DataMate 支持多种大模型:
| 模型 | 类型 | 说明 |
|---|---|---|
| GPT-4 | OpenAI | 高质量生成 |
| GPT-3.5-Turbo | OpenAI | 快速生成 |
| Claude 3 | Anthropic | 长文本生成 |
| 文心一言 | 百度 | 中文优化 |
| 通义千问 | 阿里 | 中文优化 |
| 本地模型 | 部署本地模型 | 私有化部署 |
数据质量控制
启用数据质量评估:
- 格式验证:验证输出格式
- 内容检查:检查敏感词、不当内容
- 重复检测:检测重复生成的内容
- 质量评分:对生成内容打分
批量生成
对于大规模数据生成:
- 分批生成:将大批量任务拆分为多个小批次
- 并发控制:控制并发请求数量
- 失败重试:自动重试失败的生成请求
- 断点续传:支持从中断处继续生成
最佳实践
1. 提示词设计
好的提示词应该:
- 明确任务:清晰描述生成任务
- 指定格式:明确输出格式要求
- 提供示例:给出期望的输出示例
- 控制质量:设置质量要求
示例提示词:
你是一个专业的教育内容创作助手。
任务:生成教育问答对
学科:{subject}
年级:{grade}
数量:{count}
要求:
1. 问题要符合该年级的知识水平
2. 答案要准确、详细、易懂
3. 每个答案包含解析过程
4. 不得生成敏感或不当内容
输出格式(JSON):
[
{
"id": 1,
"question": "问题内容",
"answer": "答案内容",
"explanation": "解析内容",
"difficulty": "easy/medium/hard",
"knowledge_points": ["知识点1", "知识点2"]
}
]
请开始生成:
2. 参数调优
根据需求调整模型参数:
| 参数 | 高质量 | 快速生成 | 创意生成 |
|---|---|---|---|
| 温度 | 0.3-0.5 | 0.1-0.3 | 0.7-1.0 |
| 最大 tokens | 根据需求 | 较短 | 较长 |
| Top P | 0.9-0.95 | 0.9 | 0.95-1.0 |
3. 数据验证
生成后进行数据验证:
- 格式检查:检查输出格式是否正确
- 内容审核:人工抽查部分数据
- 质量评估:使用评估工具打分
- 去重:去除重复或高度相似的内容
常见问题
Q: 生成数据质量不理想怎么办?
A: 优化建议:
- 改进提示词:更详细、更明确的指令
- 调整参数:降低温度、增加最大 tokens
- 提供示例:在提示词中给出示例
- 更换模型:尝试其他大模型
- 人工审核:人工审核和筛选
Q: 生成速度慢怎么办?
A: 加速建议:
- 减少数量:分批生成,不要一次性生成过多
- 调整并发:适当增加并发数
- 使用更快的模型:如 GPT-3.5-Turbo
- 缩短输出:减少最大 tokens
- 使用本地模型:部署本地模型加速
Q: 如何保证生成数据的多样性?
A: 增加多样性:
- 提高温度:设置温度为 0.7-1.0
- 丰富提示词:在提示词中加入变化元素
- 多次生成:多次生成后去重
- 使用不同种子:改变随机种子
- 混合模型:使用多个模型生成
Q: 生成的数据有重复怎么办?
A: 去重方法:
- 启用去重:在任务配置中启用去重功能
- 调整温度:提高温度增加随机性
- 丰富提示词:在提示词中加入更多变化
- 后处理去重:使用去重工具处理
Q: 如何控制生成成本?
A: 成本控制:
- 选择合适模型:根据需求选择模型
- 控制长度:限制最大 tokens
- 批量处理:使用批量 API(如果支持)
- 缓存复用:缓存相似请求的结果
- 本地模型:对于大规模生成,考虑部署本地模型
API 参考
详细的 API 文档请参考:
相关文档
意见反馈
这个页面对您有帮助吗?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.