InternScience/GraphGen
GraphGen: Enhancing Supervised Fine-Tuning for LLMs with Knowledge-Driven Synthetic Data Generation
解决的问题
GraphGen 是一个旨在通过生成高质量、知识驱动的合成数据,来改善大型语言模型(LLM)监督微调(SFT)的框架。它专门针对 LLM 中的“知识空白”问题——即模型缺乏信息或校准不佳的领域——通过优先生成高价值、长尾知识的问答(QA)对来解决此问题。
工作原理
GraphGen 遵循结构化的流程来创建合成训练数据:
- 知识图谱构建:它从源文本(PDF、JSON、TXT 等)或外部数据库(UniProt、NCBI、Wikipedia)构建细粒度的知识图谱。
- 空白识别:它使用预期校准误差指标来识别 LLM 缺乏知识的环节。
- 定向生成:它根据知识图谱生成 QA 对,使用多跳邻域采样来捕捉复杂关系,并通过风格控制生成来确保多样性。
- 数据增强:它包含一个改写管线,使用 LLM 驱动的重组来为同一语料库创建多样化的变体,以避免预训练期间的冗余。
适用人群
此工具专为需要为 LLM 合成高质量训练数据的 AI 研究人员和开发者设计,特别是在医学、法律或生物学(例如:植物科学)等知识密集型领域。
亮点
- 多样的数据类型:支持生成原子型、聚合型、思维链(CoT)、多跳、VQA(视觉问答)以及基准测试型数据(选择题、填空题、是非题)。
- 广泛的集成性:兼容各种推理后端(vLLM、SGLang、HuggingFace)与 API 服务器(OpenAI、Azure、Ollama)。
- 灵活的数据来源:能够从文件、搜索引擎(Google、Bing)以及专门的生物信息学数据库中摄取数据。
- 可扩展的架构:利用 Ray 进行分布式执行,并支持 KuzuDB 和 RocksDB 以实现高效存储。
相关
- 项目
- 项目
- 项目
- 项目
- 项目