课时5:AIGC时代,Tair向量检索助力AI

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
简介: 课时5:AIGC时代,Tair向量检索助力AI

Redis入门训练营:课时5:AIGC时代,Tair向量检索助力AI

课程地址:https://developer.aliyun.com/trainingcamp/5fd706c381604c09bebaf774a6290c5a?spm=a2cwt.28190922.J_8357884230.1.1e817127ycWQyx

AIGC时代,Tair向量检索助力AI

 

内容介绍

一、 什么是向量检索

二、Tair向量检索介绍

三、Tair向量检索的优势

四、 基于Tair搭建多模态检索

 

 

一、什么是向量检索

image.png

 

让我们探讨一下向量检索是什么?在这里,"向量"指的是由一系列数字按照特定顺序组成的一维数组,用来表示数据的特征和属性。这种数据既可以是结构化的,也可以是非结构化的,例如多媒体文档和图片。通过各种模型,我们可以将这些数据转化为向量形式。向量检索是一种计算机搜索技术,在大规模数据集中找到与查询向量最相似的向量,在向量检索中,每个向量都被看作是多维空间中的一个点,其中每个维度代表一个特征。

那么,为什么我们需要向量检索呢?相对于传统搜索方法,向量检索具有出色的优势,它不仅可以考虑语义上的相似性,而不仅仅是关键词的匹配,还可以处理非结构化的数据。

 

image.png

 

例如,如图所示,文本数据可以通过不同的模型转化为向量,并存储在Tair向量检索模块中。通过比较两个向量之间的距离,我们可以评估这两个向量对应的文本在语义上的相似性,这个功能在多个领域都有广泛的应用,包括文章搜索、网络爬虫和自然语言处理等。此外,就像您提到的,图像数据也可以通过VGG16等模型转化为向量,并存储在向量检索模块中,通过检索与某一图片向量距离较近的向量,我们可以实现相似图片的搜索,这在电商平台的以图搜图功能中经常见到,除此之外,向量检索还在音频检索、药物研发等领域发挥着重要作用。

 

二、Tair向量检索介绍

image.png

 

向量检索是基于Tair内存数据库的一项服务,它以扩展数据结构的方式,为用户提供高性能、实时的存储和检索功能,这些功能融合在一体的向量数据库服务。

如图所示,向量检索内置于Tair原生内存数据库中,这确保了数据的实时在线可用性,使其非常适用于电商、社交和金融等行业。另外,泰向量检索还具备Tair哈希等其他扩展数据结构的能力。用户可以同时使用向量检索和其他扩展数据结构,从而扩展了其在不同使用场景下的应用。

目前,向量检索支持HNSW索引和Flat暴力搜索两种主要的检索方式。HNSW索引采用紧凑的哈希结构,在向量数据的索引方面具有出色的实时读写性能,并提供了较高的查询精度。因此,对于大规模数据集,HNSW索引是一个推荐的索引构建方式。

 

image.png

 

Flat暴力搜索适用于小规模的数据集,以及对绝对精度要求较高的场景,它能够确保百分之百的召回率。Tair三的检索功能支持丰富的距离度量方式,包括欧式距离、内积距离、余弦距离等多种不同的距离计算方法,这使得它可以适应不同的应用场景,尤其在现代AI领域。

image.png

在这个领域中,"content"可以具备一些独特的特性,例如支持属性和向量的混合检索,这意味着你可以根据不同的属性和向量的特征来进行检索,从而更精确地找到所需的数据,这种灵活性使得Tair三的向量检索功能非常适合应用于多种复杂的AI任务中。

Tair将向量数据和属性数据分开存储,向量数据存储在索引中,而标量数据则存储在键值(KV)结构中。每个键(K)对应一个向量和相关的属性信息,当用户使用向量检索时,可以为每个向量附加属性信息。

在进行相似性检索时,用户可以指定属性的过滤条件,这样只会返回满足过滤条件的相似向量,这个功能允许用户更精确地筛选和获取他们需要的数据,提高了检索的效率和准确性。

image.png

Tair向量检索是建立在高可用架构之上的,提供了主备高可用集群版高可用和读写分离版高可用,在主备高可用架构中,如果主节点发生故障,系统可以自动切换到备用节点,并且这种切换可以在秒级内完成,在集群版高可用架构中,可以根据业务需求动态扩展或缩减集群规模,最多可以扩展到256个分片,每个分片均是由主备架构组成。

 

三、Tair向量检索的优势

我们在公开数据集上对向量检索的写入性能和查询性能进行了测试。

在公开数据集中,我们进行了向量检索的性能测试。

image.png

测试环境采用了16GB内存和hsw索引参数e设置为500。图一和图二分别显示了在不同的hsw索引参数m值下,相似检索的写入性能。纵坐标表示每秒的吞吐量,横坐标表示hsw索引参数m的变化。在图一中,写入性能最高接近9000,然后随着m值的增加而略有下降,当m等于64时,性能约为3800左右。

虽然写入性能在增加m时略有下降,但较大的m值可以提供更准确的相似检索结果。从图三和图四可以看出,索引构建速度受数据集中数据分布的影响,列表数据集的索引构建速度较慢。因此,在实际使用中,用户应根据其数据集的特点来选择适当的参数。

图三和图四展示了在Tair SQL数据集上的查询性能。纵坐标表示单线程查询的延迟,横坐标表示hsw索引参数e值的变化,其中f表示查询过程中参考的备选节点。

根据测试结果,单线程查询的延迟可以小于一毫秒。虽然随着参数ef的增大,延迟也会增加,但召回率也会提高。因此,在实际使用场景中,用户可以根据自己对召回率和写入查询速度的要求来调整参数。

 

image.png

接下来介绍一些应用场景和最佳实践。首先,多模态检索相对于单模态检索。在多模态检索中,通过与自然语言处理模型结合,向量检索能够提供非结构化数据(如图像、音频和视频等)的高性能近似检索能力。

首先,将文本和图像等数据通过多模态预训练模型转换为向量。然后,将这些向量和原始数据的存储路径导入到向量检索模块中,并构建索引。

这种方法适用于需要在非结构化数据集中进行高性能相似性搜索的应用,例如图像检索、音频检索等领域。通过结合自然语言处理和图像处理的模型,向量检索能够有效地处理多模态数据,并提供精确的检索结果。

以文搜图为例,将带有查询文本的数据通过预训练模型转化为向量,然后在图片索引中查询相似的向量,返回相似向量对应的图片存储路径,从而通过路径找到图片并实现多模态检索。多模态检索也广泛应用于大样本模型的训练中,通过提高样本的质量,可以加速模型的训练过程。

image.png

 

Tair向量检索还结合了R、D、K等组件,为AI制药领域提供了化学分子的相似性检索能力。

在AI制药领域,向量检索可以帮助从海量的化学分子数据中找到与特定化学分子相似的候选分子,从而加速新药研发过程。此外,K3检索也可以与大规模模型结合使用,用于提供长期记忆数据和私有数据,以满足用户对专有、个性化、无图像基于自然语言处理的聊天信息的需求。用户首先将私有数据和相关数据转换为向量,并存储在数据库中,然后构建索引以支持快速的检索操作。

image.png

 

这个过程涉及将问题转化为向量表示,然后使用向量检索模块来搜索与问题相似的向量,返回这些向量对应的文本数据。接着,将这些相似的文本数据与问题组合成一组信息,通过语言模型(LM)提问,以获得准确的答案。右图所示,我们直接向大型语言模型提问,可能会得到不准确的答案,就像你提到的例子,得到了一个关于Linux发行版的错误信息。然而,通过在已知相似文本中搜索问题,并将相似文本和问题结合在一起,可以让语言模型更准确地回答问题,得到正确的答案,比如关于数据库等内容。这种方法已经集成到了开源组件中,用户可以基于这一方法构建自己的私有数据检索系统。

 

四、基于Tair搭建多模态检索

 

image.png

 

动态检索服务的搭建需要一定的硬件配置和环境准备。首先,在ECS实例上,您需要安装必要的依赖库,包括CNP(用于加载库)和Python(建议使用3.10版本)。

在这个实验中,我们选择中文作为示例语言,并加载了P模型的RB和T三作为文本特征提取。整体架构包括将图片和文本数据存储在磁盘上,并使用向量索引将每个数据的磁盘索引和向量插入到数据库中。每个数据的磁盘索引作为向量的键(K),方便快速找到原始数据。向量检索分别为文本和图片建立了索引,采用了HSW索引和IP(内机内)距离度量。

image.png

在实际操作中,您需要申请一个实例,根据实例规格进行配置,并获取连接信息。然后,通过创建图片和文本的索引,使用JVS的Create Index接口,您可以为文本和图片分别创建索引,这些索引的类型是HSW,距离度量是P,向量维度是1.24,在索引创建前后,您还可以使用TVVS Index来获取每个索引的信息。

在创建索引后,接下来的步骤是向索引中插入数据的向量,您可以使用一个开源的宠物图片数据集,其中包括7000多张宠物的图片。您可以从图中的链接下载这些图片到本地,然后上传到您的ECS实例。

首先,您需要加载P模型,由于之前已经安装了CNP,您可以使用CNP来导入模型,在这里,我们使用了VGG16模型和RB和T三模型。因此,第一个参数是"VGG16",如果您的ECS实例没有GPU,可以在CPU上运行这些模型。

接下来,您可以对图片数据进行向量化处理,将每张图片转换为向量,这些向量将用于构建图片索引,您可以使用JVS Insert接口来实现这一步骤。

需要将第二个参数改为"cpu",然后下载的模型保存位置表示为"root"。通过这个模型,您可以将图片转化为1.24位的向量。首先,使用"image.open"将图片打开并转换为B格x式。接下来,使用与型的接口将图片转化为向量。最后,通过"tps h"接口将这些向量插入到索引中。第一个参数是索引名称,因为我们要为图片建立索引,所以填写"Index"。第二个参数"k"是图片的索引,第三个参数"value"是图片的1.24位向量。

为了处理7000多张宠物图片,您需要重复这个流程,以创建索引。

接下来,让我们看一下以文本为基础的图片搜索效果,例如查找与文本描述最匹配的狗的图片。首先,将文本转换为1.024维度的向量,然后使用Terror TVSKN设置接口进行相似检索,获取与文本向量距离最近的图片TSKN。第一个参数是索引名称,因为我们要查找相似图片,所以参数是"index"。第二个参数是要返回的相似数据的数量,这里我们查找三张与文本描述最接近的图片。

image.png

在返回的结果中,我们看到了三张图片,同时还显示了每张图片与文本的距离,第一张图片的距离最小,与文本描述最符合,而第三张图片的狗看起来并没有跑,与文本的语义不太符合,因此距离最大,这种方式可以帮助您找到与文本描述最匹配的图片,从而实现基于文本的图片搜索。

 

image.png

 

最后,让我们通过图文的方式来展示效果。首先,我们将在索引文本中插入三个例子,比如在“白色的狗”下插入了关于白色狗的描述,类似于图片的过程,这里不进行详细解释。

接下来,我们将展示如何使用一张奔跑的狗的图片,调用tskn接口来查询与索引文本中的相似文本。

可以看到,返回了三条相似文本和它们的相似度分数。其中,与图片描述最匹配且最详细的是“奔跑的白色的狗”,因此其相似度最高;而“文本狗”的描述则最不相符且最不详细,因此其相似度最低。

相关文章
|
17天前
|
SQL 存储 人工智能
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,能够基于大型语言模型(LLMs)为数据库生成精确的 SQL 查询。Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。
84 7
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
|
4月前
|
数据采集 机器学习/深度学习 人工智能
Datawhale AI夏令营第四期魔搭-AIGC文生图方向Task1笔记
这段内容介绍了一个使用Stable Diffusion与LoRA技术创建定制化二次元图像生成模型的全流程。首先,通过安装必要的软件包如Data-Juicer和DiffSynth-Studio准备开发环境。接着,下载并处理二次元图像数据集,利用Data-Juicer进行数据清洗和筛选,确保图像质量和尺寸的一致性。随后,训练一个针对二次元风格优化的LoRA模型,并调整参数以控制模型复杂度。完成训练后,加载模型并通过精心设计的提示词(prompt)生成一系列高质量的二次元图像,展示模型对细节和艺术风格的理解与再现能力。整个过程展示了从数据准备到模型训练及结果生成的完整步骤,为定制化图像提供了方向。
|
2月前
|
存储 人工智能 自然语言处理
高级 RAG 技术:提升生成式 AI 系统输出质量与性能鲁棒性【预检索、检索、检索后、生成优化等】
高级 RAG 技术:提升生成式 AI 系统输出质量与性能鲁棒性【预检索、检索、检索后、生成优化等】
高级 RAG 技术:提升生成式 AI 系统输出质量与性能鲁棒性【预检索、检索、检索后、生成优化等】
|
2月前
|
人工智能 自然语言处理 数据挖掘
Claude 3.5:一场AI技术的惊艳飞跃 | AIGC
在这个科技日新月异的时代,人工智能(AI)的进步令人惊叹。博主体验了Claude 3.5 Sonnet的最新功能,对其卓越的性能、强大的内容创作与理解能力、创新的Artifacts功能、视觉理解与文本转录能力、革命性的“computeruse”功能、广泛的应用场景与兼容性以及成本效益和易用性深感震撼。这篇介绍将带你一窥其技术前沿的魅力。【10月更文挑战第12天】
86 1
|
2月前
|
人工智能 供应链 搜索推荐
生成式 AI 与向量搜索如何扩大零售运营:巨大潜力尚待挖掘
唯有打破领域壁垒,让数据在整个系统中流转 方可实现 AI 驱动的自动化增长
|
3月前
|
人工智能 物联网 开发者
魔搭上线AIGC专区,为开发者提供一站式AI创作开发平台
魔搭上线AIGC专区,首批上架157个风格化大模型,专业文生图全免费~
142 16
|
3月前
|
算法 NoSQL 数据挖掘
表格存储低成本向量检索服务助力 AI 检索
本文阐述了阿里云表格存储(Tablestore)如何通过其向量检索服务应对大规模数据检索的需求,尤其是在成本、规模和召回率这三个关键挑战方面。
|
4月前
|
人工智能 数据库
【科研技巧】如何判断某个期刊是什么类别及影响因子?是否是顶会?如何期刊内检索?AI写综述?AI做PPT?
本文提供了关于如何判断期刊类别、影响因子,识别顶级会议,以及在期刊内部进行检索的科研技巧,并探讨了AI技术在撰写综述和制作PPT方面的应用。
163 6
【科研技巧】如何判断某个期刊是什么类别及影响因子?是否是顶会?如何期刊内检索?AI写综述?AI做PPT?
|
4月前
|
存储 人工智能 数据管理
OSS&Tablestore 向量检索能力全新升级,重塑AI时代数据管理
阿里云 OSS Indexing 发布了向量索引和检索能力。该功能除了可以对 OSS Meta 进行检索之外,还可以对多媒体数据元信息、用户自定义元数据以及向量语义进行检索。OSS Indexing 功能,是依托阿里云表格存储 TableStore 提供的索引存储和检索能力而构建的。表格存储针对成本、规模、召回率等挑战,发布了低成本、大规模、高性能、高召回率的向量检索服务,能以较低成本支持千亿规模数据的存储和检索。
240 8
|
4月前
|
存储 人工智能 NoSQL
OSS&Tablestore 向量检索能力全新升级,重塑AI时代数据管理
近日,阿里云成功举办了“AI驱动:数据管理的进化与创新 ”线上新品发布会。发布会上,阿里云存储产品向量检索能力全新升级,重塑AI时代数据管理。
下一篇
DataWorks