随着大模型中数据局限问题的严峻化,向量数据库应运而生

向量数据库与亚马逊大模型

请添加图片描述

什么是向量数据库

请添加图片描述

向量嵌入(vector embedding)已经无处不在。它们构成了许多机器学习和深度学习算法的基础,被广泛运用于各种应用,从搜索引擎到智能助手再到推荐系统等。通常,机器学习和深度学习会将非结构化数据,如文本、图像、音频和视频,转化为向量嵌入的形式进行存储,并通过向量相似性搜索技术进行语义相关性搜索。基于向量的相似性搜索现今已广泛应用于各种人工智能驱动的场景,包括图像检索、视频分析、自然语言理解、推荐系统、定向广告、个性化搜索、智能客服以及欺诈检测等。在这种背景下,对向量数据的管理变得尤为重要,我们需要能够快速地存储、索引和搜索这些向量化的数据。

目前存在的向量数据库大致可分为两类。一类是专门为向量设计的专有向量数据库产品,例如 Pinecone、Weaviate、Qdrant、Chroma、Milvus 等。另一类是在通用的 SQL 或 NoSQL 数据库产品上进行扩展,其中最为人熟知的 SQL 数据库之一 Postgres 通过插件 pgvector 支持了向量索引和搜索;而包括 ClickHouse、Redis、Elasticsearch 和 Cassandra 在内的许多开源数据库最近都增加了对向量索引的原生支持。

一般来说,专有的向量数据库专门为向量检索设计,能够提供更优越的搜索性能。与之相反,支持向量搜索的通用数据库产品则依赖于原有的通用数据库,能够提供更全面的数据管理和结构化数据查询能力,但向量检索性能可能会受到一定损失。

大模型面临的“数据”局限

众所周知,在MaaS时代,数据变得异常重要,市场的火热程度在企业层面体现为大量垂直模型的推出、数据库企业融资数量的增加以及数据库使用量的急剧上升。然而,在企业实际应用中,大模型仍然面临一系列未解决的难题。通过观察,我们可以将数据局限对企业构建大模型产生的影响总结为以下三点:

首先是数据的管理和运维。随着对文本、图片、视频等多模态非结构化数据的需求增加,许多企业产生的非结构化数据量高达80%。如果选择采用预训练的方式将数据传递给模型,将会带来难以承受的高成本。一些创业公司,在模型训练和调试中遇到了与此类似的问题。在未使用向量数据库之前,公司一直采用开源方案,如以向量索引为核心。这相当于在训练时为模型准备了一个库级别或算法级别的知识库,这种方法使用简单,采用分布式系统,但随着规模的增长,分布式存储方式迅速遇到瓶颈。此外,由于缺乏成熟的管理工具,百川智能不得不将数据格式组织、数据更新频率安排、新旧数据更迭等问题额外交给工程师处理,大大增加了人员成本。

其次,尽管大模型支持的标记数量不断增加,具备了"短暂记忆"的能力,但依然无法解决"一本正经地胡说八道"的问题。这可能导致敏感内容的出现,稍有不慎就可能带来严重的影响。因此,支持模型训练的数据不仅需要数量多,质量也必须足够高。例如,在大模型与教育行业结合的情况下,虽然模型可以完成一定的推理和解题,但在实际应用中,好未来发现大模型在面对数学问题时表现仍不够出色。要解决这个问题,必须基于庞大且高质量的数据库,例如教程题库和数学错题集,尝试进行启发式内容生成。

第三点是如何确保企业数据的安全性,因为数据在空间和时间上都存在很大的限制。一方面,企业难以将具有核心竞争力的数据用于大模型训练。一些行业专业人士曾指出,许多应用型公司不愿意将微调后的模型贡献到公有版本中与他人共享,而更倾向于训练自己的大模型,然后在本地进行私有化部署。在这一过程中,企业主要难点在于如何将私有化的业务数据与大模型结合。另一方面,企业的业务数据变化速度快,且实时性强,因此私有化部署后的大模型在数据层面也难以实现秒、天级别的更新。

在企业和大模型落地之间存在的这些问题引起了学术界和工业界的关注,并提出了两种解决方案。一种是通过Fine-tuning的方式进行迭代演进,让大模型学到更多的知识。另一种是通过向量搜索的方法,将最新的私有领域知识存储在向量数据库中,需要时通过基于语义的向量检索在数据库中获取。这两种方法都可以为大模型提供更加精准的答案。然而,从成本的角度来看,业内人士指出,向量数据库的成本仅为Fine-tuning的千分之一。通过将数据向量化,向量数据库在存储和查询方面的应用可以有效解决大模型预训练成本高、缺乏"长期记忆"、知识更新不及时等问题,因此被视为加速大模型在行业场景中落地的关键突破口。

请添加图片描述

亚马逊 OpenSearch Serverless

随着大模型的盛行,曾经在冷清中度过多年的向量数据库再次成为企业和资本市场的焦点。根据公开数据显示,自从2023年4月以来,以向量数据库为代表的人工智能投资领域呈现出明显的增长趋势。多家初创企业,包括Pinecone、Chroma和Weviate等,纷纷获得了上亿美元的融资。

亚马逊云科技在云服务提供商中处于领先地位,为了帮助企业更好地应对数据局限问题,充分释放大模型的潜力,2023 年 8 月 1 日 亚马逊云科技宣布推出Amazon OpenSearch Serverless向量引擎的预览版。这一向量引擎在Amazon OpenSearch Serverless中提供了一种简单、可扩展、高性能的相似性搜索功能,使用户能够轻松构建现代化机器学习(ML)增强的搜索体验和生成式AI应用程序,而无需管理底层向量数据库基础设施。

请添加图片描述

构建于 Amazon OpenSearch Serverless 的向量引擎天然具备鲁棒性。使用向量引擎,用户不必担心后端基础设施的选型、调优和扩展问题。因为大语言模型在处理文本数据时,常常将文本转换为高维向量。这些向量数据规模庞大,传统的数据库系统难以高效存储和查询。向量数据库专为存储和查询向量数据而设计,能够提供高效的数据存储和检索功能。

传统 OpenSearch 集群只有一组执行索引和搜索操作的实例,并且索引存储与计算容量紧密结合。相比之下, OpenSearch Serverless 使用云原生架构,将索引(提取)组件与搜索(查询)组件分开,Amazon S3 作为索引的主要数据存储。

这种分离架构使您可以独立扩展搜索和索引功能,并且独立于 S3 中的索引数据。这种架构还为摄取和查询操作提供了隔离,使它们可以同时运行,而不会发生资源争用。

当您将数据写入集合时, OpenSearch Serverless 会将其分发到索引计算单元。索引计算单位将摄取传入数据,并将索引移至 S3。当您对集合数据执行搜索时, OpenSearch Serverless 会将请求路由到保存所查询数据的搜索计算单元。搜索计算单位直接从 S3 下载索引数据(如果这些数据尚未在本地缓存),运行搜索操作,然后执行聚合。

下图阐明了这种分离架构:

请添加图片描述

在大模型时代的视角中,技术创新仅是第一步。除了大模型技术的创新外,像向量数据库这样的基础设施在数据存储、检索和分析等方面的搭建同样至关重要。亚马逊云科技不仅提供直接的大模型服务,更为关键的是向企业提供了有效、实用的平台工具,就如同提供了适当的“铲子”以应对这一新时代的挑战。

结语

除了上述提到的,亚马逊云科技的向量引擎不仅在大语言模型的“大脑作用”方面发挥重要作用,而且支持相同的OpenSearch开源套件API。通过与LangChain、Amazon Bedrock和Amazon SageMaker的集成,用户能够轻松地将首选的机器学习和人工智能系统与向量引擎整合在一起。

azon SageMaker的集成,用户能够轻松地将首选的机器学习和人工智能系统与向量引擎整合在一起。

上述功能展示了该向量引擎预览版在性能“鲁棒性”方面的强大表现,以及其在大语言模型中的不可或缺作用。亚马逊云科技还在开发一些新功能,在未来几个月,将会帮助用户实现工作负载暂停与恢复,这项新功能对向量引擎十分有用,因为其中许多用例不需要持续索引数据。 在未来几年,预计亚马逊云科技的向量引擎正式版将问世,届时其在优化向量图性能和内存使用方面,包括改进缓存和合并等功能,将展现出更为强大的能力。让我们拭目以待。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解析 Python requests 库 POST 请求中的参数顺序问题

在这篇文章中,我们将探讨一个用户在使用Python的requests库进行POST请求时遇到的问题,即参数顺序的不一致。用户通过Fiddler进行网络抓包,发现请求体中的参数顺序与他设置的顺序不符。我们将深入了解POST请求的工作原理,并提供解决…

使用requests库设置no_proxy选项的方法

问题背景 在使用requests库进行HTTP请求时,如果需要使用爬虫IP服务器,可以通过设置proxies参数来实现。proxies参数是一个字典,其中包含了爬虫IP服务器的地址和端口号。然而,当前的requests库并不支持通过proxies参数来设置no_pr…

DIY私人图床:使用CFimagehost源码自建无需数据库支持的PHP图片托管服务

文章目录 1.前言2. CFImagehost网站搭建2.1 CFImagehost下载和安装2.2 CFImagehost网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置) 4.公网访问测…

c题目9:证明1000以内的偶数可以写成两个质数之和

每日小语 心若没有栖息的地方,在哪都是流浪。——三毛 自己敲写 这里需要用到一个联系:oushuprime1prime2 这个问题在于将这个联系变换,用于让我们判断是否是质数,转换后可以方便清晰的理解,并且减掉一个变量。 这…

3.ubuntu20.04环境的ros搭建

ros搭建比较简单,主要步骤如下: 1.配置ros软件源: sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list 2.配置密钥 sudo apt-key adv --keyser…

MATLAB 模型预测控制(MPC)控制入门 —— 设计并仿真 MPC 控制器

系列文章目录 文章目录 系列文章目录前言一、使用 MPC Designer 设计控制器1.1 CSTR 模型1.2 导入被控对象并定义 MPC 结构1.3 定义输入和输出通道属性1.4 配置仿真场景1.5 配置控制器水平线1.6 定义输入约束条件1.7 指定控制器调整权重1.8 消除输出超调1.9 测试控制器抗干扰能…

node 第十九天 使用node插件node-jsonwebtoken实现身份令牌jwt认证

实现效果如下 前后端分离token登录身份验证效果演示 node-jsonwebtoken 基于node实现的jwt方案, jwt也就是jsonwebtoken, 是一个web规范可以去了解一下~ 一个标准的jwt由三部分组成 第一部分:头部 第二部分:载荷,比如可以填入加密…

探索Scrapy中间件:自定义Selenium中间件实例解析

简介 Scrapy是一个强大的Python爬虫框架,可用于从网站上抓取数据。本教程将指导你创建自己的Scrapy爬虫。其中,中间件是其重要特性之一,允许开发者在爬取过程中拦截和处理请求与响应,实现个性化的爬虫行为。 本篇博客将深入探讨…

Pytorch torch.dot、torch.mv、torch.mm、torch.norm的用法详解

torch.dot的用法: 使用numpy求点积,对于二维的且一个二维的维数为1 torch.mv的用法: torch.mm的用法 torch.norm 名词解释:L2范数也就是向量的模,L1范数就是各个元素的绝对值之和例如:

Linux环境下C++ 接入OpenSSL

接上一篇:Windows环境下C 安装OpenSSL库 源码编译及使用(VS2019)_vs2019安装openssl_肥宝Fable的博客-CSDN博客 解决完本地windows环境,想赶紧在外网环境看看是否也正常。毕竟现在只是HelloWorld级别的,等东西多了&am…

Windows Server2012 R2修复SSL/TLS漏洞(CVE-2016-2183)

漏洞描述 CVE-2016-2183 是一个TLS加密套件缺陷,存在于OpenSSL库中。该缺陷在于使用了弱随机数生成器,攻击者可以利用此缺陷预测随机数的值,从而成功绕过SSL/TLS连接的加密措施,实现中间人攻击。这个漏洞影响了OpenSSL 1.0.2版本…

Android——Gradle插件项目根目录settings.gradle和build.gradle

一、settings.gradle结构分析 项目根目录下的settings.gradle配置文件示例: pluginManagement {/*** The pluginManagement.repositories block configures the* repositories Gradle uses to search or download the Gradle plugins and* their transitive depen…

无需公网IP,使用MCSM面板一键搭建我的世界Minecraft服务器联机游戏

文章目录 前言1.Mcsmanager安装2.创建Minecraft服务器3.本地测试联机4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射内网端口 5.远程联机测试6. 配置固定远程联机端口地址6.1 保留一个固定TCP地址6.2 配置固定TCP地址 7. 使用固定公网地址远程联机 前言 MCSManager是一个…

商业化三年,OceanBase在忙什么?

文|刘雨琦 2020年,国产数据库厂商OceanBase(以下简称OB)商业化的第一年,只有18个客户。 如何打开局面,让这个从蚂蚁场景中走出来的数据库活下去,并进入到更多的场景里,发挥更大的价…

对分过层后的类进行可视化

变量是&#xff1a; std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> clusters_k_upper std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> clusters_k_lower std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> clusters_un…

无需添加udid,ios企业证书的自助生成方法

我们开发uniapp的app的时候&#xff0c;需要苹果证书去打包。 假如申请的是个人或company类型的苹果开发者账号&#xff0c;必须上架才能安装&#xff0c;异常的麻烦&#xff0c;但是有一些app&#xff0c;比如企业内部使用的app&#xff0c;是不需要上架苹果应用市场的。 假…

C语言真的需要头文件吗?

C语言真的需要头文件吗&#xff1f; 头文件的作用是什么&#xff1f; 如果你直接定义了函数&#xff0c;当然不需要头文件。 因为调用函数&#xff0c;你得知道函数的参数有多少&#xff0c;都什么类型的&#xff0c;返回值是什么&#xff0c;这样才能调用。最近很多小伙伴找…

免费开源的区域屏幕录制(gif转换)工具(支持编辑功能)

软件优点&#xff1a;区域截屏&#xff0c;直接转换为gif即刻分享&#xff0c;免费开源&#xff0c;支持编辑功能 它可以让你轻松地录制屏幕&#xff0c;摄像头或画板的动画&#xff0c;并编辑、保存为 GIF&#xff0c;视频或其他格式。 下载并安装 ScreenToGif 首先&#xf…

HTTPS流量抓包分析中出现无法加载key

HTTPS流量抓包分析(TLSv1.2)&#xff0c;这篇文章分析的比较透彻&#xff0c;就不班门弄斧了 https://zhuanlan.zhihu.com/p/635420027 写个小问题&#xff1a;RSA密钥对话框加载rsa key文件的时候注意不要在中文目录下&#xff0c;否则会提示&#xff1a;“Enter the passwor…

系列一、GC概述 作用域

一、概述 GC是垃圾回收的意思。次数上频繁收集Young区&#xff0c;少收集Old区&#xff0c;基本不动元空间。 二、作用域 GC的作用域是方法区和堆&#xff0c;主要针对于堆。