Grounding 是将模型的输出与可验证的外部信息关联起来的做法,其存在是因为语言模型存在根本性的架构限制:它们不知道自己知道什么。模型的训练数据以统计模式的形式嵌入到其权重中,而不是作为可检索的事实数据库。它无法查找某个具体声明是否在其训练集中,或无法将日期与可靠来源进行核对。Grounding 通过在推理时为模型提供权威数据来弥补这一缺陷,使其能够基于提供的证据进行回答,而不是依赖模式匹配的回忆。
目前生产中最常见的 grounding 技术是检索增强生成(RAG)。基本模式非常直接:将用户的问题用于搜索知识库(通常是包含嵌入文档片段的向量数据库),检索最相关的段落,并将其与问题一并包含在模型的上下文中。然后模型基于这些检索到的段落生成答案。Google 的 Vertex AI、Amazon Bedrock 和大多数企业 AI 平台均提供 RAG 管道作为托管服务。关键洞察是,你将模型的任务从“从训练数据中回忆事实”转变为“从提供的文档中合成答案”—这是模型更可靠的任务。
网络搜索 grounding 采用不同的方法。它不是搜索私有知识库,而是让模型查询实时网络并将结果纳入其响应中。Perplexity 围绕这一理念构建了其整个产品。Google 的 Gemini 模型可以直接访问 Google Search。ChatGPT 的浏览功能也执行类似任务。与 RAG 相比,网络搜索 grounding 的优势在于新鲜度—网络搜索 grounding 可以回答有关昨天发生事件的问题,而 RAG 系统的新鲜度仅取决于其最后一次索引更新。缺点是网络本身包含错误信息,因此你是在用一种错误来源替换另一种。
引用要求是 grounding 的一种更轻量级形式,它在提示级别上起作用。当你告诉模型“仅对可以归因于提供的文档的声明进行陈述,并在正文中引用来源”时,你并未赋予它新能力—你只是约束其行为,使其更贴近可验证的内容。这种做法在实践中出乎意料地有效,尤其是对于 Claude 或 GPT-4 等强大模型。模型通常会拒绝回答或明确标记不确定性,而不是捏造引用,因为生成一个结构上看似正确的假引用比直接说“我没有这个信息”要困难得多。话虽如此,引用 grounding 并非万无一失。模型仍可能生成看似合理但引用了错误部分或曲解了来源实际含义的引用。
Grounding 的一个实际陷阱是过度依赖检索质量。如果你的 RAG 管道检索到不相关的片段—因为嵌入未能捕捉查询意图,或分块策略将关键段落拆分到两个片段中—模型将基于错误材料进行 grounding,并生成带有引用的自信错误回答。Grounding 并不会消除幻觉;它只是改变了失败模式。模型不再凭空捏造事实,而是现在可能从真实来源中误解或过度推断。良好的 grounding 需要良好的检索,这意味着要投入嵌入质量、分块大小、重排序和评估—而不仅仅是将向量数据库插入到你的管道中并称之为完成。