成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ByteHouse高性能向量檢索實踐——“以圖搜圖”

人工智能
作為火山引擎旗下的OLAP引擎,ByteHouse推出了高性能向量檢索能力。本篇聚焦ByteHouse對高性能向量檢索能力的建設思路,并以“以圖搜圖”為例,詳解OLAP的向量檢索能力如何在具體場景中落地。

隨著 LLM 技術的發展,向量檢索與向量數據庫也受到業界持續關注,它們能夠為LLM提供外置記憶單元,通過提供與問題及歷史答案相關聯的內容,協助LLM返回更準確的答案。不僅LLM,向量檢索在OLAP引擎中也早已得到應用,旨在提升非結構化數據的分析和檢索能力。

作為火山引擎旗下的OLAP引擎,ByteHouse推出了高性能向量檢索能力。本篇聚焦ByteHouse對高性能向量檢索能力的建設思路,并以“以圖搜圖”為例,詳解OLAP的向量檢索能力如何在具體場景中落地。

ByteHouse向量檢索能力

向量檢索,目標是查找與給定向量最相似的k個結果,目前廣泛應用于以圖搜圖、推薦系統等場景。在實際使用場景中,向量檢索針對的數據集大小通常會在 million 甚至 billion 級別,而查詢延遲通常會要求在數毫秒到百毫秒內返回,通常會使用具有特殊結構的向量檢索索引方式。

  • 既有局限分析

目前比較流行的向量索引算法有 HNSW、Faiss IVF 等,這類基于向量索引的向量檢索負載,通常具有構建時間長、資源消耗大等特點,且需要考慮如何高效管理索引構建任務所需資源;如何支持內存計算;如何與過濾語句結合以及資源消耗等一系列問題。

ByteHouse源自ClickHouse,但后者存在向量索引重復讀取,相似度計算冗余等問題,對于延遲要求低、并發需求高的向量檢索場景可用性較弱。

  • 優化整體架構

基于上述分析,ByteHouse在向量檢索能力上進行了全面創新,團隊基于 vector-centric 的思路,重新構建了高效的向量檢索執行鏈路,結合索引緩存、存儲層過濾等機制,使ByteHouse性能實現進一步突破。

圖片

ByteHouse 向量檢索 功能整體架構

下文將具體以“以圖搜圖”這一典型的向量搜索應用場景為例,詳細解讀ByteHouse如何實現高性能檢索能力的落地與優化。

向量檢索能力落地以圖搜圖場景

在輿情監測領域,某頭部公司將ByteHouse向量檢索能力應用在“以圖搜圖”場景中。

為了更好提供輿情監測服務,該公司在全網不斷擴大監測范圍,整體數據規模達到12億,期望在 64 核、256GB內存的資源下,達到秒級以下的搜索速度。

對比行業其他產品單query latency在幾秒或十秒級別的情況,ByteHouse在優化前可達到700-800 毫秒,經過一系列優化后,最終可在約 150-200 毫秒的時間內,能夠從大規模數據中查找出近似的 1000 張圖片及其相似度評分。

那么,ByteHouse是如何實現上述性能的?具體而言,ByteHouse主要在向量檢索計算下推、過濾操作優化、數據冷讀問題優化幾個方面采取了優化措施。此外,由于資源有限,還進行了索引構建資源限制。

優化一:計算下推優化

在典型的OLAP場景中,數據進入后,會生成多個Data Part,按批聚合。按照算子執行,對每個Part進行 Vector Search 和 Attributes Read,然后對每個Part做TopK。這在投影列較多的情況下,產生很大的資源消耗。

對此,ByteHouse團隊進行了如下優化。

  • 首先,對每個 Part 進行 Vector Search,相當于將一個算子拆分成三個算子,先做Vector Search。
  • 然后,對 Vector Search 的結果進行全局排序,此時不讀取標量信息列。
  • 最后,在全局排序的結果上,執行Read Task,得到最終結果。

圖片

計算下推優化

通常而言,數據是分批寫入的,每一批都會有一個Part,Part一般大于 100。那么,在優化后的實際場景測試中,延遲基本可以做到兩倍以上的速度提升。

優化二:過濾操作優化

在優化標量與向量混合查詢場景上,主要圍繞以下三點進行優化。

  • 基于標量主鍵范圍查找

標量其實是一個排序鍵,類似于 MySQL 中的主鍵。通常,在進行搜索時,會先進行標量過濾,從而獲取符合查詢條件的數據。如果按一般方法計算,就會有很大的消耗。

由于標量本身是有序的,所以可簡單理解為:只需讀取首尾部分數據,進行過濾,構建符合條件的row id bitmap。比如在計算timestamp大于某個值的情況時,只需計算開始和結束位置所對應的行,因為中間結果都是符合的。

  • 加速標量列剪枝

數據剪枝,主要是根據實際情況對物理上的鍵排列分區,包括對主鍵和輔助索引的分區,以此來加速查詢。

  • 存儲層過濾

在存儲層面進行優化,將過濾條件下推到存儲中,盡量減少 IO 操作。對類似OLAP和OLTP的數據庫而言,查詢動作的底層會有很高的計算開銷。因此ByteHouse針對典型場景,會在底層進行更多過濾,以此減少 CPU 和內存資源的使用。此外,對于熱數據行做了Cache加速。

優化三:向量數據冷讀問題優化

  • 使用索引需要index結構全載入內存

向量索引方面,ByteHouse接入了 hnswlib、faiss 兩個比較流行的檢索算法庫,支持HNSW、IVF_PQ、IVF_PQ_FS等多種常用索引。此外,考慮到向量檢索需要在內存中執行,還加入了向量索引緩存機制,確保查詢涉及的Data Part的索引能夠常駐內存,以實現低延遲的向量檢索。

在向量檢索需要較高QPS的情況下,冷讀可能就會成為性能瓶頸。當前支持的向量索引需要加載到內存中以后,才能進行高性能的向量檢索計算,該層面的優化方法主要是將不同資源index結構載入內存。

  • Cache Preload & Auto GC

在構建到內存的過程中,可能存在一些問題,例如:數據庫重啟,或導入新數據時,這些數據仍然是冷的。在OLAP存儲時,使用的是 LSM 存儲格式,進行數據Merge和自動 GC 流程。在數據庫運行過程中的服務啟動、數據寫入等場景中,ByteHouse 可以自動將新的索引加載到內存中,并確保Cache中的過期數據能夠自動回收。

優化四:索引構建資源限制

  • 向量數據庫workload特征

向量檢索方面存在普遍關心的資源問題,使用向量檢索會消耗較多的 CPU 和內存資源。為了避免資源開銷過大,ByteHouse團隊在資源使用層面進行了限制。

  • 并發限制

在資源不足的情況下,限制 index 構建的線程級別以及后臺的merge任務。不過,對資源進行限制,也會在保證資源使用的同時解決導致檢索速度變慢的問題。

  • 內存優化

為了減少資源使用開銷,ByteHouse團隊主要采取了以下措施。

  • 使用 PQ、SQ 壓縮,將向量的存儲空間降低到原來的 1/4 或 1/3。例如,在精度要求不太高的情況下,將 float32 類型的數據壓縮為 INT8 類型,從而將 4 字節的數據壓縮為 1 字節,減少存儲空間。
  • 在訓練過程中,需要支持增量訓練。對于IVF系列,在構建索引時,不需要常駐內存,可以將其落盤。

優化后,ByteHouse在資源使用上取得了顯著效果,在類似前述“以圖搜圖”的場景中,以很少的資源就能支撐大規模數據。

不僅僅向量檢索引擎,ByteHouse具備全場景引擎能力

目前,ByteHouse已通過Vector引擎支持多種向量檢索算法以及高效的執行鏈路,并且能夠支撐大規模向量檢索場景,達到毫秒級的查詢延遲。

在“一元化數據、多元化引擎”的理念下,ByteHouse 致力于實現全場景引擎覆蓋,以確保實現整體數據效能的最大化產出。除了支持向量檢索能力的Vector引擎,ByteHouse還具有全文檢索引擎、GIS引擎在內的全場景引擎,為用戶提供一體化數據分析服務。

作為一款以提供高性能、極致分析能力的云數倉產品,早在2022年2月,ByteHouse在字節跳動的部署規模就已超1萬8000臺,單集群超2400臺。

未來,它還將持續為企業數據分析能力提供支持,助推數智化轉型升級。

責任編輯:龐桂玉 來源: 字節跳動技術團隊
相關推薦

2024-03-06 14:48:54

云原生

2014-07-28 15:11:53

浪潮GPU加速

2022-12-28 16:15:33

計算機

2021-07-27 09:16:24

谷歌Chrome 瀏覽器

2020-07-16 08:06:53

網關高性能

2022-12-28 20:11:25

圖數據庫

2020-03-13 07:40:36

Plato數據分析

2025-05-20 08:50:00

2015-07-13 11:39:25

SphinxSQL

2024-12-27 09:37:51

2020-09-14 08:59:11

SAN存儲存儲區域網絡

2022-08-15 08:01:35

微服務框架RPC

2017-05-03 11:43:51

Redis數據庫

2014-03-19 14:34:06

JQuery高性能

2022-05-18 08:45:25

Nginx網絡代碼

2010-10-13 14:49:14

高性能計算南京大學

2024-11-20 19:56:36

2010-06-13 15:03:25

UML實踐
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区二区三区一线天视频 | 亚洲一区二区视频在线播放 | 国产精品永久久久久 | 亚洲 欧美 日韩在线 | 视频一区 亚洲 | 久久精品天堂 | 欧美一区二区大片 | 爱爱视频在线观看 | 欧美高清视频一区 | 婷婷五月色综合香五月 | 欧美日韩不卡合集视频 | 国产1区 | 男女爱爱福利视频 | 国产激情片在线观看 | 久久久久久久av | 国产美女在线看 | 中文字幕1区2区3区 亚洲国产成人精品女人久久久 | 欧美一区二区成人 | 中文字幕成人在线 | 中文字幕精品一区二区三区精品 | 亚洲视频手机在线 | 国产视频综合 | 免费小视频在线观看 | 欧美日韩在线一区二区 | 黄色大全免费看 | 国产一区二区在线播放 | 罗宾被扒开腿做同人网站 | 国产成人精品一区二区 | 91精品入口蜜桃 | 欧美二区在线 | 亚洲h在线观看 | 日日骚网| 久久精品国产一区二区三区 | 日韩a | 亚洲 中文 欧美 日韩 在线观看 | 久久夜色精品国产 | 国产小视频精品 | 日韩av.com| 超碰520 | 免费观看羞羞视频网站 | 亚洲精品小视频在线观看 |