AI 文摘

GPT大语言模型-RAG增强检索和自训练微调实践思考





作者: 人月聊IT 来源: 人月聊IT

大家好,我是人月聊IT。今天准备结合一个简单的PPT材料,再和大家分享一下GPT和大语言模型涉及到的RAG增强检索和自训练微调方面的一些实践思考。我个人的一些思考不会涉及到太细的一些技术实现,更多是结合我们自己相应的一些GPT的使用实践,包括发现的一些问题,把这些问题也跟大家分享一下。

首先我们来看一下GPT本质上解决的四类问题,其中包括了简单到复杂,复杂到简单,简单到简单,复杂到复杂。

第一类是简单到简单 ,即给定一个主题,让GPT帮你生成一篇作文或者规划旅游路线。这核心是利用PPT内容生成的能力,它能从简单的命题生成复杂的内容。

第二类是从复杂到简单 ,例如文章总结和知识归纳。这核心是利用GPT的归纳能力,生成摘要或总结。

第三类是从简单到简单 ,例如回答类似于“我是谁?”或“这是什么?”的问题,这类问题利用了标准模式匹配逻辑,GPT从自身知识库中进行简单模式匹配和输出。

第四类最为复杂,是从复杂到复杂 ,例如问题求解和基于长上下文内容的推理。这需要拆解问题,进行推理和归纳,得出最终解决方案。

接下来我们深入探讨从复杂到复杂的问题。当我们面对复杂问题时,通常思维解决思路是拆解和分解,将问题变成多个子问题,每个子问题有标准的解决方法和步骤。解决完每个子问题后,再进行聚合,形成完整的解决方案。这是标准的从复杂到复杂的思路,而GPT也能够解决这类问题。

例如复杂的数学题求解或复杂算法输出,都在GPT的解决范围之内。然而,在特定工作实践相关的复杂问题上,GPT可能会遇到困难。例如软件工程项目源代码生成或基于需求生成技术方案文档等。这些问题之所以难以解决,原因在于:

首先,GPT不清楚如何更好地拆解问题,以及问题拆解逻辑是否与日常处理类似问题的私有方法论一致。

其次,虽然GPT具有一些子问题的标准解决方案,但它不清楚这些子问题的标准解决方案是否符合特定场景的个性化约束规则。

最后,GPT可能不清楚最终问题解决后如何进行聚合,形成完整的解决方案。对于这些特定场景下的问题,公网GPT要解决是相当困难的。

因此,目前常用的思路主要有两种:

*一是外挂知识库的学习,即提供个人私有知识库内容。

*二是提示语的微调,前提是具备长上下文Token的能力。

首先来看外挂知识库的学习方式,即RAG增强检索。对于RAG增强检索,我简化了整个过程:

首先是自然语言查询,但在查询之前,准备好私有文档知识库,将其切片存储到向量数据库中。查询问题时,关键是Embedding Model,它会进行增强检索,从向量知识库中获取相关匹配片段。得到匹配片段后,结合GPT的大语言模型进行组合,形成最终知识库输出。这样输出不仅借助了外网GPT的能力,还使用了私有知识库,这就是RAG增强检索的核心逻辑。

然而,在实际应用中,我们发现最大的问题在于,私有知识库仅仅成为一个内容检索库,GPT无法学习私有化知识库内容形成的推理逻辑和上下文关系,它只是将其视为一个检索库。这是当前RAG检索增强遇到的最大问题点。

基于这个问题,我们再来看通过RAG检索增强如何完成一个独立技术方案的编写工作。整个过程相对简单,将现有各种建设方案作为私有知识库,转换成向量化存储。然后,提出一个新的项目建设范围和需求目标的问题,进行交互式问答。我们发现有两类情况:

一类是简单问题,如技术架构包括哪些内容?有哪些满足需求的人员?当前产品功能是否满足新需求?这些问题结合私有知识库可以得到很好的回答。

另一类是较为复杂的问题,即基于建设方案的思路和新的项目范围和需求生成完整的技术方案。我们做了大量实践,但效果并不好。GPT无法得到完整输出,即使使用私有知识库作为增强。主要涉及两个问题:

首先,虽然给定了建设方案知识库,但没有给定建设方案推理过程。GPT无法学习推理逻辑,只能检索知识库内容,但不清楚知识库是如何基于目标需求形成的。

其次,向量知识库只是检索库,无法生成完整的技术方案输出,与我们需要的还有很大差距。

接下来我们看微调的方式如何完成技术方案编写。基于GPT交互和多轮微调的构建思路,将需求和已有建设方案一起上传给GPT,然后要求分析思路,总结归纳,提出解决思路和关键点。通过多轮迭代交流,GPT基本上能理解编写完整技术方案的思路,但需要解决的关键点包括:

首先,需要构建本地大模型语言库,涉及大量算力资源和成本。

其次,存在上下文和token数量限制的问题,需要反复提醒GPT。

再次,私有知识库很多内容无法上传到公网GPT,需要搭建本地私有模型库进行训练,并与公网类似的GPT模型能力进一步结合。

总之,当前企业面临的问题不仅是简单建立私有知识库,解决知识检索和内容匹配问题,更关键的是如何训练GPT进行推理,让其理解推理逻辑,逐步形成解决复杂问题的能力。这往往是当前企业面临的最大挑战。

好了,今天的分享就到这里,希望对大家有所启发。再见。

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具