0

将LLM作为评判者的挑战 - Sourabh Agrawal | Vector Space Talks

Demetrios Brinkmann

·

2024 年 3 月 19 日

The challenges in using LLM-as-a-Judge - Sourabh Agrawal | Vector Space Talks

你不会想使用 GPT-4 这样昂贵的模型进行评估,因为成本会累积,最终得不偿失。如果你在评估响应上花费更多,你还不如做点别的,比如让真人来生成响应。
– Sourabh Agrawal

UpTrain AI 的首席执行官兼联合创始人 Sourabh Agrawal 是一位经验丰富的企业家和 AI/ML 专家,拥有多元化的背景。他职业生涯始于高盛,在那里为金融市场开发机器学习模型。后来,他在博世/梅赛德斯自动驾驶团队工作,专注于场景理解的计算机视觉模块。2020 年,Sourabh 涉足创业,创立了一家由 AI 驱动的健身初创公司,拥有超过 15 万用户。在他的职业生涯中,他遇到了评估 AI 模型,特别是生成式 AI 模型的挑战。为了解决这个问题,Sourabh 正在开发 UpTrain,这是一个开源 LLMOps 工具,旨在评估、测试和监控 LLM 应用程序。UpTrain 提供分数并提供洞察力,通过执行根本原因分析、识别常见故障模式和提供自动化解决方案建议来增强 LLM 应用程序。

在 Spotify、Apple Podcast、Podcast addicts、Castbox 上收听本期节目。您也可以在 YouTube 上观看本期节目。

主要收获

为什么实时评估对于维护聊天机器人交互的完整性以及防止宣传竞争对手或做出虚假承诺等问题至关重要?开发人员采用哪些策略来最大程度地降低成本,同时最大限度地提高模型评估的有效性,尤其是在处理 LLM 时?这些可能只是行业内许多人自问的众多问题中的一部分。别担心!Sourabh 将为您详细讲解。

观看完整对话,深入了解 AI 聊天机器人评估的复杂世界。探索在各种指标下确保聊天机器人质量和持续改进的细微差别。

本期节目主要内容如下

  1. 评估聊天机器人效率:探索评估聊天机器人质量的系统方法,涵盖检索准确性、响应生成和用户满意度等各个阶段。
  2. 实时评估的重要性:深入了解为什么持续实时评估聊天机器人对于保持其完整性和确保它们按设计运行而不会促进不良行为至关重要。
  3. 系统受损的指标:了解识别表明系统可能容易被“越狱”的行为的重要性,以及通过 API 集成来对抗这些行为的方法。
  4. 经济高效的评估模型:讨论使用较小模型进行评估以降低成本,同时不影响分析深度,重点关注故障案例和根本原因评估。
  5. 定制评估指标:强调根据特定用例要求定制评估标准的必要性,包括探索适用于不同场景的不同指标。

趣闻:Sourabh 讨论了 Uptrend 的使用,这是一种创新 API,为各种数据检查提供分数和解释,促进在评估 AI 模型时进行逻辑和明智的决策。

节目笔记

00:00 原型评估主观;可扩展性挑战出现。
05:52 使用更便宜、更小的模型进行有效评估。
07:45 客观使用 LLM,避免主观偏见。
10:31 评估对话质量和 AI 定制。
15:43 上下文对 AI 模型性能很重要。
19:35 聊天机器人为汽车公司制造麻烦。
20:45 实时用户查询评估、护栏和越狱。
27:27 检查相关性、监控数据、筛选模型故障。
28:09 识别常见主题、洞察力、尝试设置。
32:27 为特定应用目的自定义越狱检查。
37:42 使用评估数据技术缓解幻觉。
38:59 讨论幻觉缓解技术的商业化。
42:22 实验是系统改进的关键。

Sourabh 的更多语录

在某些情况下,比方说与安全相关的,对吧?比如你想检查用户是否试图越狱你的 LLM。在这种情况下,你可以做的是,在生成的同时进行评估,因为仅根据用户查询,你就可以检查意图是越狱,还是旨在实际使用你的产品以利用其特定模型目的。
– Sourabh Agrawal

“您必须将响应分解为单个事实,然后查看每个事实是否与问题相关。然后取某种比率来获得最终分数。这样,所有出现的偏见,比如以自我为中心的偏见,即 LLM 偏爱自己的输出,这些偏见可以在很大程度上得到缓解。”
– Sourabh Agrawal

“总的来说,我们看到的是,您检索到的上下文越好,您的模型就越好。”
– Sourabh Agrawal

文字记录

Demetrios:Sourabh,我请来了 Uptrain 的您。我想您有一些要介绍的笔记,但我也想问您几个问题,因为我们将深入探讨一个我非常关心的话题,而且最近它出现的频率非常高,那就是将 LLM 用作评判者。这些天它真的很热门。有些人甚至认为它是 2024 年最热门的话题。我希望您能深入探讨。我们直接进入主题吧。在使用 LLM 进行评估时,您正在使用哪些关键指标?它是如何工作的?您能详细讲解一下吗?

Sourabh Agrawal:是的。首先,非常感谢您的邀请,也别担心出了小插曲。我想我从未见过没有任何技术故障的演示或演讲。这一定会发生的。很高兴来到这里。很高兴谈论 LLM 评估。正如您正确指出的那样,这确实是一个热门话题,也理应如此。

Sourabh Agrawal:LLM、聊天、GPT 和 GPT-4 等的发展趋势是人们开始构建所有这些原型,对吧?评估它们的方式就是用肉眼观察,相信自己的直觉,跟着感觉走。我想他们真正采用了创业公司的方法论,将产品推向生产并不断尝试。但人们已经意识到这不可扩展,对吧?我是说,理应如此。这高度主观。是一个开发人员,是一个人正在查看所有响应,有一天他可能喜欢这个,有一天他可能喜欢别的东西。而且他们不可能查看超过十个响应。现在生产用例的独特之处在于它们需要持续改进。你需要不断改进它们,你需要不断改进你的提示或你的检索、你的嵌入模型、你的检索机制等等。

Sourabh Agrawal:因此,这就提出了一个案例,你需要使用一种更具可扩展性的技术,你需要将 LLM 用作评判者,因为这具有可扩展性。你可以进行 API 调用,如果该 API 调用能提供高质量的结果,这是一种可以模仿人类所做的事情的方式,或者在某种程度上增强他们,使其真正成为他们的副驾驶。

Demetrios:是的。所以,当我想到将 LLM 用作评判者并深入研究时,脑海中一直有一个问题:我们何时使用这些 API 调用?我们并不是在寻找这个输出的那一刻就使用它们。它是否只是为了查看这个输出是否真实?然后,在我们向用户展示之前,它是我们从用户那里获得一些反馈后,进行批处理的吗?这意味着某些用例会自动被排除在外,对吧?如果我们在考虑,好吧,我们将使用 LLM 作为评判者来确保我们正在缓解幻觉或我们正在更好地进行评估,如果我理解正确的话,这不一定是我们可以在当下做的事情。那么,您能更详细地解释一下吗?它在实践中到底是什么样的?

Sourabh Agrawal:是的,当然。这是一个很好的问题。在我看来,有三种情况。第一种情况是您提到的,在向用户显示响应之前立即检查响应是否良好。在大多数情况下,您无法做到这一点,因为检查显然需要额外时间,而您不希望增加延迟。但在某些情况下,比如与安全相关的,对吧?比如您想检查用户是否试图越狱您的 LLM。在这种情况下,您可以做的是并行进行评估和生成,因为仅根据用户查询,您就可以检查意图是越狱,还是旨在实际使用您的产品以利用其特定模型目的。

Sourabh Agrawal:但是大多数其他评估,如相关性、幻觉、质量等等,都必须在您向用户展示任何内容之后进行。然后您可以通过两种方式进行:您可以将其用于实验,或者您可以在生产环境中运行监控并找出失败案例。通常,我们看到开发人员正在采用这两种方法的组合来查找案例,然后进行实验并改进他们的系统。

Demetrios:好的,那么当您并行执行时,这感觉就像是您只需编写一个提示,然后立即。所以您基本上是发出两个提示。我一直在思考的另一个问题是,这不会给您的系统增加大量成本吗?因为您实际上是在将成本翻倍。但后来我想象您可以设计几种不同的方法来更好地进行评估和将响应发送给 LLM。我想。而且您可以找出如何减少一些令牌,或者您可以尝试连接一些响应并在那里做些手脚。我相信您知道我不知道的各种技巧,我很乐意告诉您告诉我它们,但我们肯定会看到什么样的成本?我们可以预期增加多少?

Sourabh Agrawal:是的,我认为这是评估的一个非常有效的限制。所以这就是为什么,比方说在 Uptrend,我们真正相信的是,你不想使用像 GPT-4 这样昂贵的模型进行评估,因为那样成本会累积,而且行不通。对。如果你在评估响应上花费更多,你还不如做点别的,比如让真人来生成响应。我们为此依赖于更小的、更便宜的模型。其次,我们采用的方法是,你不想在所有数据点上评估所有内容。比如你可能有一个更高层次的检查,比方说用于越狱,或者比方说用于最终响应质量。当你发现质量低下的情况时,你会在这些失败上运行一系列检查,以找出管道的哪个部分正在失败。

Sourabh Agrawal:这正是我们所说的根本原因分析,您会收集所有这些失败案例,这些案例可能占您在生产环境中看到的总案例的 10% 或 20%。然后,您会对这 20% 的案例进行一系列检查。这些检查可能非常全面,您可能会对它们运行 5 到 10 项检查。然后,根据这些检查,您可以确定错误模式是什么?是检索问题吗?是引用问题吗?是利用问题吗?是幻觉吗?用户提出的查询是否不够清晰?是您的嵌入模型不合适吗?这样,您就可以两全其美。您既可以提高性能,同时又可以确保不会让您的口袋大出血。

Demetrios:我以前也听过这种说法,这几乎就像您在使用 LLM 作为测试,它们在帮助您编写。并不是说它们在帮助您编写测试,而是它们在那里,并且是您正在编写的测试的一部分。

Sourabh Agrawal:是的,我认为这里的关键是您必须客观地使用它们。我见过很多人试图进行 LLM 评估,他们会问 LLM:“好的,这是我的回答。你能告诉我它是否相关吗?”甚至,比方说,他们会更进一步,进行评分,比如“高度相关”、“有点相关”、“高度不相关”。但这样就变得非常主观了,对吧?这取决于 LLM 来决定它是否相关。相反,您必须将其转化为客观设置。您必须将响应分解为独立的客观事实,然后只查看每个事实是否与问题相关。然后取某种比率来获得最终分数。这样,所有出现的偏见,比如以自我为中心的偏见,即 LLM 偏爱自己的输出,这些偏见可以在很大程度上得到缓解。

Sourabh Agrawal:我相信这是让 LLM 评估奏效的关键,因为与 LLM 应用类似,即使是 LLM 评估,您也需要付出大量努力才能真正使其奏效,并最终获得与人类期望高度一致的分数。

Demetrios:这些 LLM 模仿人类的程度真是太有趣了。它们甚至喜欢自己的声音。太搞笑了。是的,老兄。那么,请再多告诉我一些关于这在实践中是如何体现的,因为你可以做很多不同的技术。另外,我也意识到在用例方面,它们是非常不同的。所以,如果是代码生成用例,并且你在评估它,那么结果会很清楚,代码是否运行了?然后你可以深入了解一些细节,比如这段代码是否真的更有价值?它是一种取巧的方法吗?等等等等。但有些用例我将其视为更敏感和不那么敏感的。

Demetrios:那么您如何看待这种事情呢?

Sourabh Agrawal:是的,我认为。我们对评估的看法是,没有一刀切的解决方案适用于所有不同的用例。您需要关注不同的事物。即使您,比如说,正在关注幻觉,不同的用例或不同的业务也会从不同的角度看待评估。对。对某些人来说,无论他们多么关注正确性的某些方面,其他人则会较少关注这些方面,而更多地关注其他方面。我们的思考方式是,我们为不同的用例定义不同的标准。因此,如果您有一个 A-Q-A 机器人,对吧?那么您会关注响应的质量,上下文的质量。

Sourabh Agrawal:如果您是一个对话代理,那么您会关注整个对话的质量。您会关注用户是否对该对话满意。如果您正在撰写长篇内容。例如,您会关注内容的连贯性,您会关注内容的创造性或趣味性。如果您有一个 AI 代理,您会关注它计划得如何,它执行特定任务的能力如何,等等。它需要多少步才能实现其目标?因此,有各种各样的评估矩阵,其中每一个都更适合不同的用例。即使在那里,我相信一个好的工具也需要为开发人员提供某些自定义功能,以便他们可以对其进行转换和修改,使其对他们的业务最有意义。

Demetrios:是的。有没有您觉得更普遍,并且如果我只是在思考这个问题,我正在业余时间开发,并且我现在正在思考这个问题,我就会想,我该如何开始?您会推荐什么?

Sourabh Agrawal:是的,当然。LLM 目前最大的用例之一是 RAG。对于 RAG 应用程序,我认为检索是关键。所以,我认为评估的最佳起点是:查看响应质量,即响应的相关性、完整性,以及上下文质量。例如,上下文相关性,它判断检索质量。幻觉,它判断响应是否基于上下文。如果语气对您的用例很重要,请查看语气,最后查看对话满意度,因为最终,无论您给出什么输出,您还需要判断最终用户是否对这些输出满意。

Sourabh Agrawal:所以,我想说这四五个指标是任何开发人员开始使用这些 LLM 的最佳方式。从那里,您可以了解行为是如何发展的,然后您可以更深入地研究更细微的指标,这将帮助您更好地了解您的系统。

Demetrios:是的,我喜欢这样。现在,我脑海中也经常出现的一个问题是关于自定义指标和自定义评估,以及专有数据集,比如评估数据集,因为我们都知道,基准测试会被操纵。你在 Twitter 上看到,哇,这个新模型刚刚发布。它太棒了。然后你试了一下,你会说,你在说什么?这个东西只是在基准测试上训练的。所以它看起来很好,但实际上并非如此。你能和我们谈谈如何创建这些评估数据集吗?你见过哪些最好的方法?什么样的规模?我们需要多少才能真正使其有价值?那是什么?请给我们一个详细的解释。

Sourabh Agrawal:是的,当然。我的意思是,令人惊讶的是,答案是您不需要那么多就可以开始。我们见过这样的情况,即使有人构建了一个包含 50 到 100 个样本的测试数据集,这实际上也是一个非常好的起点,比他们之前的手动标注和数据集创建要好得多。我认为最好的数据集实际上是您的用户正在询问的内容。您可以查看公共基准,您可以生成一些合成数据,但它们都无法与您的最终用户实际正在寻找的质量相匹配,因为它们会给您带来您永远无法预料的问题。对。即使您正在生成合成数据,您也必须预料到会出现哪些问题并生成数据。除此之外,如果您正在查看公共数据集,它们都是高度策划的。总是存在它们泄漏到训练数据等问题。

Sourabh Agrawal:所以这些基准变得高度可靠。查看您的流量,从中抽取 50 个样本。如果您正在收集用户反馈。所以用户踩踏或用户不接受响应的情况,我的意思是,这些是非常好的案例。或者如果您正在运行一些评估,对那些正在失败的案例进行质量检查,我认为它们是您拥有高质量测试数据集的最佳起点,并以此作为试验您的提示、试验您的系统、试验您的检索的方法,并迭代地改进它们。

Demetrios:您是否会比其他指标更看重某些指标?因为我听说过一些故事,有时你会看到一个新的模型会发布,或者你正在测试一个新模型,并且在某些指标上它似乎下降了。但是你拥有的黄金指标,它实际上上升了。那么,您有没有见过哪些指标对不同的用例更好?

Sourabh Agrawal:我认为这里没有唯一的答案。我认为这个指标取决于业务。总的来说,我们看到的是,您检索到的上下文越好,您的模型就越好。特别是如果您使用的是任何大型模型,例如 GPT 或 Claude,或者在某种程度上甚至是 Mistral,它们的性能都非常高。因此,如果您使用的是任何这些高性能模型,那么如果您给它们正确的上下文,响应或多或少都会很好。因此,我认为我们看到人们非常关注的一件事是,试验不同的检索机制、嵌入模型等等。但话说回来,最终的黄金关键,我认为我们见过许多人,他们会标注一些数据集,因此他们有像一个基本响应或一个黄金响应,他们完全依赖于他们的答案与该黄金响应的匹配程度,这我相信是一个非常好的起点,因为现在您知道,如果这是正确的,并且您与它高度匹配,那么显然您的响应也是正确的。

Demetrios:那那些黄金回答非常主观的用例呢?

Sourabh Agrawal:是的,我认为这就是问题所在。因此,我认为在这些情况下,我们看到人们一直在做的一件事是,他们试图查看黄金回答中的所有信息是否都包含在生成的回答中。您不会错过基本事实回答中的任何重要信息。除此之外,您希望它简洁,因此您不希望它说太多或给出高度冗长的回答。因此,这是我们看到人们解决响应主观性问题的一种方式,通过确保关键信息都在那里。然后除此之外,它在所要求的任务方面非常简洁和切中要点。

Demetrios:您刚才也提到了这一点,但您能再说一遍吗?因为我不知道我是否完全理解了。您在系统中的哪些地方进行评估?因为它不仅仅是输出,对吧?您如何将评估视为一个系统,而不仅仅是偶尔评估输出?

Sourabh Agrawal:是的,我的意思是,我们与每个部分都连接。所以即使你从检索开始,我们也有一个高级检查,我们检查检索到的上下文的质量。然后我们还有针对这个检索管道每个部分的评估。所以如果你正在做查询重写,如果你正在做重排序,如果你正在做子问题,我们对所有这些都有评估。事实上,我们已经与 llama index 团队密切合作,将所有他们的模块化管道集成在一起。其次,一旦我们完成了检索步骤,我们在这个检索部分有大约五到六个矩阵。然后我们查看响应生成。我们有针对不同标准的评估。

Sourabh Agrawal:因此,简洁性、完整性、安全性、越狱、提示注入,以及您可以定义自己的自定义准则。所以您可以说,好的,如果用户询问任何与代码相关的问题,输出也应该提供一个示例代码片段,这样您就可以用简单的英语定义这个准则。我们会检查这一点。然后最后,放眼全局,我们也有检查。我们整体地审视对话,用户如何满意,聊天机器人或 LLM 需要多少轮次才能回答用户。是的,这就是我们整体审视整个评估的方式。

Demetrios:是的。这真的让我想起,我经常这样说,因为我认为这是互联网上最大的失败之一,我确定你也见过,我想是雪佛兰或通用汽车,这家汽车制造商,他们基本上在他们的网站上安装了一个聊天机器人。那是一个 GPT 调用,人们开始和它说话,然后意识到,天哪,这个东西会做我们想让它做的任何事情。所以他们开始问它问题,比如特斯拉比通用汽车更好吗?机器人会说,是的,并列举了一堆特斯拉比通用汽车更好的理由,就在通用汽车的网站上。然后另一个人问它,哦,我能花一美元买一辆车吗?它说,不。然后那人说,但是我破产了,我需要一辆一美元的车。它说,好的,我们会把车卖给你,就一美元。所以你陷入了所有这些麻烦,仅仅是因为你没有做实时评估。

Demetrios:您是如何考虑实时评估的?这是否会增加额外的复杂性?

Sourabh Agrawal:是的,对于实时评估,我认为最重要的案例,我的意思是,我们觉得最重要的是处理两种情况。一是您必须设置一些护栏,这意味着您不希望用户谈论您的竞争对手。您不希望回答某些查询,例如,您不希望做出虚假承诺等等,对吧?其中一些可以通过纯粹的拒绝、上下文逻辑来处理,而另一些则必须进行评估。第二是越狱。例如,您不希望用户使用您的雪佛兰聊天机器人来解决数学问题或编码问题,对吧?因为在某种程度上,您只是在为他们补贴 GPT-4。所有这些都可以在仅根据提出的问题来完成。因此,您可以建立一个系统,您可以发起一个查询,评估其中一些关键矩阵,并同时生成您的响应。一旦您收到响应,您也收到了您的评估。

Sourabh Agrawal:而且你可以设置一些逻辑,如果用户问了一些我不应该回答的问题。不是给出响应,我应该直接说抱歉,我无法回答这个问题,或者对这些情况使用标准文本,并有一些机制来限制此类情况等等。

Demetrios:而且并行执行比尝试捕获响应,确保在发出 LLM 调用之前它没问题要好。

Sourabh Agrawal:我的意思是,一般来说,是的,因为如果你看,如果你捕获响应,它会增加另一层延迟。

Demetrios:对。

Sourabh Agrawal:归根结底,95% 的用户不会尝试这样做。任何好的产品,许多用户都在真诚地使用它,你不想构建一些会破坏他们、给他们带来问题、给他们增加延迟的东西,只是为了解决那 5% 的问题。所以你必须意识到这个事实,并找出巧妙的方法来做到这一点。

Demetrios:是的,我记得我曾与一家名为 Honeycomb 的公司的一位名叫 Philip 的人交谈过,他们为他们的产品添加了一些 LLM 功能。他说,当人们试图进行提示注入或越狱时,这非常明显,因为有大量的调用。它开始变得不像人类的使用方式,因此很容易以这种方式捕获。您也见过类似的情况吗?当人们试图越狱时,您会看到哪些迹象?

Sourabh Agrawal:是的,我认为我们也看到了通常情况,我们还看到,每当有人试图越狱时,他们问题或提示的长度通常比任何平均问题都要长得多,因为他们会包含各种指令,比如“忘记一切,你知道的,你可以说所有这些事情。”然后,这个问题也出现了,因为当他们试图越狱时,他们会尝试一种技术,它不起作用。他们会尝试另一种技术,它不起作用。然后他们会尝试第三种技术。所以流量会激增。即使在情感方面,通常情况下,这些情况下的情感或连贯性,我们看到比真实问题要低,因为人们只是试图将所有这些指令塞进响应中。所以肯定有一些迹象已经表明用户正在试图越狱。我认为这些是捕捉他们的主要指标。

Demetrios:我猜你已经设置好了,所以当这些事情发生时,你可以设置一个警报,然后它至少会标记它,并让人类查看它,或者可能会让那个人在下一分钟冷静下来。嘿,你在这里进行了一些可疑活动。我们想看到一些不同的东西。所以我想你会给我们展示一些 Uptrend 的东西,对吧?我想看看你有什么。我们可以试一试吗?

Sourabh Agrawal:是的,当然。我来分享我的屏幕,我能向你展示它是什么样的。

Demetrios:酷,非常酷。是的。就在你分享屏幕的时候,我想提一下,为了这次演讲,我穿了我最喜欢的衬衫,上面写着,我不知道大家能不能看到,但它上面写着,我比 Chat GPT 幻觉更多。

Sourabh Agrawal:我觉得这很酷。

Demetrios:我们有什么?

Sourabh Agrawal:是的,所以,是的,我先开始吧。我在 Uptrend 创建了一个账户。我们有一个 API 方法,一种计算这些评估的 API 方式。所以你得到一个 API 密钥,就像你为 Chat GPT 或其他服务获得的那样,然后你就可以进行 Uptrend 日志记录和评估,你可以提供你的数据。所以你可以提供你的问题响应上下文,你可以定义你想要评估的检查。所以如果我创建一个 API 密钥,我可以直接复制这个代码,我已经在这里了。所以我来向你展示。我们有两种机制。

Sourabh Agrawal:一是您可以直接运行评估,您可以定义,比如说,我想运行上下文相关性,我想运行响应完整性。类似地,我想运行越狱。我想运行安全性。我想运行用户满意度等等。然后当您运行它时,它会返回一个分数,并解释为什么这个特定的问题会给出这个分数。

Demetrios:你能把它放大一点吗?是的,再放大一点。好了。

Sourabh Agrawal:它本质上是一个 API 调用,它获取数据,获取您要运行的检查列表,然后返回一个分数和解释。因此,根据该分数,您可以有逻辑,对吧?如果越狱分数大于 0.5,那么您就不想显示它。例如,您想切换回默认响应等等。然后您还可以配置,我们会记录所有这些分数,我们有一个仪表板,您可以在其中访问它们。

Demetrios:我正要问你是否有仪表盘。每个人都喜欢漂亮的仪表盘。我们看看吧。太棒了。

Sourabh Agrawal:所以,我们看看。好的,我们来讨论一下。在这种情况下,我只是对某些查询进行了一些上下文相关性检查。因此,您可以看到这在您的数据集上是如何变化的。如果您运行相同的操作。我们还在监控设置中运行此操作,因此您可以看到它如何随时间变化。最后,您拥有所有数据。因此,我们提供所有数据,您可以下载它,运行您想要运行的任何分析,然后您还可以,我们最近构建的一项功能在我们用户中非常受欢迎,那就是您可以筛选模型失败的案例。

Sourabh Agrawal:所以,比方说,我选取所有响应为零的案例,然后我可以找出共同的主题。因此,我可以查看所有这些案例,然后我可以找出,好的,它们之间有什么共同的主题?也许,正如你所看到的,它们都在谈论法国、罗密欧与朱丽叶等等。所以它可以从这些案例中提取一个共同的主题。这样就给了你一些关于哪里出了问题以及你需要改进什么方面的洞察。难题的第二部分是实验。所以,你不仅可以评估它们,还可以用它来尝试不同的设置。所以,比方说。让我拿出我最近进行的一个实验。

Demetrios:是的。

Sourabh Agrawal:所以,比如说,我想比较两个不同的模型,对吧?GPT 3.5 和 Claude 2。我现在可以看到,好的,Claude 2 正在给出更简洁的响应,但在事实准确性方面,GPT 3.5 更准确。所以,我现在可以根据我的应用程序,根据我的用户想要什么,我现在可以决定这些标准中的哪个对我更有意义,对我的用户、对我的数据更有意义,然后决定我要使用哪个提示或哪个模型。

Demetrios:这完全是我之前所说的,当你得到一个新模型时,你会发现在某些指标上它表现更差。但在你关注的核心指标上,它实际上表现更好。所以你必须向自己解释,为什么它在其他指标上表现更好?我不知道我是否理解正确。我们可以设置我们正在查看的指标。

Sourabh Agrawal:是的,实际上,我会向您展示这种指标。我还忘记提了,Uptrend 是开源的。

Demetrios:太棒了。

Sourabh Agrawal:是的。所以我们有这些预配置的检查,你不需要做任何事情。你只需说“趋势响应完整性”或“趋势提示注入”。这些都是预配置的。所以我们做了所有的辛勤工作来获得所有这些分数等等。除此之外,我们还有方法让你自定义这些矩阵,这样你就可以定义一个自定义的指南。你可以更改你想要的提示。你甚至可以定义一个自定义的 Python 函数作为评估器。

Sourabh Agrawal:所以我们提供了所有这些功能,这样他们就可以利用已有的东西,同时也可以创建对他们有意义的自定义东西,并有一种方法来真正了解他们的系统表现如何。

Demetrios:哦,那太酷了。我真的很喜欢自定义的想法,能够设置自定义的,但也有些是开箱即用的,让我们的生活更轻松。

Sourabh Agrawal:是的。而且我认为两者都是必需的,因为你需要一个起点,而且随着你的进步,你还想在某种程度上,你不能涵盖所有事情,对吧,用预配置的。所以你想有一种方法来定制事情。

Demetrios:是的。尤其是当你的数据开始流动时,你就会开始看到你需要评估的其他东西。

Sourabh Agrawal:是的,这非常真实。

Demetrios:只是一个随机的。我不是在告诉你如何构建你的产品或任何东西,但是你有没有考虑过拥有一个社区来源的指标?所以,比如,所有这些人们正在制作的自定义指标,也许有一个中心,我们可以在那里添加我们的自定义指标?

Sourabh Agrawal:是的,我认为这真的很有趣。这也是我们一直在思考很多的事情。它还没有建成,但我们计划很快朝那个方向发展。我们想创建一种像商店一样的东西,人们可以在其中添加他们的自定义矩阵。所以。是的,你说得很对。我想我也相信这是未来的方向,我们很快就会发布一些关于这方面的东西。

Demetrios:好的。Drew 正在问,您如何处理不同类型应用程序的越狱?医疗应用的越狱与金融应用的越狱会不同,对吗?是的。

Sourabh Agrawal:我们的越狱检查的配置方式是。它采用您所谓的模型用途。因此,您定义模型的用途是什么?对于金融应用程序,您需要说明,好的,这个 LLM 应用程序旨在回答金融查询,依此类推。对于医疗应用程序,您将有不同的用途,因此您可以配置您的应用程序的用途。然后,当我们收到用户查询时,我们首先检查用户查询是否在。我们还会检查非法活动等。然后我们还会检查它是否在预期用途范围内。

Sourabh Agrawal:如果不是,那么我们将其标记为越狱情况,因为用户正在尝试做一些与目的无关的事情,这就是我们处理它的方式。

Demetrios:太棒了,老兄。这太棒了。在结束之前,你还有什么想说的吗?

Sourabh Agrawal:不,我的意思是,这是一次很棒的谈话。很高兴来到这里,很高兴与您交谈。

Demetrios:是的,我很高兴我们能让它正常工作,你也能向我们展示一些 Uptrend 的东西。它是开源的,这太酷了。所以我建议大家去看看,让你的 LLM 充满信心,并确保没有人使用你的聊天机器人作为他们的 GPT 补贴,就像通用汽车的用例一样。是的,这太棒了,老兄。我表示感谢。

Sourabh Agrawal:是的,请关注我们,我们 在 GitHub.com/uptrendai/uptrend。

Demetrios:好了。如果还有其他人想来 Vector Space Talks 与我们谈论你们正在做的所有酷炫事情,请联系我们,我们稍后会在太空中与大家见面。别在向量空间中迷失了。

Sourabh Agrawal:是的,谢谢。非常感谢。

Demetrios:好了,伙计。就是这样。我们很好。我不知道我到底要怎么停下来,因为我不能用手机或电脑操作。太奇怪了。所以,我不是,就技术而言,现在没人掌舵。所以我想如果我们都下线了,它应该就会停止工作。好的。

Demetrios:是的,但那太棒了,老兄。这太酷了。我真的很喜欢你所做的,而且太有趣了。我不知道我们是否没有在领英上联系?我今天刚刚发布了一段视频,我展示了几种不同的幻觉缓解技术。所以你谈论这个真是太及时了。我想很多人都在思考这个问题。

Sourabh Agrawal:当然,对于企业来说,这是一个大问题。对吧?我是说,你怎么才能让它安全?你怎么才能让它做好生产准备?所以我一定会看看你的视频。这也会非常有趣。

Demetrios:现在就去我的领英。就是领英.com dpbrinkm 或者直接搜索我。我想我们已经连接了。我们连接了。好了,酷。是的,所以,是的,看看我刚刚发布的最后一个视频,因为它完全是关于这个的。还有一篇非常酷的论文出来了,你可能也看到了。它都是关于缓解人工智能幻觉的,它分解了所有 32 种技术。

Demetrios:昨天我在我做的另一个播客上和 weights and biases 的那群人聊天,我当时说,伙计,这种作为服务的评估数据集感觉没有人做。我想这可能是因为,你是专家,我很想听听你的看法,但我想这可能是因为你并不那么需要它。用相对少量的数据,你就可以开始进行一些非常好的评估。所以这比付钱给别人好得多。

Sourabh Agrawal:而且,我认为它作为一个服务也没有意义,因为外部人员不适合为您的用例制作数据集。

Demetrios:对。

Sourabh Agrawal:是你。你必须根据你的用户提出的问题来创建一个好的数据集。你可以有一个方法,这就是 Uptrain 所做的。我们基本上帮助你根据用户的反馈,根据生成的分数,从这个数据集中抽样并挑选出正确的案例。但是对于外部人员来说,很难创建真正好的问题、好的查询或好的案例,这些案例对你的业务有意义。

Demetrios:因为另一个部分有点像,从那里面延伸出来的,另一个部分是技术。所以让我看看我能否把所有这些词组织成一个连贯的句子。基本上就是,好的,评估数据集没什么意义,因为你是最了解的人。用相对少量的数据,你就能很快上手。我想到的是,这些幻觉缓解技术怎么样?这样你几乎可以有多种选择。所以在这篇论文中,对吧,有大约 32 种不同的技术,有些非常适用于 RAG。他们有大约五种或四种不同类型的技术。当你处理 RAG 以缓解幻觉时,然后他们有一些,比如,好的,如果你正在蒸馏一个模型,这里是如何确保新的蒸馏模型不会产生那么多幻觉。

Demetrios:等等等等。但我在想的是,产品化这些技术怎么样?所以,好的,太酷了。它们在这篇论文里,但在 Uptrain 中,我们可以说,哦,你想尝试这种新的缓解技术吗?我们让这变得非常容易。你只需选择它作为幻觉缓解技术之一。然后我们做繁重的工作,如果它是,有一个。你听说过 fleek 吗?那是我在视频中谈论的一个。fleek 就像是创建了一个知识图谱 LLM,它专门用于尝试对抗幻觉。他们这样做的方式是,他们说那个 LLM 会尝试识别提示或输出中的任何地方。

Demetrios:抱歉,输出。它会尝试识别是否有任何可以进行事实核查的内容。因此,如果它说人类在 1969 年登陆月球,它会识别这一点。然后通过其知识图谱或通过形成一个搜索查询,该查询将进行搜索并在互联网上搜索,它会验证输出中的事实是否属实。所以这是一种技术,对吧?所以我在想,哦,天哪,如果能够轻松使用所有这些不同的技术,而不是,太棒了,我在一篇论文中读到了它。现在,我他妈的怎么才能得到一个带有知识图谱的 LLM,如果我自己不训练它的话?

Sourabh Agrawal:天哪,是的,我认为这是一个很棒的建议。我一定会去看看。我们还想做的一件事是整合所有这些技术,因为这些技术确实很好,它们有助于解决很多问题,但使用它们并不简单。最近我们整合了 Spade。它基本上是一种技术,我。

Demetrios:实际上,我又拍了一个关于 Spade 的视频。

Sourabh Agrawal:是的,基本上。我想我也会看看这些幻觉。所以现在我们所做的就是基于这篇名为事实评分的论文,它不是在互联网上检查,而是在上下文中检查以验证这个事实是否可以从上下文中验证。但我认为如果人们能够仅仅使用这些技术并看看它们是否真的在他们的数据上起作用,那会很酷。

Demetrios:我就是这么想的,比如,哦,你能看到吗?它是否会给你一个更好的结果?然后另一个问题是,哦,等等,这真的可以吗,我可以在我的系统中同时放置两三个吗?对。也许是过度设计,也许不是。我不知道。所以那里有很多有趣的事情可以发生,思考起来很着迷。

Sourabh Agrawal:是的,当然。我认为实验是这里的关键,对吧?我的意思是,除非你尝试它们,否则你不知道什么有效。如果有什么东西能改善你的系统,那么它绝对是值得的。

Demetrios:谢谢。

Sourabh Agrawal:我们会调查的。

Demetrios:老兄,太棒了。很高兴和你聊天,兄弟。我们回头再聊,兄弟。

Sourabh Agrawal:是的,非常感谢。很高兴与您交谈。再见。再见。

免费开始使用 Qdrant

开始使用