暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据与分析领导者的秘密,向量数据库的5个W:为什么?是什么?玩家是谁?谁用?用在哪儿?

444


向量数据库不是一个新概念,至少已经有十多年的发展历程了。2023年无疑是向量数据库从多年阴影中脱颖而出并万众人瞩目的一年。


最主要的原因是向量数据库能为下一代人工智能应用提供动力,并作为LLM(大语言模型)的工作流程和工作负载的“长期记忆”


向量数据库因此有了众多美名,如AI时代的新型数据库;数据、人工智能飞轮的重要齿轮;“大型机器学习的无名英雄”;基础设施的核心部分,为工业中的每一个大型机器学习部署提供动力;下一代搜索引擎;构建专有大语言模型组织的重要组成部分······


在大模型需求的带动下,向量数据库吸引了越来越多的投资,自研产品如雨后春笋般涌现,其AI基础设施的特性越来越明显



1.为什么需要它?


各行各业的公司越来越明白,做出数据驱动的决策是现在、未来5年、未来20年及以后竞争的必要条件。


一方面,数据增长——尤其是非结构化数据增长——超出了预期。另一方面,最新的市场研究估计,在数据的推动下,全球人工智能(AI)市场将“以39.4%的复合年增长率(CAGR)增长,到2028年将超过4223.7亿美元。


数据泛滥与人工智能时代已经没有回头路可走。这一现实隐含着人工智能可以对大量数据进行有意义的分类和处理,不仅对像AWS、Alphabet、Meta、Microsoft、腾讯、阿里等拥有庞大研发业务和定制人工智能工具的科技巨头,而且对普通企业甚至中小企业,都需要利用数据、发展AI。


精心设计的基于AI的应用可以极快地筛选巨大的数据集,以产生新的见解,并最终为新的收入来源提供动力,为企业创造真正的价值。


当今世界需要向量数据库来释放非结构化数据的价值,解决AI发展中的问题。因此,向量数据库及其解决方案和用例正在以惊人的速度发展。


随着数据以前所未有的速度生成,通过存储和检索这些向量的向量数据库,来理解所有数据将变得越来越重要。世界正在迅速从关键字搜索过渡到语义搜索,语义搜索根据概念查找数据并返回结果。


向量搜索擅长匹配概念,而不仅仅是单词和文本。


搜索过去是基于文本的,但通过数据的向量编码,搜索图像、音频、视频和概念,甚至是这些的组合变得越来越方便,导致了多模式搜索,允许使用另一种类型的内容搜索,如使用图像搜索文本,反之亦然。


但是如果没有数据库技术的新成员向量数据库,任何数据增长都不会真正实现操作化和民主化。向量数据库标志着一种新的数据库管理类别,以及利用对象存储中未开发的指数级非结构化数据的范式转变,不但可以搜索非结构化数据,而且可以处理半结构化甚至结构化数据。


这里需要理解向量数据库与传统数据库的区别。


虽然传统数据库具有严格的结构和逻辑方式来存储数据,但以向量数据类型存储数据可能不太结构化。在传统数据库中,每个表有一行。唯一的区别是列——单个行与其他行分组,并且仅包含有关该数据点的信息。


当客户购买自行车时,可能会在两列中提及自行车,一列用于型号,另一列用于颜色。在传统数据库中,我们必须编写一个模型,将只处理一个数据集而忽略另一个数据集。因此,当用户查找特定颜色的自行车信息时,仅当颜色与查询完全匹配时,模型才会返回结果。实际上,自行车可能是多种颜色的混合,但传统的数据库会发现很难检索到颜色或与另一种颜色相似的颜色的混合。使用向量数据库,我们可以处理多个数据点及其上下文。


向量数据库的优点是专为搜索和数据挖掘而设计,因此适用于几乎所有类型的业务用例。搜索涉及与传统关系数据库相同的方式简单地查询数据。向量数据库支持更复杂的搜索功能,并提供更短的延迟查询时间。此外,向量数据库可以对数据执行算法转换,这在传统数据库中本身就是一项复杂的任务。


2.它是什么?


向量是表征对象的数值数组。深度学习模型生成向量以简化处理多结构化内容的方式。向量数据库设计为多语言和多模态,可以在同一向量空间内处理任何形式的任何自然语言和非结构化数据如图像、视频、音频、文本等,如下图所示。


向量数据库通过处理深度学习模型的嵌入式向量来存储、索引和搜索大型非结构化数据集。



图显示了生成向量的方案。在向量数据库中搜索使用相似性指标和索引。前者定义数据库如何评估两个向量之间的距离和差值。最常用的相似性度量是欧几里得距离,也称为 L2 范数。向量数据库可以生成各种各样的索引,每个索引都有其优点和缺点。索引在加快查询速度和处理并发性方面发挥着关键作用。向量数据库允许根据用例配置索引算法和相似度指标。


简单来说,向量数据库是一种将数据存储为高维向量的数据库,高维向量是要素或属性的数学表示。每个向量都有一定数量的维度,范围从几十到几千不等,具体取决于数据的复杂性和粒度。向量通常是通过对原始数据(如文本、图像、音频、视频等)应用某种转换或嵌入函数来生成的。嵌入函数可以基于各种方法,如机器学习模型、词嵌入、特征提取算法。


向量数据库的主要优点是允许根据向量距离或相似性快速准确地搜索和检索数据。这意味着,用户可以使用向量数据库根据语义或上下文含义查找最相似或最相关的数据,而不是使用基于完全匹配或预定义条件查询数据库的传统方法。



另外,向量索引和向量数据库有什么区别?


像FAISS(Facebook AI Similarity Search)这样的独立向量索引可以显着改善向量嵌入的搜索和检索,但它们缺乏任何数据库中都存在的功能。另一方面,向量数据库是专门为管理向量嵌入而构建的,与使用独立的向量索引相比,提供了几个优势:


数据管理:向量数据库为数据存储提供了易于使用的功能,如插入、删除和更新数据,管理和维护向量数据比使用FAISS等独立向量索引更容易。


元数据存储和过滤:向量数据库可以存储与每个向量条目关联的元数据。然后,用户可以使用其他元数据筛选器查询数据库,以进行更细粒度的查询。


可扩展性:向量数据库旨在随着不断增长的数据量和用户需求而扩展,为分布式和并行处理提供更好的支持。独立的向量索引可能需要自定义解决方案,实现类似级别的可扩展性。


实时更新:向量数据库通常支持实时数据更新,允许对数据进行动态更改,而独立的向量索引可能需要完整的重新索引过程来合并新数据,既耗时又计算昂贵。


备份和集合:向量数据库处理备份存储在数据库中的所有数据的例行操作。如Pinecone还允许用户选择可以以“集合”形式备份的特定索引,将数据存储在该索引中以供以后使用。


生态系统整合:向量数据库可以更轻松地与数据处理生态系统的其他组件集成,如ETL管道(如Spark)、分析工具(如Tableau和Segment)和可视化平台(如 Grafana),简化数据管理工作流程。另外,它还可以轻松与其他AI相关工具集成,如LangChain、LlamaIndex和ChatGPT的插件。


数据安全和访问控制:向量数据库通常提供内置的数据安全功能和访问控制机制,保护敏感信息,而在独立的向量索引解决方案中可能不可用。


简而言之,向量数据库通过解决独立向量索引的局限性如可扩展性挑战、繁琐的集成过程以及缺乏实时更新和内置安全措施等,为处理向量嵌入提供了卓越的解决方案,确保更有效和简化的数据管理体验。


3.玩家是谁?


向量数据库的首要供应商就是企业自研的专用向量数据库。在国内市场,今年推出的向量数据库最有代表性。


5月28日,星环科技发布了分布式向量数据库Transwarp Hippo,此后还推出社区版的Hippo。作为一款企业级云原生分布式向量数据库,星环Hippo支持存储、索引以及管理海量的向量式数据集,提供向量相似度检索、高密度向量聚类等能力,有效地解决了大模型在知识时效性低、输入能力有限、准确度低等现实问题。


6月29日,向量数据库公司Zilliz发布了其数据库云服务Zilliz Cloud的产品更新。Zilliz是一家专注于研发面向AI应用的向量数据库系统的公司,其在2019年便推出了全球首个向量数据库产品Milvus,并开源。


此后7月4日,腾讯对外发布了向量数据库产品Tencent Cloud VectorDB。腾讯云表示,这是一款AI原生(AI Native)的向量数据库,能广泛应用于大模型的训练、推理和知识库补充等场景。


包括Vespa、Milvus、Qdrant、Weaviate、Pinecone、Zilliz、CozoDB、Twelve Labs 、Redis等企业也推出了自己的向量数据库,其中一些在开源的同时,也推出自己的商业化产品。


开源的向量数据库也是市场的一个不可忽视的力量。其中一些比较受欢迎的开源向量数据库包括:


Apache Arrow:这是一个开源的列式数据存储格式,可以支持高效的向量存储和计算。


Faiss:这是一个非常流行的开源向量数据库,支持高效率的向量相似度搜索和聚类等操作。


Milvus:这是一个开源的向量数据库,它支持高效的向量存储、查询和分析等操作,同时还支持分布式部署和云原生架构。


Vespa:这是一个开源的分布式数据库系统,支持向量数据的存储和查询,同时还支持实时分析和机器学习等应用场景。


这些开源向量数据库都具有各自的特点和优势,你可以根据自己的需求选择合适的数据库进行使用。



另外,关系数据库和NoSQL数据库正在集成向量数据类型并提供支持,作为数据库的一等公民,利用基于向量的数据表示的进步,并在本地或使用向量搜索库集成向量搜索。


Postgres支持一个名为pgvector的插件,用于基于向量的相似性搜索。向量搜索库和引擎包括Vald(向量搜索引擎)、Faiss和ScaNN,可以快速有效地执行向量相似性搜索。这些库有助于创建索引,从而加快查询搜索过程。库对于中小型数据集很有用,向量数据库构建在这些库之上。Elasticsearch还包括向量搜索作为插件。


虽然关系数据库和NoSQL数据库已被修改为存储向量嵌入,但它们最初都没有设计用于存储和提供这种类型的数据。基于插件的方法有限且未优化,性能尤其是大规模性能可能值得怀疑。


4.谁在用?


向量数据库的使用者是谁?对于希望创建基于向量搜索操作的开发人员,可以使用向量数据库。应用程序开发人员可以使用开源模型、自动机器学习(ML)工具和基础模型服务来生成嵌入内容并补充向量数据库。这需要具备基本的机器学习专业知识。


数据科学家和工程师构成的团队可以创建经过专业调整的嵌入内容,并通过向量数据库运行这些嵌入,有助于加速提供人工智能(AI)解决方案。


运营团队可以按照对常见数据库工作负载的管理方式来管理这些解决方案,以使用现有的工具和手册。


不过,在使用向量数据库并将其部署到生产环境之前,企业应了解以下标准:


·可扩展性:向量可以超过单台计算机的限制。事实证明,扩展嵌入向量在计算和存储方面都具有挑战性。从业者可以对数据和索引进行分片,以帮助横向扩展存储。它还有助于以高并发方式检索数十亿个向量,并保证跨读取、写入和更新工作负载的低延迟。


·稳定性和可靠性:根据非功能性需求(NFR)为您的用例选择向量数据库时,请评估其在硬件和软件级别处理故障的能力,而不会丢失数据,并将停机时间降至最低。


·速度:向量数据库支持超快的性能,特别是实时处理和索引数据。对于每秒处理和查询数百或数千个数据点的用例,延迟是选择哪个向量数据库的关键因素。


·灵活性:能够配置和选择不同的索引和算法进行搜索,并支持不同的计算架构——CPU、GPU、TPU等。


索引是向量数据库的核心组件。向量数据库依赖于索引来提供一致的大规模性能。向量数据库从最终用户那里抽象出底层索引技术。向量索引生成的算法考虑筛选器类型、数据特征(如基数)、分布和查询负载统计信息。向量数据库将谓词转换为二元分类器或布尔值。


5.在哪里使用它们?


向量数据库非常适合推荐引擎、产品搜索、内容搜索、项目分类,甚至威胁和欺诈检测等场景。


·搜索


向量数据库专为搜索和数据挖掘而设计,在语义搜索方面尤其出色。向量数据库的主要用例是查找非结构化数据,如文本、图像、音频和视频等。与仅检索完全匹配项的传统搜索不同,向量数据库返回类似的近似值。


基于相似性搜索的用例主要涉及图像、视频和音频等非结构化数据,很难在关系数据库中进行分类。向量数据库可以实时分析数据。例如,他们可能会搜索物体或快速查找自动驾驶汽车前方的物体以识别和分类,或者支持面部识别系统。向量数据库还可以应用于音频搜索用例,以识别歌曲名称或用户的声音。


载体数据库还可用于搜索严重依赖近似最近邻搜索结果的基因组数据和DNA序列等。


·LLM工作流:


向量数据库的闪亮明星用例之一是为LLM提供一种持久性形式,大型语言模型(LLM),如OpenAI的GPT-4、Facebook的LLaMA、Google的LaMDA等通过执行相似性搜索来查询和检索域特定信息,以从持久化的向量嵌入中找到请求的最佳或最接近匹配。


量数据库发现自己处于技术领域最热门的工作负载中。


在LLM部署中,向量数据库可用于存储由LLM训练产生的向量嵌入。通过存储代表LLM广泛训练的潜在数十亿个向量嵌入,向量数据库执行最重要的相似性搜索,找到用户的提示(他或她提出的问题)和特定向量嵌入之间的最佳匹配。


向量数据库已成功用于通过ChatGPT更改提示的工作流程。最终用户问题可以路由到向量数据库,以检索最相关的结果,将它们与原始问题合并并重新提交到ChatGPT引擎,已发现此更改的工作流程可返回更好的结果。



·集群识别:


除了分析和查找数据之外,当您需要大规模更改数据集时,向量数据库也很有用。如果您想删除重复列表或运行单个命令并自动对列表中的所有项目进行分类,则可以使用向量数据库来实现。


向量数据库可以通过存储图嵌入(节点、边、子图嵌入)和识别相似的网络和集群来应用于图。向量数据库在推荐引擎中找到用法——其中相似性搜索功能可以帮助向用户推荐相关项目以及内容管理搜索和项目分类。


·建议:


推荐系统可以使用向量数据库来存储、索引、搜索和检索非结构化数据。 例如,家得宝(Home Depot)使用向量数据库极大地改善了搜索体验。基于语义搜索的用例,其中搜索基于对自然语言的理解非常适合向量数据库。在此类用例中,向量数据库可用于索引来自NLP模型的向量嵌入,以了解文本的上下文。


向量数据库无疑为NoSQL领域带来了一个新的类别,正在不断发展和增加功能,如水平扩展、分页、分片和GPU/TPU等。在一个日益由人工智能驱动的世界中,向量数据库看起来是数据和人工智能飞轮的重要齿轮,能够驾驭向量数据库的企业将能充分发挥数据和AI的作用。


参考资料:


·https://www.eckerson.com/articles/why-what-who-and-where-of-vector-databases


·https://www.eckerson.com/articles/why-what-who-and-where-of-vector-databases


·https://venturebeat.com/data-infrastructure/the-vector-database-is-a-new-kind-of-database-for-the-ai-era/


·https://www.pinecone.io/learn/vector-database/


·https://learn.microsoft.com/en-us/semantic-kernel/memories/vector-db

END




春华秋实!

扫码关注

大数据应用

从现在开始

End




文章转载自Hadoop大数据应用,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论