14-54 剑和诗人28 - 用于实时嵌入查找的向量检索

news2024/11/15 13:45:33

介绍

LLM 成功的关键因素是向量嵌入的使用。通过将文本转换为数字向量表示,我们可以将语义含义映射到数学向量空间。这使得模型能够根据向量之间的相似性在语言中概括模式。

随着我们的模型和数据集变得越来越大,高效地存储、组织和检索这些嵌入变得至关重要。我们需要能够在几毫秒内从数十亿个文本向量中识别相关内容的检索系统。

让我们深入研究向量相似性搜索和检索的最新技术。我将介绍索引、聚类和编码等基本构建块,以及利用近似最近邻、图形数据库、超球面搜索等的尖端算法。

无论您是想构建矢量搜索引擎还是想通过快速、相关的结果增强您的 NLP 模型,本指南都将为您提供关键概念和工具。让我们开始吧!

14-54 剑和诗人28 - 用于实时嵌入查找的向量检索

基本面

在探索高级技术之前,我们需要介绍一些作为矢量检索系统基础的基本构建模块。

嵌入

嵌入是编码语义的密集向量表示。通过将文本转换为数字,我们可以根据向量相似度等操作量化单词和段落之间的关系。

生成嵌入的流行技术包括 word2vec、GloVe 和 BERT。它们使用各种形式的矩阵分解和深度学习来生成将词汇映射到向量的嵌入表。

目标是使向量空间中的接近度反映语义或上下文相似度。因此同义词的嵌入应具有较高的余弦相似度,而不相关的术语则应相距较远。

索引

索引是指允许高效检索和存储数据的结构和算法。就像书籍索引可以帮助您根据关键字快速查找概念一样,嵌入索引有助于从大型数据集中检索相关向量。

常见的索引方法包括倒排索引、kd 树、球树和聚类。这些结构对数据集进行预处理,以加速后续的搜索查询。

当与产品量化等压缩技术结合使用时,索引还可以通过数据汇总来减少存储量。这使得系统能够以较小的内存占用承载数十亿个嵌入。

相似度指标

为了量化两个嵌入之间的关联程度,我们需要相似度指标。这些指标对向量之间的距离或方向进行评分。

余弦相似度使用点积来测量向量之间的角度。对齐越紧密,表示语义相似度越高。欧几里得距离和曼哈顿距离则相反,计算量级差异。

TF-IDF 等排名函数可以在比较过程中进一步加权某些向量维度。这些相似性指标为搜索中的下游相关性排名提供支持。

近似最近邻

要找到查询向量最相似的嵌入,需要对数十亿个候选对象进行详尽的比较。这种最近邻搜索在大规模计算上是难以实现的。

近似最近邻 (ANN) 算法通过牺牲精度来提高速度,提供了一种实用的解决方案。通过高级数据结构和矢量量化,它们将比较限制在最有希望的候选对象上。

Faiss、Annoy 和 ScaNN等领先的 ANN 库可实现闪电般的相似性搜索。这些近似结果的准确率超过 97%,但比蛮力搜索快 10-100 倍。

编码权衡

现代嵌入网络拥有数万亿个参数,可创建极高维空间。直接索引这些向量的成本非常高昂。

我们可以通过编码来缓解这种情况——将向量转换为更适合搜索的低维表示。这确实会损失一些保真度,因此平衡准确性、存储和速度是关键。

流行的编码技术包括二进制散列、乘积量化和通过 PCA 或自动编码器进行降维。我们将在后面的高级技术中介绍领先的解决方案。

高级技术

现在我们已经介绍了基础知识,让我们探索利用近似最近邻、图形、超球面、专用硬件等的前沿技术,为矢量搜索提供业界领先的规模和性能。

倒排索引

倒排索引通过反向查找彻底改变了文本搜索 — 将单词映射到文档,而不是相反。同样的原理也适用于向量检索。

通过在哈希表中枚举所有已知向量及其编码的文本片段,我们构建了一个将嵌入映射到数据的倒排索引。通过巧妙的压缩和编码,这些结构有助于实现闪电般的最近邻查找。

Meta 利用 Faiss 库率先实现了向量的倒排索引。它通过乘积量化压缩向量,然后构建指向这些代码簿的倒排索引。结果是 AI 级向量搜索,压缩率达到 70-80%,准确率超过 95%。

相似图

图形数据库通过对成对关系进行建模来扩展搜索空间。每个节点都是与相关邻居相连的嵌入。然后,遍历会动态发现这些预先计算的相似性。

Pinecone 使用相似性图来实现复杂的矢量查询,比如查找与 X 最相似但不与 Y 最相似的上下文。通过有效地修剪图中不相关的区域,它们可以显示通过纯 ANN 搜索无法实现的定制化、细致入微的结果。

代价是计算时间,因为图遍历比直接查找花费的时间更长。但对于重视结果质量而非原始速度的应用程序来说,相似图可以解锁强大的功能。

超球面索引

球面索引是一种创新方法,它优化了超球面(而不是传统的笛卡尔平面)上的向量遍历。这与人类的直觉排序相符,因为我们更多地考虑概念接近度而不是正交距离。

Weaviate 利用超球面搜索开发了 HNSW 算法。它比那些难以处理曲率和方差的 K-means 等方法表现更好。Weaviate 目前是 Semantic Sc​​holar 矢量搜索引擎等主要部署的幕后推手。

专用硬件

虽然算法改进加速了向量搜索,但利用 GPU、TPU 和 ASIC 可以实现数量级的规模。大规模并行处理可将吞吐量提高 100 倍,以承载数万亿个嵌入。

Pinecone 和 Weaviate 等初创公司提供基于 GPU 和 TPU 云的无服务器架构。Vector AI 的 CURRAY 硬件使用定制 ASIC 以每秒每台服务器提供 11,000 个查询。Groq 以每秒一万亿次操作进行矢量搜索。

通过协同设计算法和硅片来处理嵌入,专用硬件克服了传统云服务面临的瓶颈。这为价格实惠的下一代 LLM 提供了支持。

重新排序

初始 ANN 搜索通常利用紧凑代码来提高速度,但会牺牲一些准确性。我们可以通过针对原始向量重新运行有希望的候选集,然后重新评分以提高相关性来恢复这一点。

假设一个编码查询发现了 1000 个近似邻居。我们可以将这些浮点数传递给 GPU,以便根据完整向量进行并行评分。鉴于重新排序的计算量很大,我们可以重新获得精度,而不会严重影响延迟。

这为 Pinecone 的分层缓存等分阶段架构提供了动力,该架构结合了 CPU、GPU 和 TPU。混合系统通过多级重新排序提供高精度的实时矢量搜索。

分布式架构

将海量向量语料库分散到机器集群中,可以实现水平扩展。通过仔细分区和负载平衡,我们可以并行展开搜索,实现每秒数百万次查询的累计吞吐量。

Weaviate 的模块化分片允许跨节点管理单个向量集合。Faiss 同样支持跨联网机器对巨型索引进行切片。然后集群在查询时进行协调以检索分区并进行合并。

分布式向量解锁了处理数万亿个嵌入的部署——足以对 Wikipedia 进行 100 倍以上的编码。这种分布式拓扑支撑着为 AI 2.0 应用程序提供动力的网络规模向量引擎。

专门的距离度量

虽然余弦相似度提供了向量对齐的标准度量,但自定义指标可以更好地捕捉概念包含等细微关系。这支持语义术语消歧等高级用例。

初创公司 Anthropic 使用一种量化子集关系的距离度量 CAST 构建了 Constitutional AI。通过将人类偏好编码为向量空间上的约束,他们生成了可控的语言模型,从而避免不良行为。

专门针对特定任务的相似度评分可实现更有意义、更可控的向量检索,从而解锁新的应用。预计定制指标和奇异几何图形将突破向量搜索所能实现的界限。

未来机会

随着 PyTorch、TensorFlow 和 HuggingFace 等框架让所有人都能训练自定义模型,有效利用这些嵌入将成为下一个前沿。专门构建的向量检索为基于多功能构建块的可组合 AI 铺平了道路。

通过结合语音、视觉、语言和知识表示的最佳模块,我们可以构建 GPT-4 等单一模型无法实现的多模式体验和助手。矢量搜索的民主化访问使这一未来今天就可以实现。

随着矢量数据库规模、性能和功能的不断扩大,我们只触及了可能性的表面。未来几年,由所有数据矢量嵌入驱动的融合数字媒体将推动各行各业的转型。革命在于建立联系——连接数据、概念和能力。

趋势

扩展矢量搜索功能的主要趋势包括更广泛的编码支持、与图形和知识库的融合以及集成机器学习。

超越文本的编码

虽然目前大部分焦点集中在文本和图像矢量上,但我们正在扩展到音频、视频、传感器流等。寻找这些模式之间的联系需要多功能矢量空间来映射不同的数据格式。

整合知识

将向量相似度与外部知识图谱和本体相结合可提高结果相关性。如果两个点在向量空间中距离较近但编码的概念不同,则降低这些关系的权重可提高准确率。

融合

将最佳的矢量搜索、图形和机器学习整合成无缝体验,可实现下一代应用程序。我们看到领先供应商之间的整合以及在幕后利用这些技术的垂直解决方案。

向量的未来不仅仅是检索信息,还包括构建能力。随着模型的规模和范围不断扩大,找到将其预测与其他模块联系起来的途径将推动可组合人工智能的发展。向量搜索仍然是将这些构建块联系在一起的粘合剂。

未来范围

在增强向量检索方面仍有巨大的空间——从专用硬件上每个服务器超过数万亿个嵌入的庞大规模,到融合多种编码方案的增强维度。

大量初创企业的涌入继续拓展这一领域——构建模型状态图,重点检索狭窄的背景,内存硬件在纳秒内提供结果以实现实时响应,新的训练机制允许随着数据的演变动态更新活动索引。

随着通过托管服务和简化许可,利用向量的障碍消失,通过搜索提供神奇的体验成为下一波创新浪潮。

连接图像、文本、音频和视频之间的可逆映射,轻松实现跨模式转换,这提供了这样的机会。潜在空间之间的这种相互作用可根据细微背景和用户当下的需求定制响应。

从很多方面来看,当专有海量数据被编码到民主化、可互操作的向量空间中时,我们仅仅触及了可能性的表面。从个性化医疗到无限可探索的创作引擎,向量搜索照亮了前进的道路。我们只需将这些点连接起来。

结论

现代深度学习的突破在很大程度上依赖于向量搜索来大规模释放价值。随着模型的规模和范围越来越大/越来越小,检索相关切片以满足特定用户需求决定了其在现实世界中的采用。

我介绍了设计下游 AI 可使用的矢量嵌入管道的关键原则和工具。随着数万亿个数据点即将触手可及,将模块化功能与融合体验相结合将催化下一个技术革命时代。

希望本指南既能提供坚实的基础,又能让您一窥未来可能的发展,即通过向量连接数据、领域和仍难以想象的可能性。在不断扩展的向量宇宙中,只要能建立连接,机会就无处不在。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1910228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【工具分享】零零信安——攻击面管理平台

文章目录 00SEC-ASM™功能介绍功能演示 最近闲来无事,到处网上冲浪,无意间发现了长亭云图攻击面管理平台,无奈需要授权才能使用,于是就找到了平替:零零信安攻击面管理平台。 长亭云图攻击面管理平台:https:…

Langchain Chatchat:开源代码与离线部署的完美融合

写在前面 一.好易智算介绍 1.官网网址 好易智算官网 好易智算共有算力市场、应用市场、交流社区三大功能模式。 2.应用市场 好易智算的应用市场提供了包含 Stable Diffusion WebUI、SadTalker、ComfyUI、Facefusion、Langchain Chatchat、Musetalk、Wav2lip、Fooocus、lora…

案例|180套设备24小时监测,守护某油气管线安全

油气管道跨越工程是我国重要的能源基础设施,也是油气上下游衔接协调发展的关键环节,还是我国现代能源体系和现代综合交通运输体系的重要组成部分。守护能源安全大动脉,筑牢油气管网基础设施安全具有重要意义。 一、项目背景 某油气管线是我国…

泰勒雷达图2

matplotlib绘制泰勒雷达图 import matplotlib.pyplot as plt import numpy as np from numpy.core.fromnumeric import shape import pandas as pd import dask.dataframe as dd from matplotlib.projections import PolarAxes import mpl_toolkits.axisartist.floating_axes a…

RISC-V 指令系统

指令系统 指令集 指令集从本质上可以分为复杂指令集(Complex Instruction Set Computing,CISC)和精简指令集(Reduced Instruction Set Computing,RISC)两种。复杂指令集的特点是能够在一条指令内完成很多…

TAGE predictor

参考文档:分支预测算法(一):TAGE|SunnyChen的小窝 TAGE的基础概念 TAGE是现今最经典的分支预测算法,TAGE及其后续的变体都是当今高性能微处理器的分支预测算法基础。因此,要聊分支预测算法的话题必定绕不开…

【算法】(C语言):快速排序(递归)、归并排序(递归)、希尔排序

快速排序(递归) 左指针指向第一个数据,右指针指向最后一个数据。取第一个数据作为中间值。右指针指向的数据 循环与中间值比对,若大于中间值,右指针往左移动一位,若小于中间值,右指针停住。右…

【学术会议征稿】第五届大数据、人工智能与物联网工程国际会议

第五届大数据、人工智能与物联网工程国际会议 2024 5th International Conference on Big Data, Artificial Intelligence and Internet of Things 第五届大数据、人工智能与物联网工程国际会议(ICBAIE 2024)定于2024年10月25-27号在中国深圳隆重举行。…

新功能上线 | 自定义工作台,成就个性化办公

为进一步优化用户操作体验,帮助用户更轻松、便捷的使用采购系统,隆道平台面向用户推出自定义工作台。根据个人的工作习惯和需求,轻松定制专属的工作界面。无论您需要快速查看待办事项,还是实时追踪业务进度,或是全面掌…

掌握这五大关键,轻松驾驭AI大模型项目落地

随着AI技术的蓬勃发展,众多企业纷纷投身于大模型项目的浪潮中,力求在这场技术革新中占据一席之地。然而,成功与失败并存,背后的原因引人深思。本文将为您揭示五大关键因素,助您轻松驾驭AI大模型项目的落地过程。 一、…

FL Studio 24.1.1.4234 Crack

Image-Line bvba 的 FL Studio 是一款数字音频工作站(DAW)软件,是音乐家、制作人和音频工程师的完整音乐制作解决方案。FL Studio 以其直观的界面、强大的功能和广泛的性能而著称,用户可以利用它高效、创造性地进行作曲、编曲、录…

动手学深度学习53 语言模型

动手学深度学习53 语言模型 语言模型代码QA 语言模型 核心:预测文本出现的概率 最常见应用:做预训练模型 当数据序列很长怎么办?常用n-gram 。 一元语法:马尔科夫假设tao0 基本认为每一个字是独立的,不管前面的东西。…

zabbix“专家坐诊”第245期问答

问题一 Q:vfs.dev.discovery拿的是哪里的文件,我看源码里面获取的是/proc/parttions里面的信息,但是我没有这个device,是怎么获取出来的? 在这里插入图片描述 A:检查下系统内核版本或者agent程序版本&…

收银系统源码

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 私有化独立部署/全开源源码,系统开发语言: 核心开发语言: PHP、HTML…

数据结构(初阶1)

文章目录 一、复杂度概念 二、时间复杂度 2.1 大O的渐进表示法 2.2 时间复杂度计算示例 2.2.1. // 计算Func2的时间复杂度? 2.2.2.// 计算Func3的时间复杂度? 2.2.3.// 计算Func4的时间复杂度? 2.2.4.// 计算strchr的时间复杂度? …

区间贪心

目录 1.贪心算法的思想 2.区间贪心算法常用的一些题目类型 1.选择最多不相交区间问题 P2970 [USACO09DEC] Selfish Grazing S 1.思路分析 2.上代码 2.区间选点问题 P1250 种树 1.题目 2.方法一 1.代码解释 3.方法二 3.区间合并问题 P2434 [SDOI2005] 区间 1. 思路…

容器docker

文章目录 前言一、docker1.1 为什么有docker1.2 docker架构1.3 docker 安装1.4 docker中央仓库1.5 docker 基本指令1.6 docker数据卷,挂载例:nginx 数据卷挂载例:mysql 本地持久化 1.7 镜像制作镜像结构dockerfile基础指令容器生成镜像 1.8 d…

JFlash读取和烧录加密stm32程序

JFlash读取和烧录加密stm32程序 安装后JFlash所在的目录:C:\Program Files\SEGGER\JLink 一、烧写加密程序 1、打开C:\Program Files\SEGGER\JLink目录,找到JFlash.exe,双击它,就可以打开该执行程序。见下图: 2、选择“Create …

Vue基础知识:Vue3.3出现的defineOptions,如何使用,解决了什么问题?

1.那么为什么会出现defineOptions? 原因说明&#xff1a; 有<script setup></script>语法糖应用之前&#xff0c;如果要定义 props&#xff0c;emits 可以轻而易举地添加一个与 setup 平级的属性。但是用了<script setup>后&#xff0c;就没法这么干了整个…