生成式人工智能和大型语言模型 (LLM) 正在引起人们的极大兴趣。它们激发了公众的想象力,因为它们在提示您帮助编写文本时非常有用。但对于开发人员而言,它们更具革命性,因为它们极大地简化了构建 AI 应用程序的方式。让我们来看看为什么。
为什么 AI 直到最近才变得困难
传统上,构建 AI 应用程序的过程分为四个步骤:
- 将最相关的数据片段编码为向量。理解什么是“最相关的部分”是一个难题,通常需要构建一个单独的模型来解决这个问题,而不是做出有根据的猜测。从原始数据中提取相关片段是另一个难题。 (这些都是重要的问题,这就是为什么
我们建立了 Kaskada 来解决它们 .) - 使用这些向量训练模型以实现您的目标。例如,Netflix 最重要的目标之一是预测“乔纳森登录后想看什么”。如果您遇到像图像识别这样的常见问题,您可以“微调”现有模型而不是从头开始,但这通常是数小时或数天的许多 gpus 领域。
- 部署模型并将其公开为 API。
- 要在生产中运行它,请通过与步骤 1 中相同的编码运行您的实时数据,然后通过您构建和部署的模型发送它以进行预测(“推理”)。
第 3 步通常很简单(尽管
毫不奇怪,当一个问题领域需要一个博士团队来成功解决它时,除了少数公司之外,这将是成本和技能高昂的。
为什么 AI 现在对于法学硕士来说很容易
每个人都对带有 LLM 的生成 AI 如此兴奋的一个原因是,你通常可以在没有上述任何步骤的情况下“足够好”地解决问题。使用生成式 AI,您的工作是:
- 弄清楚如何将您的数据以文本形式导入 GPT
- 用英语制定关于该数据的查询
就是这样,真的。其他一切都是细节。
最重要的细节:你在第 1 步中给 GPT 什么数据?你不能把所有东西都扔给它;它只能处理 GPT-3.5 中的 4k 令牌,或在 GPT-4 中最多处理 32k,这要慢得多且成本更高。
矢量搜索使您能够采用您已经创建的要发送到 GPT 的确切查询,并将其扔到您的数据库中,您可以在其中放置您对客户的所有了解。矢量搜索从字面上回答“与此查询最相关的数据是什么”,您无需做任何进一步的工作——这几乎是神奇的。
(我坚信矢量搜索应该是你的主要应用程序数据库的一个特性,而不是一个单独的系统,这就是为什么
获得最相关的数据和查询后,将它们捆绑在一起并调用 OpenAI,您会得到答案,然后就完成了。 (我正在掩盖一些挑战,比如“
因此,流媒体内容提供商会使用如下数据:他看了多久;加上我们能想到的所有元数据,然后将其全部反规范化为单个文本 blob,并通过编码器运行它以获得向量。
如果这是 Netflix,那将非常容易,因为
完成后,您可以使用这样的查询从 Cassandra 获取相关行,where ?是您从同一嵌入 API 获得的查询向量的绑定变量:
SELECT original_data_text FROM user_recommendation_data WHERE user_id = 'jonathan' ORDER BY embedding ANN OF ? LIMIT 20
然后,您将这些结果添加到您的 LLM 提示中,然后……就是这样。现在你有一个推荐系统,是你在一周内建立的,没有博士学位,只是
传统模式还有用吗?
但即使您确实需要构建自定义模型,LLM 也可以帮助您生成数据、标签和特征。然而,这是另一篇文章的主题!
我怎样才能试试这个?
我推荐阅读
作者:Jonathan Ellis,DataStax