RAG 系统的进展与挑战 - Syed Asad | 向量空间演讲
Demetrios Brinkmann
·2024 年 4 月 11 日

“许多向量数据库的问题在于它们工作良好,可扩展。这是普遍现象。问题在于它们不容易使用。这就是我一直使用 Qdrant 的原因。”
— Syed Asad
Syed Asad 是一位杰出的 AI/ML 专业人士,专注于 LLM 运营和 RAG 系统。他专注于图像处理和大规模向量搜索操作,为该领域带来了丰富的专业知识。他致力于推进人工智能和机器学习技术,在推动创新和解决复杂挑战方面发挥了重要作用。Syed 不断突破 AI/ML 应用的界限,为行业不断发展的格局做出了重大贡献。
在 Spotify、Apple Podcast、Podcast addicts、Castbox 上收听本集。您也可以在 YouTube 上观看本集。
主要收获
提示工程是人工智能的新前沿。让我们来了解它在控制人工智能语言模型方面的重要性。在本集中,Demetrios 和 Syed 将对此进行讨论。
Syed 还探讨了 Kiwi Tech 的检索增强生成系统和机器学习技术。本集展示了人工智能应用在各个行业面临的挑战和取得的进展。
以下是本集的精彩内容
- 数字家谱:了解家谱应用项目如何通过与已故亲人的视频互动,将过去带入生活。
- 多模态混战:探索创建能够理解不同口音并克服转录难题的 AI 系统的复杂性——同时还要兼顾成本效益!
- 完美匹配:了解语义分块如何彻底改变放射学领域的职位匹配,以及为何确保上下文正确至关重要。
- Quasar 的量子飞跃:Syed 分享了关于金融聊天机器人 Quasar 的内幕消息,以及使其运作的 AI 魔力。
- 隐私悖论:深入探讨强大的 AI 结果与保护数据隐私这一核心追求之间长期存在的冲突。
有趣事实:Syed Asad 和他在 Kiwi Tech 的团队为他们的 AI 系统 Quasar 使用了基于 GPU 的方法,并结合 GPT 4,解决了温度控制和减轻幻觉响应等挑战。
节目笔记
00:00 客户更青睐引人入胜的多媒体应用而非聊天机器人。
06:03 多模态 RAG 的挑战:口音、转录、成本。
08:18 AWS 积分至关重要,但成本迅速飙升。
10:59 准确的程序至关重要,Qdrant 在搜索方面表现出色。
14:46 拥抱 AI 进行监控和研究。
19:47 寻求关于无效营销模型和解决方案的见解。
23:40 GPT 4 很有用,提示需要跟踪工具
25:28 讨论数据本地化和隐私,倾向于 Ollama。
29:21 幻觉控制和定价是主要担忧。
32:47 DeepEval,AI 测试,LLM,潜力,开源。
35:24 根据用例和大小筛选合适的嵌入模型。
更多来自 Syed 的引言
“Qdrant 易于使用。我培训了团队中专门使用 Qdrant 的人,他们最初使用的是 Weaviate 和 Pinecone。”
— Syed Asad
“如今的情况是,我特别参与的客户或项目越来越多地采用多媒体或多模态方法。他们希望他们的应用或 LLM 应用更具吸引力,而不仅仅是聊天机器人。”
— Syed Asad
“这就是准确性最重要的所在。在这种情况下,Qdrant 在提供出色的搜索结果方面堪称卓越。”
— Syed Asad 在医学影像搜索的进展中
文字记录
Demetrios: 各位好,大家好吗?我们又回来了,带来另一场向量空间演讲。今天能和大家在一起,我非常兴奋,因为我们将讨论 RAG 和 RAG 系统。从最基本的朴素 RAG 到最先进的 RAG,我们的特邀嘉宾 Asad 将为大家讲解。我的朋友,你在哪里?他来了。怎么样,老兄?
Syed Asad: 是的,一切都好。
Demetrios: 太棒了,太棒了。我知道我们直播前聊过,你目前在印度。对你来说时间很晚了,所以我很感谢你来这里和我们一起做这个。对于不知道的人来说,你还是 Kiwi Tech 的人工智能和机器学习高级工程师。你能快速为我们介绍一下 Kiwi Tech 是什么吗?
Syed Asad: 是的,当然。没问题。所以 Kiwi Tech 实际上是一家软件开发公司,之前专注于软件开发、iOS 和移动应用。现在我们完全专注于生成式人工智能、机器学习和计算机视觉项目。我在这里负责人工智能部分。所以。我们这里有很多项目,从基础到高级 RAG,从朴素到视觉 RAG。基本上,我从早到晚都在做 RAG 的工作。
Demetrios: 是啊,摆脱不了它,是吧?老兄,这太棒了。
Syed Asad: 到处都是 RAG。就连我之前做的机器学习部分,现在也都变成了 RAG 工程化的人工智能。是的。机器学习现在只是背景部分了。
Demetrios: 嗯,嗯,嗯。这很有趣,我理解它的需求,因为人们正试图看看如何在公司中利用新的生成式人工智能进展来获得价值。
Syed Asad: 是的。
Demetrios: 考虑到我们的听众,我想重点谈谈高级 RAG。我也很想听听关于视觉 RAG 的内容,因为那听起来非常令人兴奋。我们能先从视觉 RAG 开始吗?你在那里具体做些什么?当涉及到它时,你在研究什么?
Syed Asad: 是的,当然可以。所以最初我开始工作时,你们可能都了解“冻结 RAG”的概念,就是普通的、基本的 RAG,有一个文本检索系统。你只需查询你的数据等等。所以现在正在发生的是,我特别参与的客户或项目越来越多地采用多媒体或多模态方法。这就是正在发生的事情。所以他们希望他们的应用或 LLM 应用更具吸引力,而不仅仅是聊天机器人。因为。因为如果我们采用自然语言或普通的英语,我的意思是,通过视频或照片进行互动,比如头像生成,或者其他任何类似的东西。
Syed Asad: 所以这变得更受欢迎,并且正在获得更多人气。如果我具体谈论视觉 RAG。我正在研究的项目是,比如说,有一个家谱类型的应用。你在其中有一个账户。所以,你每天都在录制日常视频,对吧?比如你正在做的事情,比如你正在唱歌,你在公园散步,你在吃东西等等,你录制这些视频并上传到那个应用上。但是你想要什么?比如,你的后代可以进行某种查询,比如我的爷爷是什么样的?我的叔叔是什么样的?我的朋友是什么样的?它不只是局限于家庭。也可以是朋友。
Syed Asad: 总之。这些都是美国的项目,不是印度的项目。好的,所以,你去查询,它会返回一段关于你已故祖父的视频。他已经不在了。你可以看到他谈论那件事。所以这真的很吸引人。这就是我目前正在研究的叫做视觉 RAG 的东西。
Demetrios: 我喜欢那个用例。所以基本上,这让我可以更亲近现在可能不在我们身边的家人,因为 RAG 可以提取他们写的东西。它可以提取其他家庭成员谈论它的视频。它可以提取我表弟出生时的视频,诸如此类。
Syed Asad: 任何东西,从表兄弟姐妹到家人。你可以添加任意数量的家庭成员。你可以授权任意数量的人在你去世后拥有访问权限,就像一种提名或委托的生活记录。所以,我的意思是,实际上,这是一个非常大的项目,涉及多个转录模型、视频转录模型。它还实际涉及数据库,我正在使用 Qdrant,对此感到自豪。所以,在其中,所以。而且 Qdrant 在其中运行得非常顺畅。所以,我的意思是,最终是一个向量搜索,但在后台更多的是视觉 RAG,人们希望通过视频和照片进行交流。
Syed Asad: 所以这变得更加突出。
Demetrios: 好的,跟我谈谈多模态 RAG。我知道这有点棘手,因为如果你试图用视频进行向量搜索,它可能比只用文本进行向量搜索更复杂一些。对吧。那么,你在多模态 RAG 方面遇到过哪些独特的挑战?
Syed Asad: 处理多模态 RAG 的第一个挑战实际上是口音,因为口音可能多种多样。转录方面的问题,我在这方面面临的一个问题或挑战是缺乏合适的转录模型,如果你能获得一个合适的转录模型,那么如果你想在云端部署那个模型,比如 AWS 云。那么那个 AWS 云成本很高。所以管理基础设施是一部分。我的意思是,我是在一个高度可扩展的生产环境中谈论。我不是在谈论一个研究环境,你可以在 Colab Notebook 上做任何事情然后就那样。所以当涉及到客户或交付部分时,它变得更关键。即使在那里,也有时候我们不得不彻底改造整个方法,而这个方法在我们开发环境中运行得非常好,比如 Open AI 的 Whisper。
Syed Asad: 我们从 Open AI 的 Whisper 开始。它工作得很好。转录简直棒极了。但我们无法将其用于生产环境。
部分的原因是,是因为词错误率太高,还是因为太慢了?是什么原因让你无法将其投入生产?
Syed Asad: 是的,词错误率也很高。当部署在 AWS 实例上时非常慢。而且还有成本问题,因为通常这些是初创公司,或者中型初创公司,如果我从业务角度谈论,而不是技术角度。所以这些公司通常提供这类免费服务,然后基于这些服务他们试图融资。所以他们想要一些实际优化的东西,也要优化他们的成本。所以我个人认为,虽然 AWS 可以大规模扩展,但我完全不喜欢 AWS,除非有其他各种选项出现,比如 Salad。我打过电话,和 Titan Machine Learning 也有过一些交流,但也还可以。但是 Salad 目前是最好的之一。
Demetrios: 是的。除非你从创业计划中获得免费的 AWS 积分,否则成本会非常迅速地变得很高。即使你确实有免费的 AWS 积分,成本仍然会非常迅速地变得很高。所以我理解你的意思是,基本上由于成本和无法解决的问题,它是无法使用的,如果你能弄清楚如何正确地将其货币化,这更多是一个产品问题。但你也有技术问题,比如词错误率非常高,速度和延迟令人难以忍受。我可以想象。除非有人提出查询,然后他们准备坐等几分钟,让查询结果返回给你,包括视频或一些文档,无论是什么。我的理解对吗?再说一次,这是针对你提到的家谱用例。
Syed Asad: 是的,家谱用例。所以在那种情况下发生的事情是,上传了一个视频,实际上需要管理员批准。所以我的意思是你可以,那就是我们在项目方面限制成本的部分。这是因为你不能上传任何随机视频,然后他们会选择。那里也有某种形式的审核,当管理员批准这些视频后,这些视频会进入转录管道。它们通过一个,比如像 Open AI 的 Whisper 这样的视频转文本模型进行转录。所以最初发生的情况是,所有的,所有的研究都是用 OpenAI 完成的,但最终部署时,我们不得不选择 Deep Gram 和 AssemblyAI。在那里,这些模型的表现远优于 OpenAI。
Syed Asad: 我是开源模型的坚定支持者,所以我尝试利用它们,但在生产环境中效果不太好。
Demetrios: 太迷人了。所以你有那个,那只是你的一个用例,对吧?那非常像是多模态 RAG 的用例。你所有的用例都是多模态的吗,还是你还有其他的?
Syed Asad: 不,并非都是多模态的。有一些是多模态的,也有一些是基于朴素 RAG 的文本应用。所以,比如,有一个正在出现的用例是一种职位搜索。这是放射科的职位搜索。我的意思是,这是一个非常专业的客户类型。他们正在进行一种职位搜索,匹配方式和程序。这是一种临时工作。比如,你准备好了两个班次,两个班次开始,就这些。
Syed Asad: 所以,所以这一点非常关键,当有人描述他们的程序或专长时。比如,他们专注于某种医疗程序的 X 射线,而这与雇主的需求相匹配。所以这就是准确性最重要的所在。准确。在这种情况下,Qdrant 在提供出色的搜索结果方面堪称卓越。另一方面,在这种情况下,结果的质量也存在一些挑战,因为。所以从冻结 RAG 发展到高级 RAG,比如采用重排序、语义分块等方法。我已经,我已经开始使用语义分块。
Syed Asad: 所以就结果质量而言,它已经被证明非常有益。
Demetrios: 好的,多跟我说说。我正试图理解这个用例,以及为什么 RAG 对职位匹配很有用。你有专门技能的医生,他们明白,好的,他们可能是非常擅长某种类型手术的骨科医生,然后你有不同的在线职位。他们需要与这些不同的职位匹配。那么 RAG 在这里起什么作用呢?因为它似乎可以通过机器学习而不是人工智能来解决。
Syed Asad: 是的,它本来可以通过机器学习解决,但他们发布的职位类型、或者说方式太专业了。所以它需要某种上下文匹配。因此,RAG 的用例就来了。在这种情况下,需要上下文匹配。最初,我们考虑了机器学习的方法,但它并没有奏效。
我明白了,我明白了。那么现在跟我说说。你说的在这个用例中准确性需要非常高,这一点真的很重要。你是如何确保准确性高的?除了,我想你说了分块,查看分块,查看你是如何做的,你还采取了哪些其他方法来确保准确性高?
Syed Asad: 我的意思是,就准确性而言。我所做的是,实际上,当我开始选择什么样的嵌入模型时,我的重点在于嵌入模型。所以最初我的团队从 Hugging Face 上现成的开源模型开始,查看各种排行榜指标,一些专门用于医疗数据的模型等等。但即使我感到好奇的是,那些专门用于医疗数据的 LLM 嵌入模型,它们的返回结果也不好,而且不匹配。当,当是表格格式时,我创建了一个可视化,比较了各种模型的余弦相似度。结果都落后了,直到我使用了 Cohere。Cohere 的重排序器。在那种情况下它们是最好的,尽管它们并非专门训练于医疗数据。
Syed Asad: 并且只需要一个 API 调用,而无需将整个模型加载到本地。
有意思。好的。那么你当时有没有做某种类型的,所以你有 Cohere 的重排序器给了你很大的提升。你有没有对输出进行任何类型的监控,或者对输出进行评估,如果做了,是怎么做的?
Syed Asad: 是的,为了评估和监控,我们直接使用 Arise AI,因为我是一个,我也是 Llama Index 的强烈支持者,因为它让一切都变得如此简单,相比 Langchain。我的意思是,如果我谈论我的个人偏好,不是出于任何偏见,因为我不和任何人有联系,我不是在这里推广它,但它们拥有我写过的最好的东西,我喜欢 Llama Index 以及我使用它的原因,是因为任何新的研究进展,比如,最近微软发布了一篇关于 RAG (Retrieval Augmented Fine Tuning) 的研究论文,目前在 arXiv 上可用。所以仅仅几天后,他们就将其实现到库中,你可以直接开始使用,而不是自己创建结构。所以,是的,就是这样。所以我的一个部分是,我先阅读研究论文,然后得出结果。所以实际上选择模型需要一种基于研究的方法,因为 RAG 每天都有新的进展,你无法弄清楚什么对你来说是好的,你也不能整天进行试错。
Demetrios: 是的,这是一个很好的观点。那么如果我们分解你的技术栈,它看起来是什么样的?你使用 Llama index,你使用 Arise 进行监控,你使用 Qdrant 作为你的向量数据库。你有,你有 Cohere 的重排序器,你使用 GPT 3.5。
Syed Asad: 不,是 GPT 4,不是 3.5。
Demetrios: 你需要使用 GPT 4 是因为其他都不够好。
Syed Asad: 是的,因为上下文长度是其中最重要的一点。但关于我们的生产环境,过去一个半月以来我们一直在使用 Mixtral。我一直在使用。我一直在使用,因为 RAG 方面还有一个挑战,还有一个挑战,我举一个例子,再举一个用例。我可以提项目名称,因为公司允许。这是一个名为 Quasar Markets 的大项目。这是一家美国公司,他们正在创建一个金融市场类型的聊天机器人。
Syed Asad: Q u a s a r,Quasar。你也可以搜索它,他们也提供了对各种公共数据库和一些付费数据库的访问。他们有会员计划。所以我们完全负责前端和后端。我不是负责前端和后端,我负责其中的人工智能部分。所以其中一个挑战是推理,时间,用户查询击中数据库时获得结果的时间。比如,有一个公共数据库叫做美国政府的 Fred 数据库。用户可以在那个应用中选择并进入 Fred 数据库,然后想问一些关于它的问题。
Syed Asad: 所以在这种情况下,没有向量,没有向量数据库。它就是这样进行的。所以我们采用了一些关键词方法。我们提取关键词,将查询分为简单或复杂,然后再次访问数据库,通过实时 API 发送,获取结果。所以有很多次访问。结果呢?所有这些正在发生的多次访问。它们减少了时间,我的意思是用户体验受到了严重影响,因为检索时间增加了,而且用户,如果你进行任何查询并输入任何查询,它会在比如 1 分钟内给你结果。你不会等 1 分钟来获取结果的。
完全不会。
Syed Asad: 所以这是基于 GPU 方法的一个挑战。而且在后台,一切都在 GPT 4 上运行,甚至不是 3.5。我的意思是最贵的。
是啊。
Syed Asad: 所以,所以在这里我开始采用 LPU 方法,Grok。我的意思是它太神奇了。
是啊。
Syed Asad: 我最近一直在实施 Grok,它太神奇了。聊天机器人运行速度极快,但也有一些缺点。如果你对幻觉的控制较少,你就无法控制温度。这是我面临的一个挑战。所以这就是为什么我目前无法将 Grok 部署到生产环境。因为幻觉是客户关注的问题之一。对于任何拥有,或者想在自己的数据上使用 RAG 或 AI 的人来说,他们不会,他们不会期望你,即 LLM,具有创造力。所以这是一个挑战。
Syed Asad: 所以我发现,尽管现在市场上每天都有很多工具可用,研究也越来越多。但是我们动态中出现的大部分东西,我的意思是,它们更像是营销噱头。实际上在实践中不起作用。
Demetrios: 告诉我,多跟我说说。你还尝试过哪些不起作用的东西?因为我也有同感。我见过,我也见过一些感觉像是为了营销目的而发布模型的人,而不是实际有价值的模型。那么是哪些呢?我的意思是 Grok,了解 Grok 的优点以及一些缺点非常有益。感觉能够控制温度旋钮然后试图减少幻觉这个想法在不久的将来是可以解决的。所以也许现在我们只需要处理几个月这种事情。但我想听听你还尝试过哪些东西,在你刷推特或领英时感觉不像你想象的那样?
Syed Asad: 我应该点名吗?
Demetrios: 请讲。这样我们就知道不必在上面浪费时间了。
Syed Asad: 我从 OpenAI 开始。客户不喜欢在那里使用 GPT 4,仅仅因为首要考虑是成本。其次是数据隐私。第三,我的意思是,我从客户的角度说,而不是技术栈的角度。
嗯,嗯,嗯。
Syed Asad: 他们认为 OpenAI 更像是一个营销噱头。虽然 GPT 4 结果很好,我知道这一点,但客户并不喜欢。但问题是,我同意 GPT 4 目前仍然是 LLM 的王者。所以他们没有选择,别无选择才能获得更好的结果。但是 Mixtral 在幻觉方面表现得非常好。仅仅在 Python 代码中将参数 temperature 设置为零并不能消除幻觉。这是我的主要心得之一。
Syed Asad: 我一直在为此伤脑筋。就。我给你举个例子,一个聊天机器人。有一个,有一个用例,是一家大型出版公司。我目前不能说出这家公司的名字。他们希望将过去 20-25 年的整个图书系统转化为 RAG 流程。然后人们进行查询。其中。
Syed Asad: 我遇到的基本问题是处理“你好”。当用户输入“你好”时。所以当你输入“你好”时,它会。
返回你一本书。
Syed Asad: 它甚至返回你一本书。有时会返回给你。你好,我是这个,这个,这个。然后又是一些信息。你在提示词中写了什么,它就会把你写的所有东西都告诉你。我将根据这个来回答。我将根据这个来回答。所以,所以即使代码中的温度是零,即使这样,那也包含了大量的提示工程工作。
Syed Asad: 所以提示工程是我认为将流行起来、正在流行起来的最重要的技能之一。如果有人专注于提示工程,我的意思是,他们可以控制 LLM 的行为方式,因为它会奇怪地表现。就像在这个用例中,我使用了 Croc 和 Mixtral。所以要以这种方式控制 Mixtral。这工作量太大了,尽管我们最终做到了,但在提示工程方面工作量巨大。
Demetrios: 这是,这是 Mixtral Large。
Syed Asad: Mixtral,七比特,八乘七比特。
Demetrios: 是的。我的意思是,是的,这就是你必须面对的权衡。而且它根本没有进行微调。
Syed Asad: 没有,没有进行微调,因为我们正在构建一个 RAG 流程,而不是一个微调的应用,因为现在,甚至客户也不感兴趣获取一个微调模型,因为那会花费他们,他们更感兴趣的是一个上下文,比如一个 RAG 上下文流程。
Demetrios: 是的,是的。有道理。所以基本上,这非常有用。我认为我们都理解,也都见过 GPT 4 如果可以的话表现最好。我们想尽快摆脱它,看看我们能做到什么程度,或者我们在难度谱上能走多远。因为一旦你开始摆脱 GPT 4,你就会遇到那些问题,比如,好的,现在它似乎幻觉更多了。我怎么解决这个问题?我怎么提示它?我怎么调整我的提示?我怎么能有很多提示模板或一个提示套件来确保事情正常工作?那么你有没有使用任何工具来跟踪提示?我知道市面上有很多。
Syed Asad: 我们最初开始使用针对提示词的参数高效微调,但没有任何东西能 100% 有趣地工作。就提示而言,没有什么能 100% 工作。最终都会变成反复尝试。在进行提示工程时浪费了大量时间。即使你完全按照 Hugging Face 或模型卡上给出的提示模板来做,它会,它会表现,它会行动,但一段时间后就会出问题。
是的,是的。
Syed Asad: 但混合得很好。表现非常好。非常好。Mixtral 八乘七比特。这非常好。
太棒了。
Syed Asad: 总结部分非常强大。它给出的响应与 GPT 4 不相上下。
Demetrios: 好的。好的。这样你就不用处理客户的数据担忧了。
Syed Asad: 是的,我正要说这个。所以下一部分是数据问题。他们,他们现在或将来希望实现 LLM 的本地化。我一直都在用 Llama, CPP 和 Ollama 来做这件事。现在。Ollama 非常好。我的意思是,我现在是 Ollama 的忠实粉丝,它在本地化和数据隐私方面表现得非常好,因为,因为最终你卖的是什么,它很重要,我的意思是,最终都是销售。所以即使客户拥有用户的数据,他们也想让他们的用户放心数据是安全的。
Syed Asad: 所以这只涉及到本地化。所以他们想逐步走向那个方向。所以我想在这里提几点。总结一下我说的,LLM 的本地化现在是一个关注点,也是一个大市场。第二是模型的量化。
Demetrios: 哦,有意思。
Syed Asad: 在模型量化方面,无论如何。我使用 BitsAndBytes 进行了标量量化和二元量化。我也尝试了其他各种技术,但 BitsAndBytes 是最好的。标量量化表现更好。二元量化,我的意思是存在最大压缩或最大有损函数,所以它不,它正在,它给出的结果很差。标量量化工作得非常好。它,它也能在 CPU 上运行。它给出的结果很好,因为我们现在拥有的项目,甚至市场上也有,它们现在还没有大量的数据语料库,但它们最终会扩展。所以他们现在就想要一些可以量化的东西。所以量化是一个关注点。人们想要避开 AWS,他们不想去 AWS,但它就在那里。他们没有其他办法。所以这就是他们想要 AWS 的原因。
Syed Asad: 所以他们现在就需要一些可以量化的东西。所以量化是一个关注点。人们想要避开 AWS,他们不想去 AWS,但它就在那里。他们没有其他办法。所以这就是他们想要 AWS 的原因。
Demetrios: 这是因为成本锁定吗?
Syed Asad: 是的,成本是主要部分。
Demetrios: 是的。他们明白,如果你使用 AWS 并开始使用不同的服务,事情会很快失控。我认为还需要注意的是,当你在 AWS 上使用不同的服务时,它们可能非常相似。但是如果你在 AWS 上使用 Sagemaker 端点,它会比仅仅一个 EKS 端点贵得多。
Syed Asad: 对于一家初创公司来说,仅仅 GPU 的最低成本就是最低。450 美元。最低。即使在测试阶段或开发阶段,甚至还没有投入生产时,也要 450 美元。所以这也会给客户带来损失。
Demetrios: 哇。是的。是的。所以这也是,而且这甚至包括尝试使用像 Tranium 或 Inferentia 等所有那些服务。你知道那些服务吗?
Syed Asad: 我知道那些服务,但我还没有真正尝试过。我目前正在尝试 Salad 的推理服务,现在它们非常非常便宜。
Demetrios: 太好了。好的。是的,很棒。那么如果你能挥舞魔杖,让你的工作发生一些变化,日复一日,尤其是因为你一直在做很多 RAG,很多不同种类的 RAG,很多不同的 RAG 用例。你认为你的表现,你完成所需工作的能力在哪里会有最大的提升?RAG 可以发生怎样的剧烈变化?是不是你说,哦,幻觉。如果我们不必处理这些,我的生活就会轻松很多。我不必处理提示,那会我的生活会变得无限轻松。你希望在五年内看到这个领域发展到什么程度?
Syad Asad: 是的,你猜对了。幻觉是客户在使用 RAG 时最关心的问题之一,因为它在 LinkedIn 和其他地方看起来似乎可以控制幻觉,并给出“我不知道这个,就像上下文中提到的那样”的回答,但在实际生产环境中并非如此。比如你正在为一个出版公司开发 RAG,它却给你关于纽约的信息,即使你有控制和所有设置。所以这是需要改进的地方。就 RAG 而言,定价是目前最大的问题,因为在推理方面市场上的参与者很少,他们以自己的价格主导市场。所以这是一个痛点。
Syed Asad: 还有。我还想强调一下流行的向量数据库。有很多,比如 Pinecone,Weaviate,很多。所以实际上,很多向量数据库的问题在于它们工作良好。它们可扩展。这是普遍现象。问题在于它们不容易使用。所以这就是我一直使用 Qdrant 的原因。
Syed Asad: 不是因为 Qdrant 赞助我,不是因为我在 Qdrant 工作,而是因为 Qdrant 易于使用。而且,我培训了我的团队中专门使用 Qdrant 的人,他们最初使用的是 Weaviate 和 Pinecone。我的意思是,你也可以在那些数据库中存储向量,但尤其,尤其重要的是 Qdrant 最新发布的 Fast Embed。它通过使用 ONNX 方法而不是基于 Pytorch 的方法,让我的工作轻松了很多,因为有一个项目,我们将嵌入模型部署到 AWS 服务器上,它一直在运行。最低内存利用率是 6GB。即使它没有进行任何向量嵌入,速度也很快。Fast Embed 使得 Qdrant 发挥了巨大作用,我应该承认这一点。还有一件事我不想用的是 Langchain。
Syed Asad: 我一直在使用它。所以。所以我不想使用 Langchain,因为它不,它对我没有任何用处,尤其是在生产环境中。它在研究阶段有用。当你发布任何 Notebook 时,比如你做了这个和那个。它不,它在生产环境中工作得不好,尤其对我而言。Llama Index 工作得很好,工作得很好。
Demetrios: 你没有玩过别的吗?比如 Haystack 或者。
Syed Asad: 是的,Haystack。Haystack。我玩过一些,但是 Haystack 缺乏一些功能。它工作得很好。我想说它工作得很好,但是它缺乏一些功能。与 Llama Index 相比,他们需要添加更多东西。
Demetrios: 当然,现在最热门的是 DSPy。对吧?你有没有玩过那个?
Syed Asad: DSPy,实际上是 DSPy。我玩过 DSPy。但问题是 DSPy 现在,我还没有在生产环境中试验过,只是在研究阶段。
是啊。
Syed Asad: 所以,关于评估部分,DeepEval,我听说你可能有 DeepEval。所以我一直在使用它。这是因为其中一个挑战是 AI 的测试。此外,大型语言模型生成的响应,传统的测试人员或手动测试软件,他们实际上不知道。所以还有一个垂直领域正在等待开发,那就是 AI 的测试。它有巨大的潜力。而 DeepEval,基于 LLM 的测试方法非常有效,而且也是开源的。
Demetrios: 我没听过这个 DeepEval。
Syed Asad: 我给你说一下确切的拼写。是。抱歉。是 DeepEval。D E E P。Deep eval。我可以。
Demetrios: 是的。好的。我知道 DeepEval。好的。是的,当然。好的。嗨。我不知为何听成了 D Eval。
Syed Asad: 是的,实际上我发音错了。
Demetrios: 太好了。所以这些是你喜欢的一些,和不怎么喜欢的一些,这非常有益。听到所有这些真是太棒了。在我们结束之前,你还有什么想说的吗?对于你的 RAG 系统,你有什么经验或智慧可以传授给我们,以及你是如何艰难学到的?所以告诉我们,这样我们就不用走弯路了。
Syed Asad: 就去吧。不要相信营销宣传。不要相信营销宣传。自己做研究。Hugging Face 是一个好东西,我的意思是,简直太棒了。排行榜,虽然不是所有榜上的模型都能用,比如说,我不知道今天和明天,今天和昨天的情况,但 Salesforce 有一个模型,来自 Salesforce 的嵌入模型。它仍然在 MTEB 排行榜上名列前茅,我认为在嵌入模型方面。MTEB 嵌入模型排行榜。
Syed Asad: 但你不能在生产环境中使用它。它太大了,无法实现。那有什么用呢?Mixtral AI。Mixtral AI 非常轻量级,它们工作得很好。它们甚至不在排行榜上。它们曾经在排行榜上,但现在可能不在了。当我看到它们在 MTEB 排行榜上排名第七或第八时,但它们工作得很好。所以即使是排行榜上的东西,也未必管用。
Demetrios: 现在感觉有点像,特别是在嵌入模型方面,你就好像去看排行榜,然后闭着眼睛随便挑一个。你有没有找到更好的测试方法,还是你只是找到一个,然后在所有地方都尝试使用它?
Syed Asad: 不,不,不是那样。实际上,我所做的是首先需要找到嵌入模型。尝试根据我的用例找到嵌入模型。比如,如果它是关于医疗用例的嵌入模型,那么我就 कोशिश去找那个。但是筛选的第二个因素是该嵌入模型的大小。因为最终,如果我用那个嵌入模型进行整个 POC 或整个研究,结果是什么?而且我确实遇到过这种情况,我们用嵌入模型和大型语言模型进行了整个研究,然后在生产阶段不得不全部移除,结果一切都白费了。一切。
Syed Asad: 所以一个轻量级的嵌入模型,特别是最近开始使用的,是 Cohere 嵌入模型,他们提供了一种以量化格式调用这些嵌入模型的服务。所以这个也很好用而且速度很快。Fast Embed 是 Qdrant 提供的一个功能,这两个在生产环境中都很好用。我说的这些是在生产环境,研究阶段你可以做任何事情。
Demetrios: 太棒了,伙计。这次谈话非常精彩。我非常感激。Asad,谢谢你来到这里,也谢谢其他任何想来向量空间演讲的人,告诉我们一声就好。同时,不要迷失在向量空间里。我们稍后见。祝你下午、早上、晚上愉快,无论你在哪里。
Demetrios: Asad,你教了我很多,兄弟。谢谢你。