1、中国开发者大会 2023十亿级人脸搜索的实践和优化刘刚,CTO谱时智能云,2023/04/08中国开发者大会 2023 我们的业务分享嘉宾我们的问题我们的方案我们的规划刘刚,谱时智能云 CTO2014年Elasticsearch中国技术分享会分享嘉宾中国开发者大会 2023 图片直播Elastic 中国开发者大会 2021图片直播二维码我们的业务中国开发者大会 2023 中国开发者大会 2023 我们的业务中国开发者大会 2023 中国开发者大会 2023 依赖第三方人脸搜索遇到问题性能限制2QPS5个搜索结果功能限制多活动聚合活动人物相册费用暴增业务指数增长不能额外收费我们的问题中国开发者大
2、会 2023 2QPS-20QPS5个搜索结果-无解(没有预期解决时间)依赖第三方人脸搜索性能限制我们的问题中国开发者大会 2023 多活动聚合活动人物相册依赖第三方人脸搜索功能限制一场马拉松几十万张图多场马拉松聚合我们的问题中国开发者大会 2023 业务指数增长不能额外收费依赖第三方人脸搜索费用暴增我们的问题中国开发者大会 2023 业务指数增长我们的问题中国开发者大会 2023 费用暴增我们的问题中国开发者大会 2023 怎么解决?小公司没钱没人没时间我们的问题中国开发者大会 2023“万能的”中国开发者大会 2023 解决问题第一阶段:elastic方案探索理论基础搜索是计算多维词向量距
3、离人脸搜索是计算512位向量欧几里得距离数据类型支持Elasticsearch7.0之后新数据类型Dense_vector支持最多500维数据算法支持?已经支持余弦相似度计算大佬承诺后续版本支持欧几里得距离我们的方案中国开发者大会 2023 理论基础TF/IDF算法空间向量算法/余弦相似度我们的方案中国开发者大会 2023 理论基础欧式空间特征512维欧几里得距离我们的方案中国开发者大会 2023 理论基础欧式空间特征512维欧几里得距离我们的方案中国开发者大会 2023 大佬救命中国开发者大会 2023 大佬救命中国开发者大会 2023 第一阶段结论:es作为人脸搜索引擎第一阶段验证:es7
4、.x(未发布)+script我们的方案中国开发者大会 2023 第二阶段:elastic方案上线7.2版本之前没有正式版,是等还是用开发板?人脸向量512位,dense_vector最多支持500位不支持欧几里得距离计算7.2版本人脸向量512位,dense_vector支持1024位不支持欧几里得距离计算集群管理引入x-pack7.4版本之后支持欧几里得距离计算搜索优化异步搜索我们的方案中国开发者大会 2023 es7.2版本之前dense_vector只支持500位非es方案一数据存数据库计算用java非es方案二数据存redis计算用python自研人脸向量512维20kb/人脸我们的方
5、案中国开发者大会 2023 7.2版本dense_vector支持1024位功能测试性能测试建表7.1版本x-pack免费更安全的集群管理身份管理es7.2版本测试+集群整体升级我们的方案中国开发者大会 2023 功能测试1.数据类型,欧几里得距离计算脚本2.几十万样本计算性能测试1.预估正式数据量和压力2.不同硬件,索引结构3.确认集群硬件和索引结构信心1.能不能替代行业独角兽大厂的服务?2.能不能一直稳定?3.能不能省钱?es7.2版本测试我们的方案中国开发者大会 2023 场景1场活动500-50万张图500-100万张人脸硬件cpu内存硬盘索引结构和分布几台物理机?几个索引?几个分片?
6、几个备份?我们的方案中国开发者大会 2023 场景1场活动500-50万张图500-100万张人脸3*8c32G3T高性能云盘性价比10个index(face_01)分表-扩展性7个shards3,5,7,11,13测试后确认2个replicas写多读少我们的方案中国开发者大会 2023 生产数据在双方同时生成同时搜索互为补充对比结果的数量,准确率,失败率,召回率es7.2版本信心哪里来?是骡子是马,遛出来我们的方案中国开发者大会 2023 es7.2版本正式上线我们的方案中国开发者大会 2023 7.2版本den