以下是关于 RAG 高级优化的相关内容:
RAG 是一种结合信息检索和文本生成能力的技术,由检索器和生成器两部分组成。在生成式 AI 的发展中,RAG 发挥着重要作用。
在模型开发方面,新兴的推理技术如连锁思考、树状思考和反射正在提高模型执行更复杂推理任务的能力,缩小客户期望与模型能力的差距。迁移学习技术如 RLHF 和微调变得更加可用,开发者可从 Hugging Face 下载开源模型并微调以实现优质性能。检索增强生成(RAG)引入关于业务或用户的上下文,减少幻觉并增加真实性和实用性,像 Pinecone 这样的公司的向量数据库成为 RAG 的基础设施支柱。新的开发者工具和应用框架为创建更先进的 AI 应用提供了帮助。
对于 RAG 的改进策略和方法,在检索有用信息方面,可通过优化索引来实现。比如按照子部分索引,将文本块再拆分为较小的文本进行多次索引,适用于有多个主题和冲突信息的复杂长文本;按照文本框可以回答的问题索引,让 LLM 生成假设性问题用于索引,适用于用户问题不明确的场景;按照文本块的摘要进行索引,适用于文本框中有多余或无关细节的情况。此外,在重排 rerank 方面,大部分场景下选择最相似的信息即可。
在商业化问答场景中,有时大模型的回答会不准确,如出现牛头不对马嘴、报价错误、胡编乱造等情况。优化 AI 更准确回答问题的过程称为 RAG,了解从“问题输入”到“得到回复”的过程,针对每个环节逐个调优,可达到最佳效果。
创始人正在进行prompt工程、微调和数据集策划的艰苦工作,以使他们的AI产品优秀起来。他们正在逐步地建设,将引人注目的Demo演示变成完整的产品体验。与此同时,基础模型底层继续充满研究和创新。随着公司找到持久价值的路径,正在发展一个共享的剧本。我们现在有了共享的技术来使模型变得有用,以及将塑造生成式AI第二幕的新兴UI范式。模型开发栈新兴的推理技术,如连锁思考、树状思考和反射,正在提高模型执行更丰富、更复杂的推理任务的能力,从而缩小了客户期望与模型能力之间的差距。开发者使用像Langchain这样的框架来调用和调试更复杂的多链序列。迁移学习技术,如RLHF和微调,正变得更加可用,特别是随着GPT-3.5和Llama-2的微调的最近可用性,这意味着公司可以将基础模型适应其特定领域,并从用户反馈中改进。开发者从Hugging Face下载开源模型,并微调它们以实现优质的性能。检索增强生成(RAG)正在引入关于业务或用户的上下文,减少幻觉并增加真实性和实用性。像Pinecone这样的公司的向量数据库已成为RAG的基础设施支柱。新的开发者工具和应用框架为公司提供了可重用的构建块,以创建更先进的AI应用,并帮助开发者评估、改进和监控生产中的AI模型的性能,包括像Langsmith和Weights&Biases这样的LLMOps工具。像Coreweave、Lambda Labs、Foundry、Replicate和Modal这样的AI-first基础设施公司正在解除公共云的捆绑,并提供AI公司最需要的东西:大量的GPU以合理的成本、按需可用和高度可扩展,以及一个不错的PaaS开发者体验。这些技术应该能够在基础模型同时改进的情况下,缩小期望与现实之间的差距。但使模型变得出色只是成功了一半,生成式AI优先的用户体验也在进化:
大体上大模型+RAG流程上有2部分,第一步是检索出有用的信息,第二步是发给大模型,并结合用户的一些提问和prompt,让大模型生成高质量的内容。对于第二步,效果的好坏一是基于大模型本身的效果,和提示词工程的优劣。这2部分内容较为庞杂后续再另开帖子描述。先针对第一步检索有用的信息如何改进,提出相关建议。检索做得好,离不开索引,那如何优化索引成为第一步。3.1优化索引框架中的默认索引查找最相似的向量块。优化方式(一)按照子部分索引将文本块再拆分为较小的文本(例如单句),然后对这些小块进行多次索引适用场景:有多个主题,有冲突信息的复杂长文本信息。确保与查询相关的上下文。(二)按照文本框可以回答的问题索引让LLM生成与拆分的文本块相关的假设性问题,并将这些问题用于索引,而不是直接对整个块进行索引。适用场景:用户没有提出非常明确的问题,该方法可以减少模糊性。问题举荐,根据这个文档,提出3个假设性用户会询问的问题。(三)按照文本块的摘要进行索引适用场景:文本框中有多余信息或者与用户查询无关细节的时候。这种方法比较有用。3.2重排rerank搜到了最相似的信息,那我选哪个呢?这个都是策略。有的默认的取TOP 10,TOP 25,等。大部分场景下选择最相似的就没有问题。
其中,她是陈美嘉,这里是人设中的设定。吵架的经过是知识库中的内容。在我提问了之后,大模型去知识库里找到了相关内容,然后回复了我。这就是一个简单的正确回复的demo示例。然而,我们会发现,有时候她的回答会十分不准确。图二明显回答的牛头不对马嘴。图三是知识库截图,其中是有“一菲为美嘉找了一份助教工作”的内容的。但是回答这个问题时,AI并没有根据正确的知识库内容回答。这,就是基于知识库问答中的一个非常常见的错误场景。在其他情况下,甚至有可能出现报价错误、胡编乱造等等。这在严肃场景中,是不能接受的出错。现在应该能够直观的理解,为什么需要让大模型根据知识库回答的更加准确、更符合我们的要求。在AI领域中,优化AI更准确回答问题的过程,有一个更加专业的术语,叫做RAG。接下来,咱们进入正题,一步一步探索,如何优化回答。二、基础概念如果我们要优化幻觉问题和提高准确性,就务必要了解清楚从“问题输入”--“得到回复”,这个过程中,究竟发生了什么。然后针对每一个环节,逐个调优,以达到效果最佳化。因此,我们先深入其中了解问答全貌。[heading3]1、RAG介绍[content]RAG(Retrieval-Augmented Generation),即检索增强生成,是一种结合信息检索和文本生成能力的技术,它由两部分组成:一个“检索器”和一个“生成器”。检索器从外部知识中快速找到与问题相关的信息,生成器则利用这些信息来制作精确和连贯的答案。这种结合使得RAG非常适合处理需要广泛知识的任务,如问答系统,能够提供详细而准确的回答。