返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

Synthetic Data Kit:LLM微调的语料提炼方案

[复制链接]
链载Ai 显示全部楼层 发表于 半小时前 |阅读模式 打印 上一主题 下一主题


针对特定任务微调主流LLM的最大挑战是:高质量、任务专用的数据很难获取。Meta的合成数据工具包(Synthetic Data Kit,SDK)为此提供了一个精简的开源解决方案,用于生成、筛选和格式化合成数据集—无需数据科学家参与。

小编认为它意义在于将微调过程中的预料准备经验进行了工具化的总结。大多数现实世界的数据集杂乱无章、结构混乱,很少采用LLM喜欢的"用户/助手"格式。Meta的合成数据工具包弥补了这一差距,让您可以生成推理轨迹、问答对等内容,所有这些都适合微调。

从原始数据到微调黄金

SDK的工作流程简单且模块化,围绕四个核心命令构建:
  • 导入(Ingest):从PDF、HTML、YouTube、DOCX、PPT或纯文本中导入数据。该工具包解析并将您的文件组织成清晰的目录结构。
  • 创建(Create):使用本地LLM(通过vLLM)生成问答对、思维链(CoT)推理示例或摘要。可以自定义示例的数量和类型,甚至可以使用自己的提示模板。
  • 筛选(Curate):使用Llama作为评判来过滤和评分您的合成示例,确保只有最高质量的数据才能通过。
  • 保存(Save-As):以您的微调工作流程所需的格式导出已筛选的数据—支持Alpaca、OpenAI、ChatML等多种格式。

#SDK的命令树SDK-->SystemCheck[system-check]SDK[synthetic-data-kit]-->Ingest[ingest]SDK-->Create[create]SDK-->Curate[curate]SDK-->SaveAs[save-as]Ingest-->DFFile[PDFFile]Ingest-->HTMLFile[HTMLFile]Ingest-->YouTubeURL[FileFormat]Create-->CoT[CoT]Create-->QA[QAPairs]Create-->Summary[Summary]Curate-->Filter[FilterbyQuality]SaveAs-->JSONL[JSONLFormat]SaveAs-->Alpaca[AlpacaFormat]SaveAs-->FT[Fine-TuningFormat]SaveAs-->ChatML[ChatMLFormat]


快速入门

#从PyPI安装condacreate-nsynthetic-datapython=3.10condaactivatesynthetic-datapipinstallsynthetic-data-kit
#或者,克隆仓库以获取最新功能:bashgitclonehttps://github.com/meta-llama/synthetic-data-kit.gitcdsynthetic-data-kitpipinstall-e.

后台假设一台运行选定教师模型的vLLM服务器。有余力的情况下,教师模型参数规模越大,效果越好。

bashvllmservemeta-llama/Llama-3.3-70B-Instruct--port8000#创建必要的目录结构:mkdir-pdata/{pdf,html,youtube,docx,ppt,txt,output,generated,cleaned,final}#检查系统是否已准备就绪:synthetic-data-kitsystem-check

例如要将PDF格式的研究论文进行语料的转化,以下是将其转换为微调数据集的方法:
bash#导入PDFsynthetic-data-kitingestresearch_paper.pdf#生成30个问答对,设置质量阈值synthetic-data-kitcreatedata/output/research_paper.txt-n30--threshold8.0#筛选质量synthetic-data-kitcuratedata/generated/research_paper_qa_pairs.json-t8.5#以OpenAI微调格式保存synthetic-data-kitsave-asdata/cleaned/research_paper_cleaned.json-fft

还可以处理YouTube视频、HTML文件,都可以使用简单的bash脚本批量处理整个文件夹。

工具高度可配置

通过CLI或YAML配置文件覆盖任何参数—温度、块大小、生成对数、筛选阈值,甚至可以使用针对特定领域任务的自定义提示模板。

配置文件在config/config.yaml
#Exampleconfigurationvllm:api_base:"http://localhost:8000/v1"model:"meta-llama/Llama-3.3-70B-Instruct"generation:temperature:0.7chunk_size:4000num_pairs:25curate:threshold:7.0batch_size:8

法律问答对的自定义提示词示例:
prompts: qa_generation: |  You are creating question-answer pairsforfine-tuning a legal assistant.  Focusontechnical legal concepts, precedents,andstatutory interpretation.
Belowisa chunk of text about: {summary}...
Create {num_pairs} high-quality question-answer pairs based ONLYonthistext.
Return ONLY valid JSON formattedas: [ { "question":"Detailed legal question?", "answer":"recise legal answer." }, ... ]
Text: --- {text}

目前SDK支持6种类型的解析器:PDFParser (使用pdfminer),HTMLParser (使用beautifulsoup4),YouTubeParser (使用pytube和youtube_transcript_api),DOCXParser (使用docx),PPTParser (使用pptx),TXTParser (简单读取文本文件)

创建命令为synthetic-data-kit create [文本文件路径] --type [格式类型]。其中格式类型选项包括:qa (问答对),cot (思维链推理)。

# Bash script to process multiple filesforfileindata/pdf/*.pdf;do filename=$(basename"$file".pdf)
synthetic-data-kit ingest"$file" synthetic-data-kit create"data/output/${filename}.txt"-n 20 synthetic-data-kit curate"data/generated/${filename}_qa_pairs.json"-t 7.5 synthetic-data-kit save-as"data/cleaned/${filename}_cleaned.json"-f chatmldone

SDK于是加载输入文本文件,将文本分块成可管理的段落(基于块大小),
为每个块生成摘要(这些摘要包含在提示词中),根据配置文件中的模板构建提示调用vLLM API生成响应,以JSON格式保存生成的样本。

语料质量筛选

synthetic-data-kitcuratedata/generated/report_qa_pairs.json-t7.0

这个关键的质量控制过程如下:
1) 加载包含生成样本的JSON文件,按照如下的维度进行质量评估:
当然也可以自己构建自己的评估依据,例如<学会LLM思维:语料质量的自评估>

  • 准确性:事实正确性
  • 相关性:与内容的相关性
  • 清晰度:语言清晰
  • 实用性:对模型学习的价值

2) 将数据和维度进行进行提示词的构建,发送到vLLM服务器,由LLM分配质量分数。例如:“基于以下方面对每个问答对进行1-10分的评分”
3)分数低于配置阈值(默认7.0)的示例将被移除

最后加载过滤过的样本,进行Alpaca格式,ChatML格式或者JSONL等其他常见训练格式的存储转化。

Meta的合成数据工具包对于任何希望为LLM提供高质量、任务特定数据的人来说都是一个游戏改变者。无论研究人员、开发人员还是创业公司创始人,这个工具包都能让生成、筛选和格式化用于微调的合成数据集变得容易

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
    • 官方手机版

    • 微信公众号

    • 商务合作

    • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
    • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ