TiDB Vector 太香啦:以图搜图初体验!
内容提要
TiDB Serverless引入了矢量化功能,允许用户体验TiDB Vector。文章详细介绍了作者的经验,包括创建TiDB Vector实例和进行矢量检索。文章还讨论了图像和自然语言搜索的基本应用。作者推荐对TiDB Serverless感兴趣的人探索TiDB Vector。
延伸解读
向量检索的数学基础与性能考量
文章从二维到n维推导了余弦相似度和欧式距离的计算方法,指出维度越高,计算量越大,对算力要求越高。这解释了为什么向量检索需要索引优化,也为理解HNSW等近似算法牺牲准确度换取性能提供了背景。读者可借此评估自身场景的维度与性能需求。
HNSW索引的实际效果与局限
作者在3000张图片的数据集上对比了有无HNSW索引的查询耗时,带索引时从0.32秒降至0.24秒,且准确度未受影响。但作者也指出,目前无法通过执行计划等方式确认索引是否被使用,且数据量越大差距越明显。这表明索引优化有效,但监控手段尚不完善。
自然语言搜图的模型依赖与语言差异
作者使用clip_vit_base_patch16模型将文本转为向量进行搜索,发现英文搜索效果远好于中文,原因是模型对中文理解能力较差。这提醒读者,跨模态检索的效果高度依赖embedding模型的语言支持,若需中文场景,可能需要更换或微调模型。
TiDB Vector的定位与未来期待
作者认为TiDB Vector在AI浪潮中恰逢其时,为非结构化数据搜索提供了新可能,但也指出传统数据库集成向量能力已成趋势,竞争激烈。作者期待更多索引类型、GPU加速以及TiDB On-Premises版本的支持,这反映了当前功能的局限和用户对生产环境部署的诉求。
Q&A
TiDB Vector 是什么?
TiDB Vector 是 TiDB Serverless 引入的向量化功能,允许用户进行向量检索和非结构化数据搜索。
如何创建 TiDB Vector 实例?
用户只需注册 TiDB Cloud 账号,然后在创建集群页面选择相应的开关即可创建 TiDB Vector 实例。
向量检索是如何工作的?
向量检索通过计算向量之间的相似度来实现,常用的方法包括余弦相似度和欧式距离。
TiDB Vector 支持哪些搜索方式?
TiDB Vector 支持以图搜图和自然语言搜图的基本应用,用户可以通过向量检索实现这些功能。
HNSW 算法在 TiDB Vector 中的作用是什么?
HNSW 算法用于优化向量索引,提高检索性能,尤其是在处理大量数据时。
TiDB Vector 的未来发展方向是什么?
未来期待 TiDB Vector 支持更多索引类型和 GPU 加速等功能,以提升性能和应用场景。