今天是2024年7月12日,星期五,北京,天气晴。
我们来看两个问题,一个是关于知识图谱遇见RAG-基本认知、实现思路及代表工作剖析线上分享,感兴趣的可以参加。
另一个是RAG落地环节的15个控制点及优化点,是一个经验工作,也可看看,尤其是在安全方面的控制。
供大家一起参考并思考。
实际上,关于KG-RAG这块的内容,我们已经讲了很多次。
《基于知识图谱的大模型检索增强实现策略:Graph RAG实现基本原理及优化思路》:https://mp.weixin.qq.com/s/ulhu7qj93d3PRWoUpNcCug
《知识图谱遇上RAG行业问答:回顾知识检索增强范式、挑战及与知识图谱的结合》: https://mp.weixin.qq.com/s/MdpLJVQ1ypjvZTy06MurHA
《基于知识图谱的大模型检索增强实现策略:Graph RAG实现基本原理及优化思路》:https://mp.weixin.qq.com/s/ulhu7qj93d3PRWoUpNcCug
《再看知识图谱融合大模型RAG问答:用于多文档QA的知识图谱构图及prompt应用思路》:https://mp.weixin.qq.com/s/WAeewL6pLg1PaMJa_jHdXg
但这些还是文字版的,还缺乏一种系统性的梳理,因此,顺着昨天社区的需求,我们于今天晚上来系统讲讲老刘说NLP第25讲《知识图谱遇见RAG-基本认知、实现思路及代表工作剖析》KG-RAG,感兴趣的可以加入社区,一同参加线上分享。
本次分享中,我们来看看一些基本的认知、一些实现思路已经代表性的方案。
例如,例利用KG来组织文档chunk提升相关性。
又如,可以使用简单的文档KG生成项目-TexGrapher进行文档图谱化:
又如,引入实体来增强chunk中的排序问题:
本次分享面向社区成员进行,支持回放,感兴趣的可加入社区,加入社区方式见文末
关于RAG进展,NVIDIA最近除了很多工作。例如 《FACTS About Building Retrieval Augmented Generation-based Chatbots》(https://arxiv.org/abs/2407.07858),主要讨论了构建基于检索增强生成(Retrieval Augmented Generation, RAG)的企业级聊天机器人的框架和经验,梳理出了RAG流水线的15个控制点及优化点,可以看看。
1、FACTS的内涵
FACTS代表五个关键维度:内容新鲜度(Freshness, F)、架构(Architecture, A)、LLM成本经济学(Cost, C)、测试(Testing, T)和安全性(Security, S)。
2、RAG流水线的15个控制点
15个控制点,可以从下图中获取,还是很形象:
1)数据源集成:集成不同来源的数据,例如SharePoint、Google Drive等,以便聊天机器人可以访问。
2)文档格式支持:确保聊天机器人能够处理多种文档格式,如HTML、PDF、PPT等。
3)元数据丰富:通过添加或改进元数据来增强文档的检索能力。
4)数据分块(Chunking):将文档分割成更小的部分,以便于检索和处理。
5)查询理解:理解用户的查询意图,并将其转化为可操作的检索请求。
6)查询重述(Query Rephrasing):改进用户的原始查询,以提高检索的相关性。
7)检索执行:在向量数据库中执行检索,找到与查询最相关的文档块。
8)结果重排(Reranking):根据相关性对检索结果进行重新排序。
9)多模态数据支持:处理包括文本、图像、视频等在内的多模态数据。
10)访问控制:确保聊天机器人在生成响应时遵守文档的访问控制权限。
11)响应生成:使用LLM生成回答,结合检索到的文档块。
12)响应优化:对生成的响应进行优化,以确保简洁性和准确性。
13)结果评估:评估生成的响应的质量,包括准确性和相关性。
14)反馈循环:根据用户反馈和系统性能进行迭代改进。
15)安全性和合规性:确保聊天机器人的响应遵守企业的安全和合规性标准。
3、RAG流水线的15个控制点挑战及优化点
虽然这张图比较模糊,但是也可以看到其总结得到的5个控制点挑战及优化点。
例如:
1)元数据丰富、分块、查询重述、查询重排
在RAG流程中,元数据丰富、分块、查询重述和查询重排阶段对聊天机器人响应的质量影响最大。LLM响应生成的质量高度依赖于检索的相关性。而检索的相关性又高度依赖于文档元数据的丰富、分块和查询重述。实施了基于网格搜索的自动机器学习功能,以找到合适的分块令牌大小配置,尝试了各种提示的变化,并探索了不同的分块重排策略,以找到每个的最佳设置。
2)混合搜索
向量数据库在处理匹配实体(例如人名、地点、公司名称等)方面并不擅长。使用词汇搜索(例如Elasticsearch)和向量搜索的组合提供了更好的检索相关性和更广泛的覆盖范围。建立一个支持混合搜索功能的基础设施,结合了基于词汇和基于向量的搜索的优势,可以提高检索过程的准确性和速度。
3)代理架构
像“比较NVIDIA从2024财年第一季度到第四季度的收入,并就导致这一时期收入变化的关键因素提供分析性评论”这样的问题,需要能够进行查询分解和协调的复杂代理。IR系统和LLMs不足以回答复杂查询。需要复杂的代理和多代理架构来处理复杂查询。
4)是否微调LLMs?
一个关键的决定是是否对LLMs进行微调,平衡使用基础模型与特定领域定制之间的使用。当涉及到LLMs时,并不是一种尺寸适合所有情况。有些用例可能使用基础模型效果很好,而其他一些则需要定制。在考虑定制时,有几种选项可用,包括提示工程、Ptuning、参数高效微调(PEFT)和完全微调(FT)。微调需要在数据标记、训练和评估方面进行重大消耗,每一个都可能是耗时和昂贵的。 自动化测试和质量评估流程在定制LLMs时变得至关重要,以确保效率和准确性。
5)处理多模态数据
企业数据是多模态的。处理结构化、非结构化和多模态数据对于多功能RAG流程至关重要。如果文档的结构是一致的并且事先已知(如Scout机器人处理的财务收益领域中SEC提交数据的EDGAR数据库中找到的那些),则实现部分级分割,使用节标题和小标题并将它们纳入分块的上下文中,可以提高检索相关性。像Unstructured.io这样的解决方案,在解析和分块具有上下文的非结构化文档方面很有帮助。
6)RAGOps
一旦RAG流程部署,进行有效的健康监控至关重要。 当答案质量较差时,需要进行彻底的错误分析,以确定问题是否在于检索相关性或LLM响应生成。如果需要调试检索相关性,开发人员需要详细了解哪些块存储在向量数据库中以及它们的相关元数据,查询是如何重述的,检索了哪些块,以及这些块是如何排名的。同样,如果LLM响应不正确,审查用于答案生成的最终提示至关重要。
对于引用问题,开发人员必须回溯到原始文档链接及其相应的块。RAGOps/LLMOps和评估框架,如Ragas,对于在RAG流程的准确性改进周期中提供必要的自动化以实现快速迭代至关重要。
3、关于如何控制部署成本
理解基于生成式AI的聊天机器人的成本经济学涉及几个关键因素。主要和商业LLMs的高成本可能是不可持续的,随着团队测试各种LLMs以满足特定需求,费用在多个用例中显著累积。
此外,当使用商业LLM供应商API时,需要防护措施来检测和防止敏感数据泄露,以及用于审计和合法许可学习的网关。还需要考虑成本与延迟之间的权衡,因为具有较长上下文长度的大型LLMs通常响应时间更慢,影响整体效率。
1)更大的与更小的模型
大型商业LLMs和小型开源LLMs正日益成为许多用例的可行选择,为公司提供了成本效益高的替代方案。随着开源模型追赶上大型商业模型,它们在NVHelp bot的实证评估中展示了接近可比的准确性,并且通常比大型模型有更好的延迟性能。
此外,使用NVIDIA的Tensor RT-LLM推理库等GPU优化的推理模型可以进一步加快处理时间。这些策略有助于在保持高性能和安全标准的同时平衡成本效益的需求。
2)LLM网关
如果必须使用供应商LLM API,最好为公司内部实施一个LLM网关,用于审计、订阅和跨公司的成本管理。实施公司内部的LLM网关可以简化LLM的使用、订阅和数据跟踪,以进行安全审计。这个中心枢纽简化了管理和确保了资源的高效分配。
NVIDIA IT实施了一个LLM网关,它记录入站和出站的有效载荷以进行审计,并且这些数据受到访问控制权限的保护。LLM网关有助于管理LLM API调用的订阅和成本。
开发混合和平衡的LLM策略对于管理成本和促进创新至关重要。这包括使用更小和定制化的LLMs来控制费用,同时通过LLM网关允许负责任地探索大型LLMs。关键是要衡量和监控投资回报,跟踪LLM订阅和成本,以及评估Gen-AI功能使用和生产力提升。
确保基于云的LLM使用中的敏感企业数据的安全性需要实施防护措施以防止数据泄露,并构建LLM网关进行审计和合法许可的学习。
最后,要注意成本、准确性和延迟之间的权衡,定制更小的LLMs以匹配大型模型的准确性,同时注意到具有长上下文长度的大型LLMs倾向于有更长的响应时间。
本文主要看了两个问题,一个是关于知识图谱遇见RAG-基本认知、实现思路及代表工作剖析线上分享,感兴趣的可以参加。另一个是RAG流水线的15个控制点及优化点,是一个经验工作,也可看看,尤其是在安全方面的控制。
很多工作,都是放在具体的文档里,大家可以仔细的看,总会有一定的收获。
1、https://arxiv.org/abs/2407.07858
老刘,刘焕勇,NLP开源爱好者与践行者,主页:https://liuhuanyong.github.io。
老刘说NLP,将定期发布语言资源、工程实践、技术总结等内容,欢迎关注。
对于想加入更优质的知识图谱、事件图谱、大模型AIGC实践、相关分享的,可关注公众号,在后台菜单栏中点击会员社区->会员入群加入。