Azure AI Search 中的二进制量化:优化存储和加快搜索速度

随着组织继续利用生成式 AI 的强大功能来构建检索增强生成 (RAG) 应用程序和代理,对高效、高性能和可扩展解决方案的需求从未如此强烈。

今天,我们很高兴推出二进制量化,这项新功能可将向量大小减少高达 96%,同时将搜索延迟减少高达 40%。

参考链接:Azure AI申请试用

 

什么是二进制量化?

二进制量化 (BQ) 是一种通过将每个维度表示为单个位来压缩高维向量的技术。此方法可大幅减少向量索引的内存占用,并以降低召回率为代价来加速向量比较操作。召回率的损失可以通过两种称为过采样和重新排序的技术来弥补,这为您提供了选择在应用程序中优先考虑哪些因素的工具:召回率、速度或成本。

 

为什么我应该使用二进制量化?

二进制量化最适用于想要以低成本存储大量向量的客户。 Azure AI Search 将向量索引保存在内存中,以提供最佳的搜索性能。 二进制量化 (BQ) 允许减小内存中向量索引的大小,从而减少适合数据所需的Azure AI Search分区数量,从而降低成本。

 

二进制量化通过将 32 位浮点数转换为 1 位值来减少内存中向量索引的大小,最多可将向量索引大小减少 28 倍(由于索引数据结构引入的开销,略低于理论上的 32 倍)。下表显示了二进制量化对向量索引大小和存储使用的影响。

 

表 1.1:向量索引存储基准

压缩配置文档数向量索引大小 (GB)总存储大小 (GB)% 矢量索引节省存储节省百分比
未压缩1百万5.7724.77
新加坡1百万1.4820.4874%17%
苯并噻嗪1百万0.23519.2396%22%

表 1.1 比较了三种不同向量压缩配置的存储指标:未压缩、标量量化 (SQ) 和二进制量化 (BQ)。数据显示二进制量化显著提高了存储和性能,向量索引大小节省高达 96%,总体存储节省高达 22%。MTEB/dbpedia 采用默认向量搜索设置和 OpenAI text-embeddings-ada-002 @1536 维度。

 

提高性能 

二进制量化 (BQ) 可提高性能,与未压缩索引相比,查询延迟可减少 10-40%。改进效果将根据过采样率、数据集大小、向量维数和服务配置而有所不同。BQ 速度快有几个原因,例如汉明距离比余弦相似度计算速度更快,而打包的位向量更小,从而提高了局部性。这使其成为速度至关重要的场合的绝佳选择,并且允许应用适度的过采样来平衡速度和相关性。

 

品质保持

使用二进制量化时,存储使用量的减少和搜索性能的提高是以召回率为代价的。但是,可以使用过采样和重新排序等技术有效地管理这种权衡。过采样会检索出更大的潜在文档集,以抵消量化造成的分辨率损失。重新排序将使用全分辨率向量重新计算相似度得分。下表显示了 OpenAI 和Cohere嵌入的MTEB 数据集子集 ,其中二进制量化均值为 NDCG@10  ,有无重新排序/过采样。

 

表 1.2:二进制量化对 MTEB 子集平均 NDCG@10 的影响

模型

无重新排序 (Δ / %)

重新排序 2x 过采样 (Δ / %)

Cohere Embed V3(1024天)

-4.883(-9.5%)

-0.393(-0.76%)

OpenAI 文本嵌入-3-小 (1536d)

-2.312(-4.55%)

+0.069(+0.14%)

OpenAI 文本嵌入-3-large (3072d)

-1.024(-1.86%)

+0.006(+0.01%)

表 1.2 比较了来自 MTEB 数据集子集的不同嵌入模型在使用未压缩索引的二进制量化时平均 NDCG@10 的相对点差异。

 

关键要点:   

  • 与无重新排序相比,BQ+重新排序可实现更高的检索质量
  • 在维度较低的模型中,重新排序的影响更为明显,而对于维度较高的模型,其影响较小,有时可以忽略不计
  • 强烈考虑使用全精度向量进行重新排序,以尽量减少甚至消除量化造成的召回损失

 

何时使用二进制量化

对于具有高维向量和大型数据集的应用程序,建议使用二进制量化,因为存储效率和快速搜索性能至关重要。它对于尺寸大于 1024 的嵌入特别有效。但是,对于较小的尺寸,我们建议测试 BQ 的质量或考虑使用 SQ 作为替代方案。此外,当嵌入以零为中心时,BQ 的表现非常出色,就像 OpenAI 和 Cohere 等流行的嵌入模型中一样。

 

BQ + 重新排序/过采样的工作原理是搜索内存中的压缩向量索引并使用存储在磁盘上的全精度向量进行重新排序,从而让您在保持强大的搜索质量的同时大幅降低成本。这种方法通过利用内存和 SSD 来实现在内存受限的设置下高效运行的目标,从而为大型数据集提供高性能和可扩展性。

 

BQ 是我们过去几个月来在性价比方面做出的改进,可节省存储空间并提高性能。通过采用此功能,组织可以实现更快的搜索结果和更低的运营成本,最终带来更好的结果和用户体验。

 

更多功能现已全面开放

我们很高兴地告诉大家,Azure AI Search 现已正式推出多项向量搜索增强功能。这些更新让用户可以更好地控制 RAG 解决方案中的检索器,并优化 LLM 性能。以下是主要亮点:

  • Azure AI Search 的 Azure OpenAI集成矢量化现已正式发布!
  • 支持二进制向量类型: Azure AI Search 支持包括二进制向量在内的窄向量类型。此功能可以以较低的成本存储和处理更大的向量数据集,同时保持快速的搜索功能。
  • 向量加权:此功能允许用户在混合搜索场景中为向量查询分配相对重要性,而不是术语查询。它允许用户优先考虑向量相似性而不是关键字相似性,从而更好地控制最终结果集。
  • 文档增强:使用针对矢量和混合搜索查询量身定制的评分配置文件增强您的搜索结果。无论您优先考虑新鲜度、地理位置还是特定关键字,我们的新功能都可以进行有针对性的文档增强,确保为您提供更相关的结果。

 

Azure AI Search 入门 

要开始使用二进制量化,请访问我们的官方文档: 减小矢量大小 - Azure AI 搜索 | Microsoft Learn

  • 了解有关Azure AI Search和所有最新功能的更多信息。     
  • 开始在Azure 门户、Azure CLI、管理 REST API、ARM 模板或Bicep 文件中创建搜索服务。       
  • 了解 Azure AI Search 中的检索增强生成。 
  • 探索我们的Python、  .NET、  Java和 JavaScript预览客户端库 ,提供多种集成方法来满足不同的用户需求。  
  • 探索如何使用Azure AI Studio创建端到端 RAG 应用程序 。 

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

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

相关文章

Echarts 绘制地图省、市、区、县(以及点击显示下级,支持坐标定位)

** Echarts 绘制地图省、市、区、县&#xff08;以及点击显示下级&#xff0c;支持坐标定位&#xff09; ** 上代码 <template><div class"mapCont"><div id"mapSelf" contextmenu.prevent"disableContextMenu"></div&g…

Git学习尚硅谷(002 git常用命令)

尚硅谷Git入门到精通全套教程&#xff08;涵盖GitHub\Gitee码云\GitLab&#xff09; 总时长 4:52:00 共45P 此文章包含第8p-第p15的内容 文章目录 git常用命令设置用户签名初始化本地库查看本地库状态添加暂存区提交本地库日志查看修改文件版本穿梭 git常用命令 设置用户签名…

数据结构:(LeetCode 965)相同的树

给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,2,3] 输出&#xff1a;true示例 2&…

开发手札:关于项目管理中开发工作安排的问题

最近工作越来越偏向管理方向了&#xff08;兼吗喽&#xff09;&#xff0c;所以仔细思考了一下给开发工作安排的问题。 结合自己开发过程中的体会&#xff0c;我觉得在构建完成用户需求文档的同时。 再站在开发的角度&#xff0c;构建一份详细的模块构架设计图就更…

STM32 HAL CAN (TJA1050CAN模块) 通讯(一)理论

1、简介 CAN具备多个设备交互的能力,但是网上大多是两个单片机进行交互,或者单片机通过CAN收发器与上位机进行交互测试,本次通过STM32cubeMX完成CAN通讯配置,并通过多个单片机进行数据交互测试。 2、CAN简介 CAN是一种串行通讯协议,主要有低速、高速CAN两种。 低速CAN…

亚马逊测评深度解析:如何安全高效提升产品销量和好评

在亚马逊这一全球电商巨擘的舞台上&#xff0c;产品测评不仅是消费者决策的重要依据&#xff0c;更是商家提升产品曝光、促进销售转化的核心驱动力。然而&#xff0c;随着平台监管力度的加强和市场竞争的日益激烈&#xff0c;如何在遵守规则的前提下&#xff0c;安全有效地进行…

相亲交友小程序开发功能分析

相亲交友小程序的开发功能分析可以从用户端和管理后台两个主要方面来进行。 用户端功能 注册与登录&#xff1a; 用户可以通过手机号、微信号或其他第三方平台进行注册登录&#xff0c;简化注册流程。 实名认证&#xff1a; 引入实名认证机制&#xff0c;确保用户信息的真实…

上传本地项目到git上面

文章目录 1.服务器创建一个空项目1.1.创建项目1.2.界面可能不一样 2.上传新项目到git上面2.1.将远程项目拉取到本地进行上传1. 将项目克隆到本地&#xff1a;&#xff08;为了建立本地仓库和远程仓库关系方便推送&#xff09;2. 建立本地仓库和远程仓库关系并推送&#xff08;如…

基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 卷积神经网络&#xff08;CNN&#xff09; 4.2 长短期记忆网络&#xff08;LSTM&#xff09; 4.3 BO-CNN-LSTM 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) B…

解锁MySQL数据库基础命令:从入门到精通的实战指南

作者简介&#xff1a;我是团团儿&#xff0c;是一名专注于云计算领域的专业创作者&#xff0c;感谢大家的关注 座右铭&#xff1a; 云端筑梦&#xff0c;数据为翼&#xff0c;探索无限可能&#xff0c;引领云计算新纪元 个人主页&#xff1a;团儿.-CSDN博客 目录 前言&#…

亿发进销存一体化解决方案:多终端无缝协同,赋能企业全业务-上

亿发软件凭借对产品、市场、业务的深入理解&#xff0c;在进销存基础上进行了延伸&#xff0c;推出多终端、一体化的“进销存管理系统”多元产品矩阵。在技术上实现电脑端、手机端、PDA端、零售端、商家版以及小程序商城的多终端无缝对接。各个端口间的数据可以互通互联&#x…

未来十年美业发展方向:健康与美容的结合|美业SaaS系统收银系统源码

随着人们对健康和美容的重视不断增加&#xff0c;美业正在经历一场革命性的变革。未来&#xff0c;美业的发展将更加注重健康与美容的结合&#xff0c;这一趋势将在多个领域产生深远影响。 下面博弈美业为大家阐释「为什么未来美业的发展方向是健康和美容的结合」&#xff1a;…

STM32(F103ZET6)第十九课:FreeRtos的移植和使用

目录 需求一、FreeRtos简介二、移植FreeRtos1.复制代码2.内存空间分配和内核相关接口3.FreeRtosConfig4.添加到工程中三、任务块操作1.任务四种状态2.创建任务过程 需求 1.将FreeRtos&#xff08;嵌入式实时操作系统&#xff09;移植到STM32中。 2.在该系统中实现任务的创建、…

Elasticsearch集群工作原理

简介 ELasticsearch作为一个分布式搜索引擎&#xff0c;能够出色地支持集群模式、动态水平扩容、故障转移等分布式系统特性&#xff0c;这是其作为全文搜索引擎首选的重要原因。 本文从零开始描述集群的配置和扩容过程&#xff0c;让你对Elasticsearch集群的工作原理有初步的…

mmdetection学习——模型对比实验

1. 安装配置mmdetection环境&#xff0c;直接看官网 开始你的第一步 — MMDetection 3.0.0 文档 最好用conda新建环境管理&#xff0c;防止包冲突 git clone mmdetection源码到本地 2. 开始实验 2.1 准备数据集 需要使用COCO数据集格式 2.2 配置训练文件 在configs文件夹…

【PyTorch][chapter 27][李宏毅深度学习][transformer-1]

前言&#xff1a; transformer 是深度学习四大基础架构之一,最早Google 发表在NIPS&#xff08;NeurIPS 全称神经信息处理系统大会), 是一种seq2seq 的模型.采用的Encoder-Decoder 结构,应用比较广泛。 比如文本生成&#xff0c;语音转换&#xff0c;视频生成. 相对RNN, LSTM …

基于PLC的粮食自动烘干机控制系统设计

基于PLC的粮食自动烘干机控制系统设计是一个综合性的工程任务,旨在通过PLC(可编程逻辑控制器)实现对粮食烘干过程的自动化控制,以提高烘干效率、保证烘干质量并降低能耗。以下是一个基于PLC的粮食自动烘干机控制系统设计的基本框架和关键要点: 前言 在我国,作为农业大国…

深度学习(八)-图像色彩操作

图像色彩调整 亮度调整 对HSV空间的V分量进行处理可以实现对图像亮度的增强。 直接将彩色图像灰度化&#xff0c;也可以得到代表图像亮度的灰度图进行图像处理&#xff0c;计算量比HSV颜色空间变化低。但在HSV空间中进行处理可以得到增强后的彩色图像。 opencv读取图片是BGR…

mac的使用

mac使用python的问题 对于python的虚拟环境&#xff0c;其实是基于已经安装到本地的python来安装不同的包。&#xff08;之前我的mac上只安装了python3.9.6 &#xff0c;安装的位置为/usr/bin/python3&#xff09;然后我在vscode里怎么找都找不到如何弄一个python3.7.6 的版本…

论文阅读笔记:RepViT: Revisiting Mobile CNN From Vit Perspective

文章目录 RepViT: Revisiting Mobile CNN From Vit Perspective动机现状问题 贡献实现Block设置独立的token融合器和通道融合器减少膨胀并增加宽度 宏观设计stem的早期卷积简单分类器整体阶段比率 微观设计内核大小选择Squeeze-and-excitation层放置网络架构 实验ImageNet-1K上…