今天分享的是SmartRAG–把云端GraphRAG那套"百亿大模型现场建图"的范式拆掉,改成四个轻量模块分工,让1.7B量化模型在一加手机上跑多跳QA,追平18倍大模型。
手机端跑GraphRAG的痛点不在模型小,是云端"让大模型建图"那套范式搬不上手机–4B都卡分钟级TTFT。让我们一起看看SmartRAG是如何克服的。
四模块分工
SmartRAG的核心动作是把"结构化知识能力"从LLM能力问题重构为系统架构问题。四个模块协同:
- Perception:EvoNER(持续学习NER)+ 轻量关系分类器,把文本抽成entity-relation三元组
- Memory:MRGraph三层图持久化,绑定源段落做溯源
- Focus:混合检索(图遍历+词法+稠密语义)
- Thinking:on-device LLM仅做labeling/summarization/planning/answering四角色
高频写图交给轻量可训练组件,LLM保留给低频高价值语义操作。
EvoNER三件套
EvoNER是整套架构的引擎,三件套让轻量NER能持续吃新实体:
Span-based NER+字符注入:枚举候选span时只从word-start走到最大宽度W=10,O(nW)候选而非O(n²)。每个word首subword注入字符级特征 h_t = [e_t ; m_t·c(t)],m_t是首subword指示位,c(t)是字符级embedding,增强对错拼和罕见surface form的鲁棒性。
Reserved-label机制:分类器预分配固定标签容量,切分为base head(no-entity+已部署类型)和reserved rows(未来类型)。reserved初始化为 b≪0, W≈0 的不激活态,新类型直接占位不用重训分类器,输出维度不变。
Teacher distillation只在base子空间:增量目标 L_inc = L_task + λ_KD·L_KD。蒸馏gate m_r=I[max softmax(ℓ_T_base/T_kd) ≥ τ],即老师在base类上峰值概率超τ才蒸馏。reserved logits不被蒸馏,新类型保持可塑性,老边界由老师锚定。配套三阶段参数高效更新 Θ1=Θ_head -> Θ2=Θ_head∪Θ_topK -> Θ3=Θ,设备预算耗尽可在任意阶段停。
未识别实体先冻结轻量embedder抽向量存本地向量库,攒够数量后用Ward linkage做agglomerative聚类 d(A,B) = (|A|·|B|)/(|A|+|B|)·||µ_A-µ_B||²,凝聚出大簇再交给Thinking模块打标签。
MRGraph三层图
MRGraph是三层溯源知识图:
Layer 1 Entity-paragraph graph:段落是写入和检索的原子单位。段落节点存原文+文档指针+in-document index+embedding;实体节点用稳定name hash去重;关系边带observation count防图爆炸。Ingestion走"evidence-first, structure-second"–三元组先对齐到best-matching段落,再materialize为关系边,保证每条结构化事实都可追溯。
Layer 2 Abstraction layer:在实体之上维护语义簇,centroid平滑更新,anchor-centroid drift metric检测并阻止主题漂移。簇摘要在正常运行时增量维护,idle-and-charging时段做高质量refinement。
Layer 3 Runtime raw-text view:query时把命中的段落证据和局部图邻居按token budget组装成context,同时给Thinking模块结构化和非结构化两类证据。
三阶段混合检索
Thinking模块先把问题分解成retrieval plan P=(e_0, {(r_h, t_h)}^H_{h=1}),e_0是seed entity,每跳r_h是自然语言关系短语(如"published in"),t_h是目标实体类型。
Stage 1:按plan多跳文本检索,每跳把当前center entity和关系短语拼成local query,用fused lexical+dense相似度召回段落,MMR在token预算下选证据,再用命中段落推下一跳的entity center。
Stage 2:Stage 1的bridge entity做图遍历种子。每个节点把自身拼接query后跟abstraction层摘要比对,选top-ranked簇做top-down扩展。Personalized PageRank估节点重要性,连通子图块配段落证据组装。
Stage 3:前两阶段证据不足时全文检索兜底,解决实体跨段落切分的边界问题。
最后做entity mention局部窗口抽取+句子级压缩+hash去重,再喂给LLM。
LLM稀疏叫醒
on-device LLM被当作可复用语义引擎,只在4个高价值语义操作上被叫醒:
- Labeling:对置信度不够的实体簇,LLM提出新类型名 ∆T = LLM(cluster(M)),语义发散的簇被拒绝以防污染类型空间
- Summarization:KG周期性聚成community,LLM产出摘要重插回上层段落,形成自压缩记忆环
- Planning:复杂问题在取证据前先被分解成多跳retrieval plan
- Answering:LLM基于检索证据生成答案,约束在结构化schema上偏抽取式grounding降低幻觉
建图、关系抽取、聚类、检索这些高频操作都不走LLM。
实验对比
4个QA benchmark上跑Qwen3-1.7B+SmartRAG(Q6_K量化,llama.cpp后端,OnePlus 13/15真机):
| Benchmark | SmartRAG (1.7B) Cr% | Qwen3-32B LLM-only Cr% | Ministral3-14B LLM-only Cr% |
|---|---|---|---|
| TriviaQA | 50.00 | 51.45 | 60.70 |
| NQ | 66.68 | 40.15 | 37.80 |
| HotpotQA | 63.93 | 33.25 | 22.40 |
| MultiHopQA | 50.17 | 31.54 | 20.12 |
NQ/HotpotQA/MultiHopQA三局,1.7B+SmartRAG全面反超32B和14B这两组大模型参考。TriviaQA上简单事实问题大模型parametric memory仍有优势。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~