如何优化大型语言模型,让AI回应更智能、更准确?

news2024/11/15 9:22:42

什么是检索增强生成(RAG)?

检索增强生成(RAG)是一种优化大型语言模型输出的过程,它在生成回应之前会参考其训练数据源之外的权威知识库。大型语言模型(LLM)在大量数据上进行训练,使用数十亿参数来生成原创输出,以执行回答问题、翻译语言和完成句子等任务。RAG将LLM已经强大的能力扩展到特定领域或组织的内部知识库,而无需重新训练模型。这是一种成本效益高的方法,用于改进LLM的输出,使其在各种情境中保持相关性、准确性和实用性。

LLM是推动智能聊天机器人和其他自然语言处理(NLP)应用的关键人工智能(AI)技术。目标是创建能够通过参考权威知识源,在各种情境中回答用户问题的机器人。不幸的是,LLM技术的性质引入了LLM回应的不可预测性。此外,LLM训练数据是静态的,对它拥有的知识引入了一个截止日期。

LLM的已知挑战包括:

● 当没有答案时提供错误信息。

● 当用户期望具体、当前的回应时,提供过时或泛化的信息。

● 从非权威来源创建回应。

● 由于术语混淆而创建不准确的回应,不同的训练源使用相同的术语来讨论不同的事物。

你可以将大型语言模型想象为一个过于热情的新员工,他拒绝了解当前事件,但总是会满怀信心地回答每一个问题。不幸的是,这种态度可能会对用户信任产生负面影响,这不是你希望你的聊天机器人模仿的!

RAG是解决这些挑战的一种方法。它引导LLM检索来自权威、预先确定的知识源的相关信息。组织可以更好地控制生成文本输出,用户可以了解LLM如何生成回应。

为什么RAG是重要的?

LLM是推动智能聊天机器人和其他自然语言处理(NLP)应用的关键人工智能(AI)技术。目的是创建能够通过参考权威知识源,在不同情境中回答用户问题的机器人。遗憾的是,LLM技术的本质引入了对LLM响应的不可预测性。此外,LLM训练数据是静态的,对它掌握的知识设置了一个截止日期。

LLM面临的已知挑战包括:

● 当没有答案时提供错误信息。

● 当用户期望具体、当前的回应时,提供过时或泛化的信息。

● 从非权威来源创建回应。

● 由于术语混淆而创建不准确的回应,不同的训练源使用相同的术语来讨论不同的事物。

你可以将大型语言模型看作是一个过度热情的新员工,他拒绝了解当前事件,但总是会满怀信心地回答每个问题。不幸的是,这种态度可能会对用户信任产生负面影响,这并不是你希望你的聊天机器人模仿的!

RAG是解决这些挑战的一种方法。它引导LLM检索来自权威、预先确定的知识源的相关信息。组织可以更好地控制生成的文本输出,用户可以了解LLM如何生成回应。

RAG有什么好处?

检索增强生成(RAG)技术为组织的生成式人工智能工作带来了几个好处。

成本效益的实施

聊天机器人的开发通常是从基础模型开始的。基础模型(FMs)是可通过API访问的、在广泛的泛化和未标记数据上训练的大型语言模型(LLM)。为了使FMs适应组织或特定领域的信息,重新训练的计算和财务成本很高。RAG是引入新数据到LLM的更经济有效的方法。它使生成式人工智能(生成AI)技术更广泛地被接入和使用。

最新信息

即使LLM的原始训练数据源适合您的需求,保持相关性也是一个挑战。RAG允许开发人员提供最新的研究、统计数据或新闻给生成模型。他们可以使用RAG将LLM直接连接到实时社交媒体源、新闻网站或其他频繁更新的信息源。LLM可以向用户提供最新信息。

增强用户信任

RAG使LLM能够提供带有来源归属的准确信息。输出可以包括引用或参考来源。如果用户需要进一步的澄清或更多的细节,他们也可以自行查找源文件。这可以增加用户对您的生成AI解决方案的信任和信心。

更多开发者控制

使用RAG,开发者可以更有效地测试和改进他们的聊天应用程序。他们可以控制并更改LLM的信息来源,以适应不断变化的需求或跨功能使用。开发者还可以限制对不同授权级别的敏感信息检索,并确保LLM生成适当的回应。此外,如果LLM针对特定问题引用了错误的信息来源,他们还可以进行故障排除和修复。组织可以更有信心地为更广泛的应用实施生成AI技术。

RAG是如何执行的?

在没有RAG的情况下,LLM会接收用户输入并基于它所接受的训练信息(或它已经知道的内容)来创建回应。使用RAG后,引入了一个信息检索组件,它利用用户输入首先从新的数据源提取信息。用户查询和相关信息都提供给LLM。LLM使用新的知识和它的训练数据来创建更好的回应。以下部分提供了这一过程的概览。

创建外部数据

LLM原始训练数据集之外的新数据称为外部数据。它可以来自多个数据源,例如APIs、数据库或文档存储库。数据可能以文件、数据库记录或长文本等各种格式存在。另一种称为嵌入式语言模型的AI技术,将数据转换成数值表示并存储在向量数据库中。这个过程创建了生成AI模型可以理解的知识库。

检索相关信息

下一步是执行相关性搜索。用户查询被转换为向量表示并与向量数据库进行匹配。例如,考虑一个可以回答组织人力资源问题的智能聊天机器人。如果员工搜索“我有多少年假?”系统将检索年假政策文档以及个别员工的过去请假记录。这些特定文档将被返回,因为它们与员工的输入高度相关。相关性是通过数学向量计算和表示来计算和确定的。

增强LLM提示

接下来,RAG模型通过添加相关检索数据的上下文来增强用户输入(或提示)。这一步使用提示工程技术有效地与LLM通信。增强提示允许大型语言模型生成对用户查询的准确回答。

更新外部数据

接下来的问题可能是——如果外部数据变得陈旧怎么办?为了保持检索的当前信息,异步更新文档并更新文档的嵌入表示。您可以通过自动化实时过程或定期批处理来实现。这是数据分析中的一个常见挑战——可以使用不同的数据科学方法进行变更管理。

以下图表显示了使用RAG与LLM的概念流程。


 

检索增强生成(RAG)与语义搜索(semantic search)之间的区别是什么?

对于希望将大量外部知识源添加到其LLM应用程序中的组织来说,语义搜索增强了RAG的结果。现代企业在各种系统中存储了大量信息,如手册、常见问题解答、研究报告、客户服务指南和人力资源文件存储库。在大规模情况下进行上下文检索具有挑战性,因此降低了生成输出的质量。

语义搜索技术可以扫描大型异构信息数据库并更准确地检索数据。例如,它们可以通过将问题映射到相关文档并返回特定文本而不是搜索结果来回答诸如“去年在机械维修上花费了多少钱?”之类的问题。开发者然后可以使用该答案为LLM提供更多上下文。

RAG中的常规或关键字搜索解决方案在知识密集型任务中产生有限的结果。开发者还必须处理词嵌入、文档分块和在手动准备数据时的其他复杂性。相比之下,语义搜索技术完成了知识库准备的所有工作,因此开发者不必这样做。它们还生成按相关性排序的语义相关段落和词汇,以最大化RAG载荷的质量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1387785.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows10解决大小核调度问题

文章目录 1.开启高性能模式2.下载安装PowerSettingsExplorer3.修改配置生效的异类策略异类线程调度策略异类短时间线程调度策略 4.你的电源策略5.CPU展示 该教程是给笔记本电脑用的,经过我实践是成功的。 1.开启高性能模式 使用管理员模式的PowerShell输入下列指令 …

微信小程序上传并显示图片

实现效果&#xff1a; 上传前显示&#xff1a; 点击后可上传&#xff0c;上传后显示&#xff1a; 源代码&#xff1a; .wxml <view class"{{company_logo_src?blank-area:}}" style"position:absolute;top:30rpx;right:30rpx;height:100rpx;width:100rp…

C++ 设计模式之享元模式

【声明】本题目来源于卡码网&#xff08;题目页面 (kamacoder.com)&#xff09; 【提示&#xff1a;如果不想看文字介绍&#xff0c;可以直接跳转到C编码部分】 【简介】什么是享元模式 -- 可重复使用 享元模式是⼀种结构型设计模式&#xff0c;在享元模式中&#xff0c;对象被…

基于深度学习的桃子熟度与大小智能检测

基于深度学习的桃子熟度与大小智能检测 基于深度学习的桃子熟度与大小智能检测引言1. 环境搭建与准备2. 数据准备3. 模型准备4. 训练准备5. 服务器端部署结语 基于深度学习的桃子熟度与大小智能检测 引言 随着时代的快速发展&#xff0c;人工智能时代为中国农业带来了新的机遇…

Leetcode刷题【每日n题】(1)

目录 1.题目一 2.思路分析 3.代码实现 4.题目二 5.思路分析 6.代码实现 1.题目一 11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴…

Vue-20、Vue.set()的使用

1、添加对象某个属性 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Vue.set()的使用</title><script type"text/javascript" src"https://cdn.jsdelivr.net/npm/vue2/dist…

2023.12.30性质

若连通图上各边的权值均不相同&#xff0c;则该图的最小生成树是唯一的。 由k算法&#xff0c;即由边从小到大的顺序构造&#xff0c;如果边权值各不相同&#xff0c;那么构造出来的最小生成树唯一&#xff0c;就是唯一的顺序&#xff0c;从小到大 关于带权无向图的最小生成…

动态pv(nfs方式挂载)

1、定义 发布pvc之后可以生成pv&#xff0c;还可以在共享服务器上直接生成挂载目录 pvc直接绑定和使用pv 2、动态pv依赖两个组件 &#xff08;1&#xff09;provisioner卷插件&#xff1a;k8s本身支持的动态pv创建不包括nfs&#xff0c;需要声明和安装一个外部插件provisio…

HDFS和MapReduce综合实训

文章目录 第1关&#xff1a;WordCount词频统计第2关&#xff1a;HDFS文件读写第3关&#xff1a;倒排索引第4关&#xff1a; 网页排序——PageRank算法 第1关&#xff1a;WordCount词频统计 测试说明 以下是测试样例&#xff1a; 测试输入样例数据集&#xff1a;文本文档test1…

canvas截取视频图像(图文示例)

查看专栏目录 canvas示例教程100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

[VGG团队论文阅读]Free3D: Consistent Novel View Synthesis without 3D Representation

Vedaldi, C. Z. A. (n.d.). Free3D: Consistent Novel View Synthesis without 3D Representation. Chuanxiaz.com. https://chuanxiaz.com/free3d/static/videos/Free3D.pdf Free3D: 无需3D表示的一致新视角合成 Visual Geometry Group, University of Oxford 摘要 我们介绍…

C# 面向切面编程之AspectCore初探

写在前面 AspectCore 是Lemon名下的一个国产Aop框架&#xff0c;提供了一个全新的轻量级和模块化的Aop解决方案。面向切面也可以叫做代码拦截&#xff0c;分为静态和动态两种模式&#xff0c;AspectCore 可以实现动态代理&#xff0c;支持程序运行时在内存中“临时”生成 AOP 动…

Mindspore 公开课 - prompt

prompt 介绍 Fine-Tuning to Prompt Learning Pre-train, Fine-tune BERT bidirectional transformer&#xff0c;词语和句子级别的特征抽取&#xff0c;注重文本理解Pre-train: Maked Language Model Next Sentence PredictionFine-tune: 根据任务选取对应的representatio…

Android 仿快手视频列表,RecyclerView与Banner联动效果

这是看到群里讨论过快手APP的一个观看他人视频列表的一个联动效果&#xff0c;但是并不是完全按照这个软件的效果来做的&#xff0c;只是参考&#xff0c;并不是完全仿照这个软件来做的&#xff0c;没时间去优化排版问题了&#xff0c;请见谅&#xff0c;如图&#xff1a; 实现…

pycharm管理仓库(Manager Repository)不见了

经常使用pycharm的大佬们都知道&#xff0c;pycharm中内置了很多库和包&#xff0c;很好用 但是下载来用自带的源很麻烦&#xff0c;于是就用国内的源 可以当我们添加管理仓库的时候&#xff0c;却没有了按钮&#xff0c;如何解决呢&#xff1f; 回到pycharm的主界面&#xf…

C语言:自定义类型——结构体

一、什么叫做结构体 C语⾔已经提供了内置类型&#xff0c;如&#xff1a;char、short、int、long、float、double等&#xff0c;但是只有这些内置类型还是不够的&#xff0c;假设我想描述学⽣&#xff0c;描述⼀本书&#xff0c;这时单⼀的内置类型是不⾏的。描述⼀个学⽣需要 …

Leetcode2707. 字符串中的额外字符

Every day a Leetcode 题目来源&#xff1a;2707. 字符串中的额外字符 解法1&#xff1a;动态规划 题目要求将字符串 s 分割成若干个互不重叠的子字符串&#xff08;以下简称为子串&#xff09;&#xff0c;同时要求每个子串都必须在 dictionary 中出现。一些额外的字符可能…

【EI会议征稿通知】第五届计算机通信与网络安全国际学术会议 (CCNS 2024)

第五届计算机通信与网络安全国际学术会议 (CCNS 2024) 2024 5th International Conference on Computer Communication and Network Securit IEEE Fellow、海内外高层次专家云集&#xff0c;EI、Scopus稳定检索 第五届计算机通信与网络安全国际学术会议 (CCNS 2024) 将于202…

立白科技集团:研发安全推动数字化蜕变,日化业务再上新高度

立白科技集团成立于1994年&#xff0c;是我国日化行业的领军企业&#xff0c;致力于成为一家“品牌引领、数字经营、富有创新、富有活力”的智慧服务型企业。从2018年开始&#xff0c;立白科技集团加速数字化转型&#xff0c;打造数据和业务中台&#xff0c;并建立toB和toC平台…

仿真验证方法(1)——动态验证

一、概述 1.1 验证的目的和方法 在现代集成电路设计中&#xff0c;验证所占工作量超过70%。验证要求真实而完备&#xff0c;它决定了设计的成败与成本。 验证的目的 原始描述是否正确&#xff1f;&#xff08;代码&#xff09; 逻辑功能是否正确&#xff1f;&#xff08;功能…