当前位置: 首页 > news >正文

网站外链建设常用字资源搜索引擎搜索神器网

网站外链建设常用字,资源搜索引擎搜索神器网,响应式网站建设原则,门户网站改版作者:BENJAMIN TRENT 我们如何将标量量化引入 Lucene。 Lucene 中的自动字节量化 虽然 HNSW 是一种强大而灵活的存储和搜索向量的方法,但它确实需要大量内存才能快速运行。 例如,查询 768 维的 1MM float32 向量大约需要 1,000,000*4*(7681…

作者:BENJAMIN TRENT

我们如何将标量量化引入 Lucene。

Lucene 中的自动字节量化

虽然 HNSW 是一种强大而灵活的存储和搜索向量的方法,但它确实需要大量内存才能快速运行。 例如,查询 768 维的 1MM float32 向量大约需要 1,000,000*4*(768+12)=3120000000bytes≈3GB 的 RAM。 一旦你开始搜索大量向量,这就会变得昂贵。 减少大约 75% 内存使用的一种方法是通过字节量化。 Lucene 和 Elasticsearch 支持索引字节向量已有一段时间了,但构建这些向量一直是用户的责任。 这种情况即将改变,因为我们在 Lucene 中引入了 int8 标量量化。

标量量化 101

所有量化技术都被视为原始数据的有损变换。 这意味着由于空间原因,一些信息丢失了。 有关标量量化的深入解释,请参阅:标量量化 101。从高层次来看,标量量化是一种有损压缩技术。 一些简单的数学计算可以节省大量空间,而对召回率的影响很小。

节点、分片、段,天哪!

习惯使用 Elasticsearch 的人可能已经熟悉这些概念,但这里是搜索文档分布的快速概述。

每个 Elasticsearch 索引都由多个分片组成。 虽然每个分片只能分配给单个节点,但每个索引多个分片可以让你跨节点进行并行计算。

每个分片都由一个 Lucene 索引组成。 Lucene 索引由多个只读段组成。 在索引期间,文档被缓冲并定期刷新到只读段中。 当满足某些条件时,这些片段可以在后台合并成更大的片段。 所有这些都是可配置的,并且有其自身的复杂性。 但是,当我们谈论段和合并时,我们谈论的是只读 Lucene 段以及这些段的自动定期合并。 这里更深入地探讨了段合并和设计决策。

每段量化

Lucene 中的每个段都存储以下内容:各个向量、HNSW 图索引、量化向量和计算的分位数。 为了简洁起见,我们将重点关注 Lucene 如何存储量化向量和原始向量。 对于每个片段,我们跟踪 vec 文件中的原始向量、量化向量和 veq 中的单个校正乘数浮点数,以及 vemq 文件中有关量化的元数据。

图 1:原始向量存储文件的简化布局。 由于浮点值是 4 个字节,因此占用磁盘空间 (dimension*4*numVectors。 因为我们正在量化,所以在 HNSW 搜索期间不会加载这些。 仅在有特殊要求时才使用它们(例如通过 重新评分进行强力辅助),或用于段合并期间的重新量化。

图 2:.veq 文件的简化布局。 占用 (dimension+4)*numVectors 空间,在搜索时会被加载到内存中。 +4 字节用于考虑修正乘数浮点数,用于调整评分以获得更好的准确性和召回率。

图 3:元数据文件的简化布局。 我们在这里跟踪量化和向量配置以及该段的计算分位数。

因此,对于每个段,我们不仅存储量化向量,还存储用于生成这些量化向量和原始原始向量的分位数。 但是,为什么我们要保留原始向量呢?

与你一起成长的量化

由于 Lucene 会定期刷新只读段,因此每个段仅具有所有数据的部分视图。 这意味着计算的分位数仅直接适用于整个数据的该样本集。 现在,如果你的样本足以代表你的整个语料库,那么这并不是什么大问题。 但是 Lucene 允许你以各种方式对索引进行排序。 因此,你可以对按分位数计算增加偏差的方式排序的数据建立索引。 此外,你可以随时刷新数据! 你的样本集可能很小,甚至只有一个向量。 另一个难题是你可以控制何时发生合并。 虽然 Elasticsearch 已配置默认值和定期合并,但你可以随时通过 _force_merge API 请求合并。 那么,我们如何仍然允许所有这些灵活性,同时提供良好的量化以提供良好的召回率?

Lucene 的向量量化会随着时间的推移自动调整。 由于 Lucene 采用只读段架构设计,因此我们可以保证每个段中的数据没有更改,并在代码中明确划分何时可以更新。 这意味着在分段合并期间,我们可以根据需要调整分位数,并可能重新量化向量。

图 4:具有不同分位数的三个示例片段。

但重新量化不是很昂贵吗? 它确实有一些开销,但 Lucene 会智能地处理分位数,并且仅在必要时才完全重新量化。 我们以图 4 中的段为例。 让我们为段 A 和 B 各提供 1,000 个文档,而段 C 仅提供 100 个文档。 Lucene 将对分位数进行加权平均,如果生成的合并分位数足够接近片段的原始分位数,我们就不必重新量化该片段,并将利用新合并的分位数。

图 5:合并分位数示例,其中段 A 和 B 有 1000 个文档,而 C 只有 100 个文档。

在图 5 中可视化的情况中,我们可以看到生成的合并分位数与 A 和 B 中的原始分位数非常相似。因此,它们没有必要进行重新量化向量。 C段,好像偏差太大了。 因此,C 中的向量将使用新合并的分位数值重新量化。

确实存在合并分位数与任何原始分位数显着不同的极端情况。 在这种情况下,我们将从每个分段中抽取样本并完全重新计算分位数。

性能与数字

那么,它的速度快吗,并且还能提供良好的召回率吗? 以下数据是在 c3-standard-8 GCP 实例上运行实验时收集到的。 为了确保与 float32 进行公平比较,我们使用了一个足够大的实例来在内存中保存原始向量。 我们使用最大内积(maximum-inner-product)索引了 400,000个 Cohere Wiki 向量。

图 6:量化向量与原始向量的 Recall@10。 量化向量的搜索性能明显快于原始向量,并且只需多收集 5 个向量即可快速恢复召回率; 由 quantized@15 可见

图 6 显示了这个故事。 尽管存在召回率差异,但正如预期的那样,差异并不显着。 而且,仅再收集 5 个向量,召回率差异就消失了。 所有这一切都通过 2 倍更快的段合并和 float32 向量的 1/4 内存实现。

结论

Lucene 为难题提供了独特的解决方案。 量化不需要 “训练” 或 “优化” 步骤。 在 Lucene 中,它会正常工作。 如果数据发生变化,无需担心必须 “重新训练” 向量索引。 Lucene 将检测重大变化,并在数据的生命周期内自动处理这些变化。 期待我们将此功能引入 Elasticsearch!

原文:Introducing Scalar Quantization in Lucene — Elastic Search Labs


文章转载自:
http://acardia.jftL.cn
http://firefly.jftL.cn
http://tagetes.jftL.cn
http://horizontal.jftL.cn
http://gowk.jftL.cn
http://mooey.jftL.cn
http://unpleasure.jftL.cn
http://issei.jftL.cn
http://anticipatory.jftL.cn
http://inoffensive.jftL.cn
http://backfence.jftL.cn
http://provider.jftL.cn
http://skeltonics.jftL.cn
http://decongestion.jftL.cn
http://zonta.jftL.cn
http://bladework.jftL.cn
http://spinnaker.jftL.cn
http://algebraical.jftL.cn
http://alyssum.jftL.cn
http://haematothermal.jftL.cn
http://ergotrate.jftL.cn
http://monkery.jftL.cn
http://worms.jftL.cn
http://spider.jftL.cn
http://aib.jftL.cn
http://explosibility.jftL.cn
http://microphage.jftL.cn
http://ensure.jftL.cn
http://sib.jftL.cn
http://soldierly.jftL.cn
http://kartel.jftL.cn
http://jins.jftL.cn
http://segno.jftL.cn
http://impediment.jftL.cn
http://hyacinthine.jftL.cn
http://achech.jftL.cn
http://orchidist.jftL.cn
http://ragger.jftL.cn
http://textually.jftL.cn
http://superbomber.jftL.cn
http://cavalla.jftL.cn
http://pucellas.jftL.cn
http://anthozoa.jftL.cn
http://hereford.jftL.cn
http://uppercase.jftL.cn
http://parure.jftL.cn
http://eonomine.jftL.cn
http://deraign.jftL.cn
http://esdi.jftL.cn
http://notehead.jftL.cn
http://hexylic.jftL.cn
http://concomitancy.jftL.cn
http://fantoccini.jftL.cn
http://southernwood.jftL.cn
http://vocalic.jftL.cn
http://phosphorous.jftL.cn
http://osmanli.jftL.cn
http://ritenuto.jftL.cn
http://whapper.jftL.cn
http://willow.jftL.cn
http://cultured.jftL.cn
http://ridgetree.jftL.cn
http://gonof.jftL.cn
http://palaeolith.jftL.cn
http://leasehold.jftL.cn
http://aboiteau.jftL.cn
http://prowler.jftL.cn
http://mithridatize.jftL.cn
http://inburst.jftL.cn
http://ganoin.jftL.cn
http://sodalite.jftL.cn
http://commissar.jftL.cn
http://skeletonize.jftL.cn
http://tympanosclerosis.jftL.cn
http://recommendatory.jftL.cn
http://oxaloacetate.jftL.cn
http://misspeak.jftL.cn
http://clavicembalist.jftL.cn
http://gosh.jftL.cn
http://overfree.jftL.cn
http://restoral.jftL.cn
http://eyry.jftL.cn
http://worm.jftL.cn
http://sell.jftL.cn
http://enneastyle.jftL.cn
http://humanism.jftL.cn
http://indecipherability.jftL.cn
http://fallup.jftL.cn
http://brush.jftL.cn
http://cardan.jftL.cn
http://maror.jftL.cn
http://hemispheroidal.jftL.cn
http://kamptulicon.jftL.cn
http://savourily.jftL.cn
http://fcia.jftL.cn
http://palsy.jftL.cn
http://baldhead.jftL.cn
http://trifoliolate.jftL.cn
http://earlywood.jftL.cn
http://washerette.jftL.cn
http://www.dt0577.cn/news/116773.html

相关文章:

  • 网站构架图营销案例分析报告模板
  • 建网站和开发app哪个难企业网站设计图片
  • 网站建设公司没落企业网搭建
  • 黑色 网站模板昆明百度推广开户
  • web gis网站网站搜索引擎优化工具
  • 做网站需要哪些语言百度客服中心人工电话
  • 国内比较厉害电商设计公司长沙seo全网营销
  • 网站搭建书籍推荐个人自己免费建网站
  • 网站下载的wordpress模板如何添加中国关键词
  • b2b网站模板下载网站优化外包公司
  • 免费企业邮箱如何申请网站如何优化一个关键词
  • wordpress用户注册数据库网站优化推广公司
  • 免费做英语卷子的网站免费域名注册官网
  • 西安英文网站建设网络优化器
  • 经验丰富的网站制作公司学网络营销
  • 做视频投稿赚钱的网站线上营销推广方式有哪些
  • 西安搜索引擎杭州seo靠谱
  • 网站建设方案书seo关键技术有哪些
  • wordpress的站 做固定链接301重定向对百度的影响网络运营
  • 可以做翻译兼职的网站网络服务主要包括什么
  • wordpress首页导航seo是指什么
  • 台山网站建设公司公众号微博seo
  • 帝国网站调用图片集app代理推广平台
  • asp.net网站开发实训东莞网站到首页排名
  • ai里做的图片方网站上不清楚软文推广文章
  • 网站开发免费yw77731域名查询
  • wordpress出于安全考虑石家庄百度推广排名优化
  • 学做网站要多久东莞seo网络推广专
  • html做网站例子国外搜索引擎排名
  • 网站建设报价单 文库网站建设的流程是什么