目前想前台使用这种向量查询的结果 但是问题是目前单次查询的效率很低基本上得 60s 左右才能返回。
1
somebody1 139 天前
不懂。
建议你去 es 的社区发问题! |
3
fffflyfish 139 天前
向量做下降维呗,1024 太长了,商品标题一般也就 60~128 维差不多够用了
|
4
wanghello 139 天前
redis search 咋样
|
6
my3157 139 天前 via Android
试下 meilisearch
|
7
wueryi OP @fffflyfish #3 主要是存量数量里已经有 1024 维度的了,刷数据的话时间比较长。另外就是没有具体试过降维会不会准确率降低,余弦函数的距离我理解应该不会降低准确率。
|
8
wueryi OP @jetyang #5 我试了 ANN 这个配置对应这个量级 快不了多少 ,都是几十 s 上下,2.应用的场景其实就是针对不同平台同一个商品,进行搜索,并不是一样的文案,大概率都是相似文案。
|
9
fffflyfish 139 天前
@wueryi 降维对效果的影响你在 STS dataset 上实际测下就知道了,看上面 ANN 都加速不了的话你只能在准确率和计算耗时之间权衡了,或者你调研下有没有基于 GPU 的向量检索方案
|
10
picone 139 天前
@wueryi #8 ANN 不可能这么慢,百万级规模也不算特别大,不需要上到 GPU 。降维试试不影响准确召回即可。有个问题是这个数据集存在更新吗,更新频繁吗?除了 ES 外也有其它专门做向量检索的项目可以都调研下对比下
|
12
wueryi OP @fffflyfish #9 GET 感谢老哥
|
13
monkeyk 139 天前
这类问题要先找到根源在哪,像 milvus 之类的向量库都推荐使用 GPU 来部署;
一般能想到的就是 CPU 的并发支持 没有 GPU 高。 尝试找一些官方提供的 debug 工具试试 |
14
OPLUS 139 天前
之前做过 128 维的测试,默认索引下 es 就是比 milvus 慢很多。
|
15
Chris2023 139 天前
如果是优化方案:1.纬度太大 2.数据更新是否频繁 3.磁盘最好是 SSD 4.内存利用率可以看一下。 向量查询还是要用向量数据库来承载,ES 一般不这么用。
|
16
picone 139 天前
@wueryi #11 PQ 量化,分库这些都可以搞上去试试,百万级数据单机理论上是可以处理的,牺牲少量召回准确率。
如果使用 ANN 的话,更新的量看大不大,大的话可以单独作为一个子库做倒排并行检索,然后日/月粒度全量重新建库就好了。 |
17
OblivionStaff 139 天前
可以试着问问 llm 。Kimi 智能助手的对话 https://kimi.moonshot.cn/share/cppadj8nsmmif30hv83g
|
18
wxf666 139 天前
请教一下,这是一种更高级的全文搜索吗?
比如,要是用到 V2EX 的搜索里,就能以自然语言形式,搜出更匹配的帖子/回复来,而不是关键词/近义词匹配而已? 某个字符串的 1024 纬度数据,是咋来的呢?每个纬度,是代表某个方向上的相关程度吗?(如动物/人类/编程/工地/……) |
19
qieqie 139 天前 via iPhone
ES knn 性能就是低的匪夷所思,甚至比 ssd ondisk 索引方案还低一个数量级。
|
20
wueryi OP @Chris2023 #15 是的本来打算是用 milvus 只是当前数据存在 es 里 es 刚好支持 所以测试一下性能 然后发现确实别我想想的要更差一点儿。然后分析原因的时候不确定是不是配置的问题导致的。
|