StackMap
Subscribe

DeepDive vs GraphGen

THUDM recipe for deep-search agents: synthesize hard multi-hop QA from knowledge-graph random walks, then multi-turn GRPO RL — DeepDive-32B hits 14.8% BrowseComp; data feeds GLM-4.5/4.6. — versus — KG-guided synthetic SFT data: builds a knowledge graph from source text, finds the LLM's knowledge gaps via calibration error, and generates targeted long-tail QA pairs. ACL-published.

The curated verdict

Both mine a knowledge graph to synthesize training data; graphgen targets the model's calibrated knowledge gaps for SFT, deepdive builds hard multi-hop QA for multi-turn GRPO.

DeepDiveGraphGen
Stars3491.2k
Forks3898
LanguagePythonPython
LicenseApache-2.0
Last activity3 months ago1 months ago
Topicstrainingtraining
Curated connections35

DeepDive — the curator's take

Read it for the data trick: random-walk paths through KILT/AMiner knowledge graphs, entity obfuscation into 'blurry entities', then difficulty-filtering that keeps only questions GPT-4o fails four times out of four. Strict binary rewards (format AND answer, else zero) resist reward hacking, and the test-time finding is counterintuitive gold — among 8 parallel trajectories, the answer reached with the FEWEST tool calls wins (24.8% vs 12.0% single-shot). Use it to train or study open-model search agents; NOT a runnable product — model checkpoints are still 'coming soon', and you bring Serper/Jina API keys plus slime training infra. The 4,108-entry dataset is open on HF and already went into GLM-4.5/4.6.

GraphGen — the curator's take

The interesting bit isn't "synthetic QA" — it's targeting: GraphGen measures the student model's expected calibration error to find what it *doesn't* know, then samples multi-hop KG neighborhoods to generate exactly those long-tail QA pairs. Use it when domain-adapting a model and naive synthetic data keeps rehearsing what the model already knows. Output feeds straight into LLaMA-Factory or xtuner. NOT a general data-prep system — it makes QA-style SFT/pretrain data from documents, nothing else; for cleaning, filtering and pipeline plumbing you still want an operator system like DataFlow.