如何从数据库生成“AI”:Bruce Momjian

EDB 副总裁 Bruce Momjian 解读数据库如何赋能 AI。关键技术包括:向量处理word2vec 模型、LLM 训练和状态转换器 。通过 PGVector 扩展,可实现基于向量的语义搜索。注意力机制模块RAG 进一步提升生成式 AI 的能力,但需注意 LLM 本质是复杂的数据操作。

译自:How To Generate 'AI' From a Database: Bruce Momjian

作者:Joab Jackson

下次你向 ChatGPT 或其他生成式 AI 服务提问时,请注意你得到的答案中单词的顺序。

你的查询中的最后几个词几乎总是生成的回复中的前几个词。

Bruce Momjian指出,这是大型语言模型 (LLM) 工作的一个重要过程------向后评估每个词相对于前一个词------他是 EDB的副总裁和 Postgres 的推广者,在上个月在布鲁塞尔举行的 FOSDEM 2025 的一次演讲中说道。

Momjian 以数据库技术为出发点,向观众介绍了数据如何转化为 AI,以及为什么我们还不应该将数据操作误认为是真正的人类智能。

从描述性到生成性

在 2022 年之前,我们所知的"AI"主要是区分和澄清的任务,AI 会回答诸如"狗还是猫?"或信用卡交易是否真实等问题。它非常适合预测、分类、推荐。

新的"AI",以 ChatGPT 的即时成功 为代表,是关于生成以前不存在的内容:摘要、聊天机器人、语义搜索、图像、编程、声音和视频的创建。

生成式 AI 实际上是在生成新内容,而不是像早期的预测性 AI 那样寻找边界。

"我们正处于狂野西部。我们实际上并不知道我们可以做的所有事情,"Momjian 说。

庞大的向量宇宙

这种方法的关键始于 向量处理。Google 在 2018 年的一篇论文中率先提出了这项技术,该论文题为"Efficient Estimation of Word Representations in Vector Space",并提供了一个名为 word2vec 的模型。

向量是一个具有两个数字的数学对象,即大小(长度)和方向。

训练数据中的每个词都有一个与其他每个词的向量,形成一个高度维度的向量空间。(为了简单起见,Momjian 专注于基于文本的生成式 AI,尽管图像和其他形式的内容生成也基于类似的原理)。

幻灯片:Bruce Momjian

这个词的宇宙确实非常大。

"我们处理的规模远远超出了我们可以在物理世界中理解的任何事物,"Momjian 说。

ChatGPT LLM 可以 拥有多达 12,288 个维度,总计超过 10 的 188,000 次方个维度,这远远超过了宇宙中原子的总数,Momjian 指出。

每个词的向量都具有相同的长度。它还被分配了一个方向,一个随机的浮点数,存在于这个 10 的 188,000 次方维度的宇宙中的某个地方。

训练日

下一步是将大量的训练文档 输入到这个空间中

对于每个词,它的向量将被调整为更接近其周围的词,并且对于它的每个周围的词,使其更接近原始词。

在这个著名的训练数据集里:

The king is a tall man. The queen is a beautiful woman. They sit together in the throne room of the castle.

向量"king"向"man"弯曲,"queen"向"woman"弯曲,"throne"向"castle"弯曲,依此类推,在数千个维度上相乘。

经过连续的迭代,"man"和"woman"等词将越来越接近,而"king"和"queen"也将越来越接近。

另请注意,"man"和"woman"的距离与"king"和"queen"的距离相似,这使得 LLM 可以进行一些基本的数学运算,以进一步理解词之间的关系。

而且,由于维度非常多,在一个维度上将一个词移动到更接近另一个词的位置,并不一定意味着这些词与其他词的距离会更远。

"当我们把'man'移近'woman'时,我们不一定把它移离'king'更远,因为'king'与'man'的接近程度可能与'man'与'woman'的接近程度不在同一个维度上,"Momjian 说。

从数据到智能

关系型数据库确实提供全文搜索,但不搜索单词的含义。这就是基于向量的语义搜索的强大之处。

通常,在 LLM 训练过程中,文本块可以"分块"成较短的段落。它们可以被分成句子、段落,或者整个段落可以是一个单独的块。

语义搜索对每个块的所有向量分数进行平均。

然后,生成式 AI 对查询本身中的向量进行平均,并找到得分最接近的句子或文本块。

因此,查询"谁是国王?"将最接近于"国王是一个高个子男人"这句话的平均值,这意味着这句话的平均向量最接近于查询的平均向量。

Momjian 展示了 一些 SQL 代码 来实现这个示例,可以使用 PGVector(PostGreSQL 的向量扩展)来执行。他创建了一个表来保存内容,以及一个表来保存它们嵌入。Momjian 创建了一个 Python 脚本,调用 OpenAI,发送每个单词并取回一个嵌入。向量被平均并存储在数据库中。

然后,通过 API 调用将查询"谁是国王?"发送到 OpenAI 以获取嵌入数字。它也被平均,然后与数据库中的所有平均值进行比较,这些平均值从最相似到最不相似进行排序:

比较最接近匹配的向量分数

Momjian 说:"这与全文搜索不同,因为它理解单词之间的关系。"

生成式 AI

Momjian 解释说,向量处理只是生成式 AI 的第一个模块。要生成完整的句子,还需要 状态转换器,这是一种用于 自然语言处理神经网络

注意力机制模块(也是 谷歌在 2017 年率先提出的)是输入文本的加权版本。每个查询都会获得一个新的注意力机制模块。从 LLM 中查找每个单词并给出 128 维数字。输入文本中的每个单词都被加权,以便更接近其他单词,逐个单词地进行。

在向量空间中将单词移动到一起的这个过程会持续多次迭代,直到生成一个完整的句子。

这就是为什么你的 ChatGPT 答案中的最后一个短语通常会首先出现在答案中------"法国的首都是巴黎"------因为它最后被向量化。LLM 以相反的顺序解释一个句子:

哥伦布在俄亥俄州。巴黎在哪里?

...可能会给你带来这个答案:

巴黎在法国。美国德克萨斯州也有一个名为巴黎的城市。如果您指的是不同的巴黎,请具体说明!

答案还可以通过 检索增强生成 进一步完善,这为 LLM 提供了额外的指令,例如保持回复简洁。在这种情况下,关于巴黎位置的问题将得到简单的回复,即巴黎在法国。

你还可以使用 RAG 来返回 数据分析问题 的答案。例如,Momjian 展示了如何将三个 SQL 数据库插入输入到 RAG 前缀中,它将返回每个命令被提交的数据,因为 LLM"知道"SQL。

总而言之,Momjian 总结说,虽然 AI 的发展速度确实惊人,但 LLM 仍然是一种复杂的数据操作形式,不具备任何实际的感知能力。

在此处欣赏 Momjian 的完整演示文稿。幻灯片可在此处获得。

相关推荐
liuyunshengsir39 分钟前
AI Agent 实战:搭建个人在线旅游助手
人工智能·旅游
Shawn_Shawn39 分钟前
大模型微调介绍
人工智能
TiAmo zhang43 分钟前
DeepSeek-R1 模型现已在亚马逊云科技上提供
人工智能·云计算·aws
liruiqiang0544 分钟前
循环神经网络 - 简单循环网络
人工智能·rnn·深度学习·神经网络·机器学习
Erica_zhase1 小时前
GPT-4o推出的原生图像生成功能升级后有点东西!
人工智能
青花瓷1 小时前
智谱大模型(ChatGLM3)PyCharm的调试指南
人工智能·python·大模型·智谱大模型
说私域1 小时前
基于开源AI大模型与S2B2C模式的线下服务型门店增长策略研究——以AI智能名片与小程序源码技术为核心
大数据·人工智能·小程序·开源
V_HY147622 小时前
AI碰一碰发视频获客工具,系统开发逻辑详细解析
大数据·人工智能·新媒体运营·流量运营
鸿蒙布道师2 小时前
OpenAI战略转向:开源推理模型背后的行业博弈与技术趋势
人工智能·深度学习·神经网络·opencv·自然语言处理·openai·deepseek
白雪讲堂2 小时前
AISEO (GEO )中的知识图谱
人工智能·chatgpt·知识图谱