斯坦福大学的研究人员研究了RAG系统与无RAG的LLM (如GPT-4)相比在回答问题方面的可靠性。研究表明,RAG系统的事实准确性取决于人工智能模型预先训练的知识强度和参考信息的正确性。
大语言模型(LLM)虽然功能强大,但容易出现幻觉。
此外,它们受限于其训练语料库中包含的知识,因此无法回答有关近期事件或公开受限信息的查询。
为了解决上述问题,检索增强生成(RAG)是一种常用的框架,它在LLM的提示中提供相关检索内容,获得相关信息的参考文档或数据库,并可以显著提高模型的准确性。
大多数商业LLM,如ChatGPT、Gemini和Perplexity.ai,已经在它们的Web界面中采用了某种版本的RAG。
例如,ChatGPT使用Bing搜索,而Gemini访问Google搜索结果。
但当语言模型内部知识与通过RAG提供的信息之间的不一致时,或者当网络结果不断变化,并且可能包含过时、错误或有害的信息时,这个问题就变得更加复杂了。
因此,对启用RAG的LLM行为进行客观评估,与对它们的非RAG对应物进行基准测试同样重要,特别是目前RAG系统越来越依赖于在众多领域提供事实信息。
在斯坦福的最新研究中,研究工作旨在量化LLM的内部知识与RAG设置中呈现的检索信息之间的紧张关系。
没有上下文(即没有RAG),测试的语言模型平均只能正确回答34.7%的问题。有了RAG,准确率提高到了94%。
「先前」指的是没有上下文的GPT-4响应,「带RAG」指的是在提示中包含了相关检索到的上下文的响应。
此外,还包括了先验概率与RAG偏好率之间关系的斜率。例如,平均斜率为-0.23,这意味着每当先验token的概率增加10%,RAG偏好率的下降可能性为2.3%。
为了区分这两种相互竞争的力量,研究人员对GPT-4和其他大语言模型(LLM)进行了测试,使用了六组不同的问题,总共超过1200个问题。
当提供正确的参考信息时,这些模型正确回答了94%的问题。
然而,当参考文档逐渐被错误的值修改时,如果模型自身在该主题上的预训练知识较弱,LLM重复错误信息的可能性就更高。
当预训练知识更强时,模型更能抵抗错误的参考信息。
根据参考文档中信息的错误程度,大语言模型(LLM)会通过检索增强生成(RAG)引用或从其知识库中输出错误答案。
当修改后的信息与模型认为合理的情况偏离得更厉害时,出现了类似的模式:偏离越不切实际,大语言模型(LLM)就越依赖于自己的预训练知识。
尽管RAG系统可以显著提高语言模型的事实准确性,但它们并不是对抗错误信息的万能药。
上述实验说明使用高质量参考数据的RAG可以显著提高LLMs的准确性。
此外,模型的良好训练先前知识有助于识别和忽略不切实际的信息。
另外遵守参考信息的提示强度也产生了影响:更强烈的提示导致模型更有可能遵循参考信息。
相反,当提示不那么严格,模型有更多的自由度来衡量其先前知识与参考信息时,遵循参考信息的可能性就会降低。
大语言模型(LLM)访问检索增强生成(RAG)数据的方式会影响从参考中提取信息的准确性。
为了实现尽可能高的准确性,必须非常清楚地告知LLM,它应该只从参考中获取数据。
RAG系统相对于传统搜索引擎具有独特的吸引力,它们可以结合先验知识来填补空白并推断检索到的信息。
但这伴随着权衡——即,这样的先验知识可以覆盖文档中提供的信息。
虽然强大的先验知识本身并不是问题(通常可以保护模型),但缺乏关于模型如何混合RAG参考文档和它们先验知识的明确预期,可能导致下游结论不准确的问题。
例如,RAG系统被用来提取嵌套的财务数据以用于算法,如果财务文档中有一个错别字会发生什么?模型会注意到错误吗?如果是,它会提供什么数据来代替?
鉴于LLM即将在包括医学和法律在内的许多领域广泛部署,用户和开发者都应该意识到它们的意外效果,并给出预案。
用户需要更加了解模型如何处理潜在的冲突或错误信息,以及RAG系统和LLM一样,也可能出错。
参考资料:
https://arxiv.org/pdf/2404.10198
https://the-decoder.com/study-shows-tension-between-llm-prior-knowledge-and-reference-data/
文章来自于微信公众号新智元,作者Mindy
【开源免费】DeepBI是一款AI原生的数据分析平台。DeepBI充分利用大语言模型的能力来探索、查询、可视化和共享来自任何数据源的数据。用户可以使用DeepBI洞察数据并做出数据驱动的决策。
项目地址:https://github.com/DeepInsight-AI/DeepBI?tab=readme-ov-file
本地安装:https://www.deepbi.com/
【开源免费】airda(Air Data Agent)是面向数据分析的AI智能体,能够理解数据开发和数据分析需求、根据用户需要让数据可视化。
项目地址:https://github.com/hitsz-ids/airda
【开源免费】FASTGPT是基于LLM的知识库开源项目,提供开箱即用的数据处理、模型调用等能力。整体功能和“Dify”“RAGFlow”项目类似。很多接入微信,飞书的AI项目都基于该项目二次开发。
项目地址:https://github.com/labring/FastGPT
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】MindSearch是一个模仿人类思考方式的AI搜索引擎框架,其性能可与 Perplexity和ChatGPT-Web相媲美。
项目地址:https://github.com/InternLM/MindSearch
在线使用:https://mindsearch.openxlab.org.cn/
【开源免费】Morphic是一个由AI驱动的搜索引擎。该项目开源免费,搜索结果包含文本,图片,视频等各种AI搜索所需要的必备功能。相对于其他开源AI搜索项目,测试搜索结果最好。
项目地址:https://github.com/miurla/morphic/tree/main
在线使用:https://www.morphic.sh/