paint-brush
LLM 和矢量搜索如何彻底改变构建 AI 应用程序经过@datastax
1,166 讀數
1,166 讀數

LLM 和矢量搜索如何彻底改变构建 AI 应用程序

经过 DataStax4m2023/06/14
Read on Terminal Reader

太長; 讀書

生成式人工智能和大型语言模型 (LLM) 正在引起人们的极大兴趣。它们激发了公众的想象力,因为它们在提示您帮助编写文本时非常有用。但对于开发人员而言,它们更具革命性,因为它们简化了 AI 应用程序的构建方式。让我们来看看为什么。
featured image - LLM 和矢量搜索如何彻底改变构建 AI 应用程序
DataStax HackerNoon profile picture
0-item
1-item
2-item


生成式人工智能和大型语言模型 (LLM) 正在引起人们的极大兴趣。它们激发了公众的想象力,因为它们在提示您帮助编写文本时非常有用。但对于开发人员而言,它们更具革命性,因为它们极大地简化了构建 AI 应用程序的方式。让我们来看看为什么。

为什么 AI 直到最近才变得困难

传统上,构建 AI 应用程序的过程分为四个步骤:


  1. 将最相关的数据片段编码为向量。理解什么是“最相关的部分”是一个难题,通常需要构建一个单独的模型来解决这个问题,而不是做出有根据的猜测。从原始数据中提取相关片段是另一个难题。 (这些都是重要的问题,这就是为什么我们建立了 Kaskada 来解决它们.)
  2. 使用这些向量训练模型以实现您的目标。例如,Netflix 最重要的目标之一是预测“乔纳森登录后想看什么”。如果您遇到像图像识别这样的常见问题,您可以“微调”现有模型而不是从头开始,但这通常是数小时或数天的许多 gpus 领域。
  3. 部署模型并将其公开为 API。
  4. 要在生产中运行它,请通过与步骤 1 中相同的编码运行您的实时数据,然后通过您构建和部署的模型发送它以进行预测(“推理”)。

第 3 步通常很简单(尽管并非没有挑战);步骤 1、2 和 4 都涉及定制解决方案,这些解决方案可能需要难以找到的技能。


毫不奇怪,当一个问题领域需要一个博士团队来成功解决它时,除了少数公司之外,这将是成本和技能高昂的。

为什么 AI 现在对于法学硕士来说很容易

每个人都对带有 LLM 的生成 AI 如此兴奋的一个原因是,你通常可以在没有上述任何步骤的情况下“足够好”地解决问题。使用生成式 AI,您的工作是:


  1. 弄清楚如何将您的数据以文本形式导入 GPT
  2. 用英语制定关于该数据的查询


就是这样,真的。其他一切都是细节。


最重要的细节:你在第 1 步中给 GPT 什么数据?你不能把所有东西都扔给它;它只能处理 GPT-3.5 中的 4k 令牌,或在 GPT-4 中最多处理 32k,这要慢得多且成本更高。


矢量搜索使您能够采用您已经创建的要发送到 GPT 的确切查询,并将其扔到您的数据库中,您可以在其中放置您对客户的所有了解。矢量搜索从字面上回答“与此查询最相关的数据是什么”,您无需做任何进一步的工作——这几乎是神奇的。

(我坚信矢量搜索应该是你的主要应用程序数据库的一个特性,而不是一个单独的系统,这就是为什么我们将它添加到 Apache Cassandra 和 DataStax Astra DB .)


获得最相关的数据和查询后,将它们捆绑在一起并调用 OpenAI,您会得到答案,然后就完成了。 (我正在掩盖一些挑战,比如“您如何让 LLM 以严格定义的格式回答因此您可以使用答案并将其合并到您的应用程序中,”但这些都是软件工程师已经知道如何解决的挑战。)


因此,流媒体内容提供商会使用如下数据:他看了多久;加上我们能想到的所有元数据,然后将其全部反规范化为单个文本 blob,并通过编码器运行它以获得向量。


如果这是 Netflix,那将非常容易,因为Netflix 已经在 Cassandra 中拥有他们的数据,因此无需启动新系统或聘请博士。您只需要您的开发人员编写一个查询,将元数据汇总到一个表中,然后将每一行发送到 Google 的棕榈或 OpenAI 的阿达将它们转换为向量的 API(称为嵌入).


完成后,您可以使用这样的查询从 Cassandra 获取相关行,where ?是您从同一嵌入 API 获得的查询向量的绑定变量:


 SELECT original_data_text FROM user_recommendation_data WHERE user_id = 'jonathan' ORDER BY embedding ANN OF ? LIMIT 20


然后,您将这些结果添加到您的 LLM 提示中,然后……就是这样。现在你有一个推荐系统,是你在一周内建立的,没有博士学位,只是阿斯特拉数据库和你选择的法学硕士。

传统模式还有用吗?

特拉维斯费舍尔是正确的当他说只有在你用尽了 LLM 的更简单方法后才考虑微调或自定义模型。然而,LLM 比具有更小和/或更仔细调整的特征向量的定制模型更慢且更昂贵。此外,在 Netflix 这样的用例中,您想要获取机器可读的输入并取回机器可读的输出,与通过文本和英语来回切换相比,您通常可以使用自定义模型获得更准确的结果。


但即使您确实需要构建自定义模型,LLM 也可以帮助您生成数据、标签和特征。然而,这是另一篇文章的主题!

我怎样才能试试这个?

我推荐阅读走向数据科学的文章涵盖了这一切如何运作的下一个层次。然后报名对于支持矢量搜索的 Astra DB,以及注册我们 6 月 15 日的网络研讨会在矢量搜索法学硕士。准备好:这会很有趣!



作者:Jonathan Ellis,DataStax