重點摘要:用本地 LLM 建構知識圖譜:從基準測試到微調¶
TL;DR¶
本地小模型抽實體已可用,但抽關係三元組才是真瓶頸。
核心問題¶
GraphRAG 的關鍵前置步驟是從原始文本抽出 (實體, 關係, 實體) 三元組,但多數教學直接呼叫 GPT-4。作者因資料無法外流而需用本地 7–9B 模型,於是系統性測試並微調,弄清本地模型在結構化抽取上到底有多吃力、能否改善。
關鍵發現 / 數據¶
- 實體抽取已基本解決,關係抽取沒有:四個模型 Entity F1 達 0.78–0.91,但 Triple F1 最佳僅 0.732(Llama 3.1 few-shot),多數落在 0.52–0.60。
- 可靠性與品質的取捨:Llama few-shot 品質最佳但 schema 合規率僅 20%(80% 文件需重試);Mistral schema-in-prompt 達 100% 合規但品質平庸;Gemma 2 9B 較平衡。
- 微調完全解決結構問題:QLoRA 微調 Qwen3-8B(雙 RTX 3090,33 分鐘),達 100% JSON 合規、Entity F1 0.847。
- 但微調後 Triple F1 暴跌至 0.211:predicate 變成冗長自然語言(
filed a patent infringement lawsuit againstvs goldfiled_lawsuit_against)。 - 模糊比對(75 組同義詞、token-sort 門檻 75)可讓 Triple F1 提升 15–34%。
方法亮點¶
- 三層模糊比對評估管線(實體 token-sort、predicate 同義詞正規化、子字串比對)。
- 訓練資料:REBEL 銀標 3,000 筆 + 100 筆跨 30+ 領域手工樣本。
- QLoRA r=64/alpha=128、LR 3e-5 cosine、user-turn masking(只算 assistant 輸出 loss)、序列打包。
對我的研究有用嗎?¶
非常有參考價值。它清楚點出 GraphRAG 真正瓶頸不在實體辨識而在關係抽取,值得借鏡。最深刻的洞見是「知識庫補全 vs 文本接地抽取」的哲學差異——REBEL 用 Wikidata 對齊的事實,模型卻學會抽文本實際表達的關係,導致 in-domain(REBEL held-out Triple F1 僅 0.067)反而更差。這提醒我們:三元組評估沒有單一正解,需搭配人工 precision 評估,且領域 predicate 詞彙統一是關鍵。
評語¶
值得深讀;工程嚴謹、有開源腳本,數據誠實(敢呈現微調後 F1 變差並深挖原因),對自建 GraphRAG 抽取管線極具實務啟發。