- GraphGen là framework open-source tạo synthetic training data cho LLM từ knowledge graph, dùng ECE metric để nhắm vào knowledge gap cụ thể.
- Benchmark với Qwen2.5-7B: +15.5 điểm AIME25 (toán), +14.4 điểm SeedBench (nông nghiệp), +6.7 điểm GPQA-Diamond so với baseline tốt nhất.
- Sinh ~50,000 samples trong 2 giờ trên 8 A100, output đa dạng hơn 59% (MTLD 75.8 vs 47.6).
- Apache 2.0, cài bằng uv pip install graphg.
TL;DR

GraphGen là framework open-source dùng knowledge graph để sinh synthetic training data cho LLM. Thay vì rephrasing văn bản thô như các tool trước, nó xây graph tri thức từ tài liệu nguồn, đo lỗ hổng kiến thức bằng ECE metric, rồi sinh QA đa dạng nhắm vào đúng điểm yếu của model.
+15.5 điểm AIME25 (toán) với Qwen2.5-7B so với baseline
+14.4 điểm SeedBench (nông nghiệp), +6.7 điểm GPQA-Diamond (khoa học)
Free, Apache 2.0. Cài bằng
uv pip install graphg
Vấn đề cần giải quyết
Khi fine-tune LLM cho domain chuyên biệt - y tế, nông nghiệp, pháp lý - dữ liệu labeled luôn là bottleneck. Các giải pháp synthetic data hiện tại mắc 4 lỗi cơ bản:
Hallucinate fact: model sinh dữ liệu không chính xác từ vùng kiến thức yếu
Bỏ sót long-tail: chỉ cover kiến thức phổ biến, bỏ qua đúng những gì model thực sự thiếu
Structure đơn giản: thiếu multi-hop reasoning, chỉ có QA một bước
Output đồng nhất: ít đa dạng ngôn ngữ, dễ gây overfitting vào pattern lặp
GraphGen giải quyết cả bốn điểm này bằng cách đặt knowledge graph làm trung tâm của toàn bộ pipeline sinh data.
Cơ chế hoạt động
Pipeline GraphGen gồm 3 bước chính:
Xây knowledge graph từ tài liệu nguồn - hỗ trợ PDF, CSV, JSON, TXT, database (UniProt, NCBI), và web search. Graph trích entity và relationship thành cấu trúc có thể query được.
Đo lỗ hổng kiến thức bằng Expected Calibration Error (ECE) - metric tự động xác định những khái niệm model đang yếu nhất trong graph, ưu tiên sinh data cho vùng long-tail trước.
Sinh QA đa dạng theo 3 kịch bản: Atomic QA (fact đơn), Aggregated QA (tổng hợp nhiều node), Multi-hop QA (suy luận nhiều bước qua graph). Style-controlled generation đảm bảo output không bị lặp ngôn ngữ.
Ngoài QA, GraphGen còn hỗ trợ sinh dữ liệu pretraining qua rephrase pipeline dùng community detection (thuật toán Leiden) để tổng hợp Chain-of-Thought data, và VQA cho multimodal fine-tuning.
Benchmark ấn tượng
Task | Baseline tốt nhất | GraphGen | Delta |
|---|---|---|---|
AIME25 (toán) | 7.2 | 22.7 | +15.5 |
SeedBench (nông nghiệp) | 51.5 | 65.9 | +14.4 |
GPQA-Diamond (khoa học) | 33.3 | 40.0 | +6.7 |
HotpotEval (multi-hop QA) | baseline | +4.73 ROUGE-F | - |
PQArefEval (y tế) | baseline | +2.7 pts | - |
Trainee model là Qwen2.5-7B-Instruct, synthesizer là Qwen2.5-72B-Instruct, tỉ lệ 50%+ GraphGen data trong SFT mix. Tốc độ sinh: khoảng 50,000 samples trong 2 giờ trên 8 NVIDIA A100. Lexical diversity (MTLD): 75.8 vs baseline tốt nhất 47.6 - tức 59% đa dạng hơn về mặt ngôn ngữ.
So sánh với các phương pháp khác
GraphGen được test trực tiếp với 5 baseline phổ biến và thắng toàn bộ trên mọi dataset:
vs WRAP & LongForm: hai tool này chỉ rephrase text thô, không có cấu trúc KG - không nhắm được knowledge gap cụ thể
vs EntiGraph: dùng entity graph nhưng thiếu bước ECE đo lỗ hổng, data sinh ra không targeted vào điểm yếu của model
vs SELF-QA & Genie: sinh QA từ raw text, không có multi-hop relational reasoning qua graph
vs RAG: GraphGen là closed-book SFT - nhúng kiến thức vào weight model, không phụ thuộc retrieval lúc inference
vs Evol-Instruct, Magpie: các tool này tập trung vào instruction diversity, không phải knowledge coverage của domain cụ thể
GraphGen là framework đầu tiên kết hợp cả ba yếu tố: KG construction + ECE gap detection + style-controlled generation trong một pipeline thống nhất.
Ai nên dùng - giới hạn cần biết
Phù hợp nhất cho:
ML engineer fine-tune LLM cho domain chuyên biệt (biomedical, khoa học, nông nghiệp, pháp lý)
Team có tài liệu nội bộ cần chuyển thành training data mà không muốn annotate thủ công
Use case cần closed-book SFT - model trả lời từ weight, không cần RAG lúc production
Bất kỳ ai đang bị hallucination trên long-tail knowledge của domain
Giới hạn cần biết:
Cần GPU - 8x A100 là config paper dùng; scale nhỏ hơn vẫn chạy được nhưng chậm hơn
Chưa validate kỹ cho pure code generation; math thì kết quả AIME25 khá tốt dù không phải design target chính
Không phù hợp open-book/RAG scenarios
Chất lượng output phụ thuộc vào chất lượng và độ phong phú của tài liệu nguồn
Bắt đầu ngay
uv pip install graphgHỗ trợ backend: HuggingFace, SGLang, vLLM, Ollama, OpenAI API, Azure OpenAI. Output formats: CoT, atomic, aggregated, multi-hop, multiple-choice, fill-in-the-blank, true/false. Tích hợp được với LLaMA-Factory và xtuner. Demo live trên HuggingFace Spaces và ModelScope.
Via: arXiv:2505.20416, GitHub open-sciencelab/GraphGen (Apache 2.0, 1,000+ stars).
