Google 最新推出的RAG替代方案--RIP 原创 精华
1、RIG 新模式
上月,谷歌在 Huggingface 和 Kaggle 两大平台发布了两个新型开源模型:datagemma-rag-27b-it与datagemma-rig-27b-it。特别是其中的RIG(Retrieval Interleaved Generation)检索交错生成模型,它开创了大型语言模型(LLM)与外部数据库交互的新方法。
2、RAG VS RIG
对于那些对大型语言模型(LLM)有所了解的同学来说,他们清楚 LLM 是通过训练数据来学习知识的。因此,在使用大型模型时,我们可能会遇到“幻觉”和“信息过时”等问题,这些问题通常是因为训练数据库中缺乏相关知识或者训练数据未能及时更新所致。鉴于 LLM 训练所需的高昂时间和经济成本,在实际应用中,我们通常会采用 RAG(Retrieval Augmented Generation)技术,即为 LLM “接入”一个最新的数据库,以便通过检索手段利用 LLM 的能力来回答用户关于特定或最新数据的问题。
RAG 的工作流程如下:
1. 用户查询提交:用户向 LLM 发送查询或提示词。
2. 数据检索:LLM 将用户的查询转化为数据库查询,并向外部数据库进行数据检索。
3. 响应生成:LLM 结合自身的知识库和检索到的结果,生成相应的答案。
如图所示,当被问及“再生资源的使用是否有所上升?”时,RAG 应用通过检索得到的数据表来获取信息,从而提供了准确的数据驱动的答案。
而此次发布的 RIG 模型则采用了不同的方法—检索交错生成。这里的“交错”指的是在生成部分回答和检索外部数据之间进行交替。该模型不会等到所有数据检索完毕才开始生成回答;相反,它是将检索和响应生成这两个过程相互交织,使得检索和回答的生成能够同步进行。
RIG 模型的操作流程可以概括为以下几个核心步骤:
1. 用户查询提交:用户向 LLM 发送查询或提示。
2. 部分响应构建:LLM 利用其内置知识开始构建响应。然而,这个响应可能包含对需要外部数据部分的占位符或初步推测。
3. 实时数据检索:当 LLM 发现信息缺失或不完整时,它会即时搜索外部资源(例如:数据库、知识图谱或基于 Web 的 API)。模型可能会进行多次检索,以便利用新获得的数据来丰富其响应。
4. 交错检索与生成:在构建响应的过程中,模型在生成响应的不同部分和根据需求获取数据之间动态切换。比如:如果 LLM 以“可再生能源现在……”开头,它会在完成该部分响应之前暂停,以便检索特定的可再生能源利用率数据。
5. 最终响应输出:在检索并整合了所有必需的数据后,LLM 将完成响应并呈现给用户。
3、RIG 效果
谷歌此次发布的两个开源模型均针对 Data Commons 进行了专门的优化和测试,目的是为了应对大型模型与实际数字数据交互的挑战。"Data Commons是一个公开可访问的知识图谱,它包含了超过2400亿个数据点,涉及数十万个统计变量。这些数据点来源于联合国(UN)、世界卫生组织(WHO)、疾病控制和预防中心(CDC)以及人口普查局等可靠机构。通过将这些数据集整合成一套统一的工具和AI模型,我们为政策制定者、研究人员和组织提供了获取精确洞察力的手段。"
同时,谷歌在 Colab 上也为这两个模型提供了 Notebook,以便用户更方便地进行体验。接下来,让我们观察 RIG 模型在 Data Commons 上的实际应用效果。
问题:巴基斯坦在卫生目标方面取得了哪些进展?
datagemma-rig-27b-it 的回答:
Here are some key points:
Progress made:
Increased life expectancy: Life expectancy at birth has increased from [DC#1(62.102 yr [1] || 61.8 years)] in 2000 to [DC#2(66.269 yr [2] || 67.2 years)] in 2020.
Reduced maternal mortality: Maternal mortality ratio has declined from [DC#3(387.3715 Per 100,000 live births [3]* || 276 per 100,000 live births)] in 2000 to [DC#4(177.7277 Per 100,000 live births [4]* || 140)] in 2018.
...
FOOTNOTES
[1] - Per datacatalog.worldbank.org, value was 62.102 yr in 2000. See more at https://datacommons.org/explore#q=what%20was%20the%20life%20expectancy%20in%20Pakistan%20in%202000%3F&mode=toolformer_rig
[2] - Per datacatalog.worldbank.org, value was 66.269 yr in 2020. See more at https://datacommons.org/explore#q=what%20was%20the%20life%20expectancy%20in%20Pakistan%20in%202020%3F&mode=toolformer_rig
...
4、结论
从上述回答可以观察到,与 RAG 类似,RIG 的主要功能是减少 LLM 在应用中的幻觉现象。通过将实时数据检索与响应生成过程紧密结合,RIG 在构建回答过程中不断查询可靠的数据源,这有助于模型基于现实世界的事实数据来形成输出,从而显著降低产生幻觉的可能性。
RIG 的另一个明显优势在于其在生成响应的同时能够实时调整。与 RAG 仅在生成响应前进行一次数据检索不同,RIG 在响应生成过程中进行动态的交错检索。若 LLM 遇到多个缺失或不完整的信息点,它能够迭代式地获取数据,并在此过程中优化其回答。
在实际应用中,RIG 更能充分利用参数规模较小的 LLM 的性能。RAG 将所有查询和结果单词都输入 LLM,其答案的质量很大程度上取决于 LLM 处理上下文长度的能力。而 RIG 的方法则是针对特定数据进行检索,对上下文长度的处理能力要求更低;此外,对于无法检索到的数据,RIG 会使用占位符来提示用户,这使得它提供的数值答案相对更加可靠,特别适合对数据准确性要求较高的敏感领域,比如:价格咨询、金融服务和医疗咨询等场景。
本文转载自公众号玄姐聊AGI 作者:玄姐
原文链接:https://mp.weixin.qq.com/s/1P4xID8qEHB1fvOdsD5oHQ