上个月,Google 在 Huggingface[1] 和 Kaggle[2] 上开源了两个新模型:datagemma-rag-27b-it 和 datagemma-rig-27b-it。其中新提出的 RIG(Retrieval Interleaved Generation)检索交错生成,提供了 LLM 与外部数据库交互的新思路。
RAG VS. RIG
熟悉 LLM 的同学都知道,LLM 是通过训练数据学习到的知识,因此使用大模型的时候会遇到“幻觉”和“过时”等问题,这都源于训练数据库没有包含相应的知识或者训练用的数据没有及时更新。考虑到 LLM 训练的昂贵的时间和金钱成本,在真是的应用中,通常会采用 RAG(Retrieval Augmented Generation)检索增强生成 技术来给 LLM “外挂” 一个最新的数据库,通过检索的方式利用 LLM 的能力来相应用户关于特定数据或最新数据的问题。
RAG 工作流程:
-
用户提交查询:用户向 LLM 提交查询或提示。
-
数据检索:LLM 将用户的查询转换数据库问题提交外部数据进行检索。
-
响应生成:LLM 依据内部拥有的知识库和检索到的结果进行答案的生成。
如图所示,当询问“再生资源的使用是否增加的时候?”,RAG 应用通过检索到的数据表进行数据获取,得到了数据准确的回答。
这次开源的 RIG 模型则采用了另一种模式 检索交错生成,这里的_交错_是指在生成部分响应和检索外部数据之间交替进行。该模型不会等待检索完所有数据后再生成响应;相反,它将这两个任务交错进行,因此检索和响应生成同时进行。
RIG 的流程可以分为几个关键步骤:
-
用户查询提交:用户向 LLM 提交查询或提示。
-
部分响应生成:LLM 开始根据它已经拥有的内部知识生成响应。但是,此响应可能包括需要外部数据的部分的占位符或推测性答案。
-
实时数据检索:当 LLM 识别到缺失或不完整的信息时,它会实时查询外部来源(例如,数据库、知识图谱或基于 Web 的 API)。该模型可以进行多次检索调用,从而使用新获取的数据丰富响应。
-
交错检索生成的:在生成响应期间,模型在生成响应的各个部分和根据需要获取数据之间动态交替。例如,如果 LLM 以“Renewable energy sources now …”开头,它会在完成该响应部分之前暂停以检索特定的再生资源利用率数字。
-
最终响应:一旦检索并整合了所有必要的数据,LLM 就会完成响应并将其返回给用户。
RIG 效果
Google 这次的两个开源模型都是针对 Data Commons 进行的优化和测试,旨在解决大模型和真实数字数据交互的场景。“Data Commons 是一个公开可用的知识图谱,包含数十万个统计变量中超过 2400 亿个丰富的数据点。它从联合国 (UN)、世界卫生组织 (WHO)、疾病控制和预防中心 (CDC) 以及人口普查局等受信任的组织获取这些公共信息。将这些数据集组合成一组统一的工具和 AI 模型,使政策制定者、研究人员和组织能够寻求准确的见解。”
同时,Google 也在Colab[3]开放了两个模型的 Notebook,方便体验。现在让我们看一下 RIG 在 Data Commmons 上的真实使用效果。
问题:What progress has Pakistan made against health goals?
datagemma-rig-27b-it 的回答:
Pakistan has made some progress against its health goals, but significant challenges remain. 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 ...
在当前版本的 RIG 中,所有数值数据都有 DC 和 LLM 自生成两种来源,方便用户进行比较和筛选,同时每一个数据还会给出精确到条目的来源。
结论
从上述回答中可以看出,RIG 和 RAG 一样,主要作用是减少 LLM 使用时的幻觉,通过将实时数据检索与生成过程交织在一起,RIG 在形成响应时持续查询可信数据源,有助于模型将其输出建立在现实世界的事实信息中,从而显著降低幻觉的风险。
RIG 的另一个显著优势是它能够在生成响应的同时实时适应。与 RAG 在数据在生成响应之前仅检索一次不同, RIG 在响应生成期间是动态交错检索。如果 LLM 遇到多条缺失或不完整的信息,它可以迭代地获取数据,同时优化其响应。
在实际使用中,RIG 更能有效发挥小规模参数 LLM 的性能。RAG 将所有查询与结果单词输入 LLM,响应的答案严重依赖 LLM 上下文长度的处理能力。RIG 的路线只针对特定数据检索,对于上下文长度的处理能力要求更也更低;同时,RIG 对于检索不到的数据会使用占位符的形式提醒用户,其对提供的数值答案相对可靠性更强,更适合对数值数据要求高的敏感低功耗场景,如价格客服、金融服务和医疗服务等。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。