好,我们来测试一下你对人工智能模型缩写的了解。我给你几个例子。LLM,这很容易对吧?那是大型语言模型。如果你用过这些模型中的“扩展思考模式”,你可能也知道LRM,那是大型推理模型。但这个呢?LDM。如果你说是大型数据模型,那是一个很聪明的猜测。它是错的,但这是一个小猜测。LDM实际上代表大型数据库模型。它完全不同于其他类型的模型。因此,它不是基于书籍、文章和维基百科等进行训练,而是可以使用你选择包含的列,在关系数据库中选定的若干表或视图上进行训练,事实证明,大多数企业数据就 resides 在这里。据估计,

只有1%的企业数据最终会出现在LLM面前,其余99%都锁定在这些关系数据库内部,通常位于多层加密和访问控制之后。因此,如果人工智能要对企业的日常工作有用,就必须触及这99%的数据,而能做到这一点的就是LDM。那么它是如何做到的呢?让我举个例子。假设我们有一位

客户,这位客户正在一家零售商那里在线购买美容产品,他们发现了一些感兴趣的东西,于是挑选了一件产品,将其添加到购物车或愿望清单中。现在,这本身就是一个非常有用的数据点。因此,零售商现在希望找到其他行为与此客户相似的客户,以便向他们推荐

类似的产品,比如这件产品。现在,传统的方法涉及数据科学家创建一个客户档案。这是其他相似客户的档案,我们大致可以将他们分组。这个档案基于历史购买模式。这可能需要编写一个针对关系数据库的SQL查询。该SQL查询可能看起来

是这样的。所以选择客户ID,来自客户,其中年龄在20到40之间,城市是纽约,美容支出超过1,000。现在,该查询给我们的是一个列表,一个其他客户的列表。现在,这些客户可能也对这件同样的产品感兴趣。这太棒了。所以现在我们可以针对这个列表中的客户,对吧?等等,因为

这个列表有一些特点。这个列表非常僵化,因为有人必须猜测正确的约束条件是什么。即使撇开这个查询是否给出好答案不谈,整个过程也相当缓慢,因为数据科学家需要提取记录,将它们加载到团队使用的任何分析平台中。他们需要运行分析,

然后报告结果。而且这也相当昂贵。现在,IBM报告称,客户花费了大约32%到40%的IT预算,仅仅是为了移动数据。除了成本之外,一旦数据离开其受保护良好且受监管的环境的安全范围,它就变得更难安全和跟踪。因此,与其编写像这样的刚性SQL过滤器,LDM查询会是什么样呢?

嗯,它看起来就像这里显示的这样。你看,这个看起来非常不同。它说,给我那些ID与……最相似的客户ID,我们指的是这里的这个人,并根据在此表上训练的模型来做到这一点。所以这里的主要区别是,没有人必须手动选择要在where子句中包含哪些字段。在

那个刚性版本中,数据科学家必须猜测哪些列与相似客户相关。在数十个可能的字段中,他们选择了年龄、城市以及总支出。这三个是对的吗?也许是,但性别呢?或者他们购物的时间呢?或者他们最近的退货历史呢?或者一大堆其他事情呢?使用LDM,模型

已经学习了跨表或视图中行的选定列,并学习了哪些值倾向于与其他值一起出现。因此,当查询要求查找像CUST4729这样的客户时,数据库会根据从选定列和行中值共现情况中学到的向量表示来回答。不再需要猜测字段。可以肯定的是,这个SQL

查询下面也可以包含一个where子句,就像刚性示例那样,比如限制为仅来自某个国家的客户,例如。所以它也可以做到这一点。因此,LDM查询可以有效地将AI语义查询与标准SQL功能结合起来。也许这真的是两全其美。那么,大型数据库模型实际上是如何做到这一切的呢?嗯,它是通过

五个步骤做到的。所以第一步是在关系数据库中选择一个表。这可以是客户列表、交易日志,任何具有行和列的东西。然后将每列分类为分类的。这是用于离散值,如州或状态,或数值的。这是用于连续值,如年龄或价格。然后是标识行的列的关键,比如客户ID。那是

第一步。现在,第二步是将每个值转换为标记,在我看来,这确实是LDM真正聪明的地方,因为这都与一种称为嵌入的技术有关。现在嵌入,它会取一个词,比如也许让我们说猫,然后将这个词变成一串数字,或者更具体地说是一个向量,所以它可能是这样的。比这长得多,但你大致

明白了。它是一个向量。意思相近的词,比如小猫这个词,会得到指向相似方向的向量。所以也许小猫的数字看起来像这样。所以你看它们非常相似,但数字要棘手得多。现在你可能认为数字37和数字38会像小猫和猫一样,在

它们自然地在向量空间中靠近,因为它们在数值上接近,但模型并没有真正将数字视为数字的概念,对它来说,37和38只是两个不同的标记,彼此之间可能并不比37和小猫更近。现在,当然,如果37岁和38岁的人在其他数据方面行为相似,它们最终可能会得到相似的向量,间接地,但那是相当缓慢且相当不可靠的学习方式,去学习我们已经知道的事情。连续列也往往有很多罕见值。所以,你知道,比如37.5和37.6。它们出现得太罕见,以至于模型无法为这些值学习良好的向量表示。因此,对于任何数值列,值首先被分箱,也就是说,聚类算法

将数值上接近的值归为一组。因此,37岁和38岁可能被归入同一个桶中,获得相同的ID。从模型的角度来看,它们实际上是相同的标记。我们告诉模型这些值是等价的,而不是让它从零开始自行推断。此外,每个值,无论是数值型还是类别型,都会标记其列名。因此,“纽约”出现在“城市”列中时,与出现在其他列中的“纽约”是不同的标记。否则,模型会混淆在不同列中具有不同含义的相同字符串。

这是前两个步骤。第三步是将每一行变成一句话,具体来说是无序句子,也称为词袋模型。在这种结构中,行中的每个标记与其他标记具有平等的关系,无论其列位置如何。例如,关于客户4729的那一行(即我们最初提到的客户),可能看起来像这样:城市纽约,年龄B7,性别F,支出B12,类别美容。

每个标记将列名与值配对。类别字段保留其原始标签,如“纽约”或“美容”;数值字段如年龄和支出则显示为来自分箱步骤的桶ID。例如,桶7(或B7)可能代表35至39岁的年龄段。第四步是训练步骤。自监督神经网络阅读所有这些行句子,并学习每个唯一标记的向量。

结果是,每个选定的类别值和每个数值聚类都在模型的词汇表中得到表示。出现在相似行中的值最终会彼此靠近。例如,行为相似的客户所在的城市会聚集在一起。最后,在第五步中,这些向量通过SQL暴露出来。训练好的模型被加载回数据库中,现在你可以搜索诸如相似度之类的内容,比如哪些客户看起来像我们的客户?

或者这种相似度,即哪些交易看起来最不像正常模式。我们还可以寻找聚类,即某个产品属于哪组参考产品。还有类比,即一种关系是否看起来像另一种关系。此外还有共性,即哪些记录显示出特别常见或罕见的模式。这一切都是作为标准SQL在数据库本身上运行的,数据就地使用,而不是发送到外部的AI模型。

虽然我一直使用零售业的例子,但大型数据库模型(LDM)已经在许多行业的生产中运行。让我举几个例子。其中之一是保险业。它们从数百万条记录中检索最相似的过往合同,以预测哪些报价最有可能成功。然后,欺诈检测团队利用它们标记那些看起来与典型模式完全不同的交易。

处理大量合同的公司可以发现与投资组合其余部分截然不同的协议。还有一个有趣的例子在食品和零售业。它被用于探索产品相似度搜索,数据库可以回答:在营养上与太妃糖裹杏仁相似的是什么?答案竟是燕麦片。我认为在LDM方面有两个共同点。

首先,模型在数据已经存在的地方运行。其次,任何能拼凑出SQL语句的人(几乎所有人)都可以提出这些语义问题,而无需数据科学家先将它们翻译成流水线。至于商业案例,当IBM在2022年推出首款基于LDM构建的数据库产品时,它被称为SQL Data Insights,作为DB2 for ZOS的一部分发布。

后续版本于2026年3月推出,名为SQL Data Insights Pro,它将相同的方法扩展到非结构化文本以及结构化列,并增加了增量模型刷新功能,使模型能够针对新数据进行更新,而无需每次都重新处理整个类别。好了,你的词汇表,也就是你的AI词汇表中又增加了一个缩写词,那就是LDM,大型数据库模型。