什么是向量、向量数据库

263 阅读2分钟

问题 发明”苹果“这个词之前, 人们如何描述苹果呢?

通过描述 颜色 大小 形状 纹理 特征等, 可以对苹果 清晰的定义

将这些特征用数字描述 得到一个数组 即 “向量” image.png

这样 复杂的图形 变成了数字 计算机就可以识别了

新的苹果出现 计算机仍然可以认识苹果吗

即使出现新的苹果 这些苹果在向量数据库中 离的很近 相似度很高

image.png

AI大模型 + 向量数据库

当今的人工智能 通过上千个维度 来学习 训练 大模型 当AI大模型遇到庞大的向量数据库

大模型如何学习的?

step1向量数据

喂给大模型的词汇 都会先转换成 向量数据

image.png

当训练数据中出现多组类似的语言时 在向量数据组成的高维空间 相近的词汇就会离的更近 大语言模型就可以逐渐捕捉到 词汇间的语义和语法

image.png

比如大模型 会很明白 苹果 西瓜的语义上接近 但是和公交车 相差甚远

image.png

step2 大模型需要对上下文进行理解

此时transfermer架构开始发挥作用 从每个词出发 观察和其他词之间的关系权重

image.png

例如一句话中["我" ”昨天“ ”买的“ ”苹果“ ”很好吃“],

很好吃 和 我的关系权重最大

这个很好吃 和 我 权重结果 被当作新的维度记录下来

这样一句话 也转换成了 带权重的向量 image.png

step3 问答

语言模型 经过 查询 计算 生成权重最高的答案输出给你 一次问答就完成了

image.png

总结

实际上大模型推理的过程更为复杂, 需要处理文本 图像 音视频 等大量非结构化数据 并 转换为 向量数据进行学习 这些数据的向量维度高达上千

传统数据库 只能进行行 列 检索

向量数据库 将向量数据组成一个 立体高维空间, 在空间中进行模糊检索 能够快速输出权重最高的答案

什么是向量数据库

image.png