以下是一些常见的模型能力测评方法:
RAGAS 是一个用于 RAG 评估的知名开源库,您可以通过https://github.com/explodinggradients/ragas了解和使用。
RAG 具有一定的优势和局限性: 优势:
局限性:
如果检索到的知识是无效的,会严重影响LLM应用的表现,因此将检索过程的精确度和召回率与整个LLM应用程序分开进行研究尤为重要。如下图所示,需要建立一个评估框架,将检索性能与整个LLM应用程序隔离开来。所以这里需要既需要从模型角度出发评估生成结果的质量,也需要从检索的角度出发,用精确度和召回率评估检索,并评估整个系统。模型角度(generation)回答真实性:模型结果真实性多高(少一些模型幻觉)回答相关度:结果和问题有多相关,不能南辕北辙检索角度(retrieval)召回率(recall):相关信息有多少包含在返回的检索内容里,越全越好准确率(precision):返回的检索内容中有用信息占比多少,越多越好RAGAS是一个用于RAG评估的知名开源库,推荐使用:[https://github.com/explodinggradients/ragas](https://github.com/explodinggradients/ragas)[heading3]RAG局限性[content]如果LLM应用面临的问题与上下文有关,那么RAG就是一个强大的工具。它使模型能够访问外部数据源,提供模型训练数据中不存在的必要上下文。这种方法可以显著提高模型的性能,尤其是在最新信息或特定领域信息至关重要的情况下。为模型提供参考文本的情况下,也能大大降低模型幻觉。需要注意的是RAG的局限性如下:适合打造专才,不适合打造通才。虽然能够为模型提供新的信息、专有领域知识等,但并不适合为模型提供通用领域知识。让模型保持稳定的风格或结构输出,降低token消耗等。也就是我们在prompt工程局限性的后两点,而这两点需要使用微调技术解决。
大语言模型技术的本质导致了大模型的输出结果具有不可预测性,此外,静态的训练数据导致了大模型所掌握的知识存在截止日期,无法即时掌握最新信息。因此,当我们将大模型应用于实际业务场景时会发现,通用的基础大模型无法满足我们的实际业务需求。主要存在以下原因:知识的局限性:模型自身的知识完全源于它的训练数据,而现有的主流大模型(ChatGPT、文心一言、通义千问…)的训练集基本都是抓取网络公开的数据用于训练,对于一些实时性的、非公开的或离线的数据是无法获取到的,这部分知识也就无从具备。幻觉问题:大模型的底层原理是基于数学概率的文字预测,即文字接龙。因此大模型存在幻觉问题,会在没有答案的情况下提供虚假信息,提供过时或通用的信息,从可信度低非权威来源的资料中提供结果等。数据安全性:对于企业来说,数据安全至关重要,没有企业愿意承担数据泄露的风险,将自身的私域数据上传第三方平台进行训练。因此如何大模型落地应用时如何保障企业内部数据安全是一个重要问题。而RAG是解决上述问题的一套有效方案。它可以让大模型从权威的、预先确定的知识来源中检索、组织相关信息,更好地控制大模型生成的文本输出,并且用户可以深入了解LLM如何生成最终的结果。并且,RAG可以和微调结合使用,两者并不冲突。RAG类似于为模型提供教科书,允许它基于特定查询检索信息。这该方法适用于模型需要回答特定的询问或解决特定的信息检索任务。然而,RAG不适合教模型来理解广泛的领域或学习新的语言,格式或样式。
鉴于AI正在快速发展并能够执行广泛的任务,作者认为对于某些项目,在AI技术进一步改进之前等待可能更加有利。这一点在那些耗时长且AI已有合理表现的任务中尤为显著,如写作小说或软件开发。该文章讨论了在构建和维护生产级大型语言模型(LLM)应用程序(如GitHub Copilot)中,评估指标的重要性。这些指标对于质量控制和防止重复故障案例至关重要。LLM应用程序的评估可以分为端到端和步骤/组件式评估。前者提供了整体质量感知,而后者有助于识别和减轻可能影响LLM应用程序整体质量的故障模式。该文章概述了适用于端到端和组件式评估的不同场景的评估指标。这些见解来自研究文献以及与其他LLM应用程序构建者进行的讨论。文章还提供了Python代码示例。语言模型(LLMs)如GPT-4是无监督任务的强大工具,但可能会出现“幻觉”,即生成似是而非的信息。为了缓解这一问题,可以采用以下几种策略:高级提示:这涉及在系统提示中提供清晰的指示,以避免传播错误或不可验证的信息。例如,使用一个提示来指导模型不要传播不正确的数据。少样本提示:向LLM提供少量特定示例以引导其回应,有助于它专注于主题和上下文。示例的质量至关重要,因为糟糕的示例可能导致更多幻觉。思维链式提示:鼓励LLM在最终答案之前生成推理步骤,可以通过逐步思考或提供推理示例来实现。然而,这可能会引入产生幻觉推理的风险。数据增强:当上下文超出模型窗口时,数据增强可以通过添加专有数据或外部工具/知识来帮助。技术包括:检索增强生成(RAG):将模型知识与检索系统结合起来,在实时中获取相关数据。工具集成:使用函数调用、API调用和其他工具来提高准确性,尽管这需要进行广泛测试和实验。