检索增强生成(RAG)在硅谷火了,汇总创业者和科研人的看法

如果你是 ChatGPT 的重度用户,你可能会感受到当今 AI 产品有许多的局限性:幻觉,过时的信息,领域知识的缺乏,机密数据的处理等等。 这一年来,有一个技术在硅谷引起了越来越多的关注,那就是检索增强生成(RAG)。

在这篇文章里,我将介绍 RAG 究竟是什么,以及硅谷创业者和科研人如何看待它的未来。

大语言模型的局限性

  • 幻觉:模型可能会生成不正确或捏造的信息,影响其可靠性。
  • 过时的信息:由于模型是在静态数据集上训练的,因此无法提供训练日期之后发生的事件的信息。
  • 缺乏领域知识:模型可能对专业领域没有深入的了解,导致答案过于简单或不准确。
  • 处理机密数据:使用大语言模型对于涉及公司数据或个人信息的任务具有挑战性。

所有这些都表明一个需求,就是要把额外的信息合并到预先训练好的大语言模型中。

技术解析

RAG 最简单的例子

RAG 论文由 Facebook AI Research 于 2020 年 10 月首次提出,旨在提高处理自然语言任务的性能。

让我们看一个最简单的例子。 比如现在我们有一份旅游景点打卡清单,希望大语言模型能够谈论这些内容。 我们把每一行看作一个文本文档。“在公园里悠闲地散步,呼吸新鲜空气。”,

“参观当地博物馆并发现新事物。”,
“参加现场音乐会并感受节奏。”,
“去徒步旅行,欣赏自然风光。”,
“和朋友一起野餐,分享欢笑。”,

当用户输入这个:

user_input = “我喜欢徒步”

系统可以搜索刚才那个列表,找出最相关的文档。这里我们定义相似度为拥有最多重复的字好了。

relevant_document = “去徒步旅行,欣赏自然风光。”

然后把用户输入和搜到的最相关文档替换进准备好的提示词里。

prompt =
“你是一个为活动提供建议的机器人。 你需要用非常短的句子回答,并且不包含额外的信息。
这是推荐的活动:{relevant_document}
用户输入是:{user_input}
根据推荐的活动和用户输入,向用户推荐好玩的景点。”

现在系统可以将新的提示词发送给大语言模型,等它回复个啥出来:

“赞! 根据您对徒步旅行的兴趣,我建议您尝试附近的步道,享受充满挑战且有益的体验,欣赏壮丽的景色,享受有趣且富有挑战性的冒险。”

Duang~这就是 RAG 技术的基本理念。

潜在的改进

这是最简化的版本,实际上,有一些潜在的改进——

  1. 根据可扩展性、云支持和多模态支持的需求,将这些文档存储在向量库中。
  2. 预处理文档和用户输入。 把它们编码在词向量空间中,其中每个词都是高维空间中的向量。
  3. 相应地,把相似性度量改成向量相关的运算。
    1. 点积:两个向量的相乘
    2. 余弦相似度:测量两个向量之间的角度
    3. 欧氏距离:测量两个向量之间的距离

此外,还有具有更多模块和不同组件的高级 RAG。

应用落地场景

自 2023 年夏季以来,RAG 受到了广泛关注。我们看到各家科技巨头已经开始提供工具,来辅助他们的客户构建 RAG 应用程序,比如 Google、AWS、IBM、微软、NVIDIA 等。

英伟达的人工智能软件副总裁 Kari Briski 在官网上说:“随着企业在 2024 年采用这些人工智能框架,预计我们会听到更多有关 RAG 的信息。”

想象一下在这些现实场景中使用 RAG,其中一些已经成为现实——

  • 教育:教育平台使用 RAG 生成学习材料,并创建学科题目的详细解释。(例:MathGPT Pro)
  • 聊天机器人:由 RAG 驱动的聊天机器人和虚拟助理,可为用户提供更准确更得体的回复。(例:CastChat)
  • 游戏:RAG 可根据玩家的选择和行动,生成动态的游戏叙事、对话和故事情节。(例:Inworld)

什么时候选择用 RAG

2024 年的一篇文章得出结论,RAG 最适合高外部知识和低模型适应的场景。

Richard Zhang 是一位拥有丰富的 RAG 搭建经验的创业者,坐标深圳。他跟欣欣分享说,优化大模型的输出结果,常见的三种方法是 prompt engineering,RAG 和微调。RAG 的解决方案,非常适合向大语言模型添加特定领域知识。微调则适合有特别复杂的命令要求,或对生成结果的结构和语气有特定要求的项目。此外,也有 RAG 和微调的混搭模式。

初创公司经验

许多初创公司已在 AI 产品中使用了 RAG,但也有一些初创公司决定不这么做。 我们来听听他们的经历。

佐治亚理工学院教授兼 Lighthouz AI 创始人 Srijan Kumar 发推说:“RAG 可以减少但不能根除幻觉。我的公司亲测,在 AI 财务助理的场景下,即使对于简单的查询,RAG 系统也只能在 57% 的情况下给出‘正确且完整’的响应。”

Richard Zhang 则强调,RAG 仍然是当下改善幻觉最有效的方法。如何把满意率从60%提升到90%,需要深入理解商业流程和清洗现有数据,最后才是 RAG 调优。这很有挑战性,而且是个长期持续过程。

Sekai 是一款沉浸式体验 AI 角色和故事的手机应用。其创始人告诉欣欣,产品目前还没有用到 RAG,因为上下文窗口长度已经足够用了。之前估测,一个对话窗口的 token 量在一万左右。

学界讨论

RAG 与长上下文窗口

现在硅谷的一个热门辩论话题是, RAG 是否会因为大模型上下文窗口变长而变得过时。 由于内存和计算能力的限制,大语言模型只能记住最近的用户输入,这个长度又叫作上下文窗口长度。这两年来,大语言模型的上下文窗口长度变得越来越长。

尤其是上个月,谷歌发布了Gemini 1.5,上下文窗口长达十万。许多人看了直呼 RAG 将会被历史抛弃,因为我们想要的附加信息可以成为输入提示词的一部分。

也有很多专业人士表达了反对的看法——

Gemini 的联合负责人 Oriol Vinyals 说:“RAG 有一些很好的特性,可以增强长上下文,也可以被长上下文增强。“这说明他相信 RAG 和长上下文将在未来相辅相成。

AI 初创公司创始人 Siva Surendira 则提醒大家,RAG 更便宜、更快。

爱丁堡大学计算机科学博士 Yao Fu 看好长上下文模型的潜力。他认为,虽然长上下文的成本较高且当前存在局限性,但它能提供超强的即时检索和推理能力,并猜测未来大语言模型可能可以直接访问普通的数据库,就像谷歌索引一样。

英伟达的 Jim Fan 表示赞同,并设想了一种将 RAG 与长上下文窗口相结合的方法,也许是“在巨大的非结构化数据库中传播神经激活的某种形式”。

AI 初创公司创始人 Elvis Saravia,也同意结合的这个路径。 他指出,“用不同的大语言模型可以解决不同的问题。 我们要摆脱这种想法,就是我们必须用同一种模型处理所有问题。”

长期替代方案

微软的高级首席云解决方案架构师 James Nguyen,在他的文章提到了 RAG 的一些局限性。 例如,检索、增强和生成的过程是独立处理的,这意味着负责检索的部分和负责生成的部分,对于用户的意图可能有不同的理解。 如果在检索阶段由于打开方式不对,造成了低质量或不相关的结果,那么模型可能在生成的时候又开始乱编,这样就又产生幻觉了。

他提议了一种基于 agent 的方法,“当 agent 需要查找它不具备的知识时,会自己谷歌一下答案。”

英伟达的科研人员 Ethan He 一年前以类似的理念制作了 ActGPT,它会从 Google 检索最新信息并执行诸如发推吹水之类的任务。 作为这个项目的一个小贡献者,欣欣我认为它减轻了幻觉和数据新鲜度问题,但无法处理机密数据。

哪些替代解决方案将会成为主流? Ethan 希望更多地关注混合专家模型 (MoE),这是一种结合了多个 LLM 模块和一个控制最终输出的架构。

结论

从研究成果和创业实践来看,RAG 仍然是目前解决很多问题最有效的方式,至少在未来五年内不会被取代。 长远来看,更智能的架构会不断发展,最终超越 RAG。

评论区

  1. Dabenshi 2024年3月6日 回复

    又学到了,很有见解…

发表回复

您的电子邮箱地址不会被公开。