FAISS

####好好好#####知识图谱上的双塔召回:阿里的IntentGC模型

Deadly 提交于 2020-12-11 10:35:59
关注本人的同学可能发现,我最近点评的文章都是关于"GNN在推荐系统应用"方向的。这当然与现如今这个方向非常火有关,但是作为一个合格的炼丹师+调参侠,总要搞清楚一门技术为什么火?这么火的技术对于自己是否有用?根据我的理解,由“传统机器学习→深度学习→图计算或知识图谱”这一路下来的发展脉络如下: 一切技术的目标都是为了更好地“伺候”好“ 推荐系统的一等公民 — ID类特征 ”。用户购买过的商品、光顾过的店铺、搜索过的关键词、商品的分类与标签,都是这样的ID类特征 传统的机器学习只会“ 严格匹配 ”。用户喜欢喝可口可乐,算法不会给他推百事可乐,因为“可口可乐”与“百事可乐”是两个不同的概念,占据了两个不同的ID。这时的推荐算法只有“ 记忆 ”功能。 深度学习的特点是, 一切皆可embedding 。通过将“可口可乐”与“百事可乐”都扩展成embedding向量,发现这两个“概念”不是正交的,反而在向量空间里非常相近,从而推荐系统有机会给一个只喝过可口可乐的用户推荐百事可乐。这时的推荐算法不再只能记忆,而是有了举一反三的“ 扩展 ”功能。 而到了“图计算”或“知识图谱”的阶段,ID类特征换了个名字,变成图上的节点或者知识图谱中的entity。换名字是小事,关键是 这些ID不再是孤立的,而是彼此关联,从而带来了信息的传递 。之前,小明喝过“可口可乐”,只有“可口可乐

faiss简介及示例

北战南征 提交于 2020-09-27 17:04:15
转自: https://blog.csdn.net/kanbuqinghuanyizhang/article/details/80774609 简介 faiss是为稠密向量提供高效相似度搜索和聚类的框架。由 Facebook AI Research 研发。 具有以下特性。 1、提供多种检索方法 2、速度快 3、可存在内存和磁盘中 4、C++实现,提供Python封装调用。 5、大部分算法支持GPU实现 下面给出一些快速链接方便查找更多内容。 github 官方文档 c++类信息 Troubleshooting 官方安装文档 faiss在个人小项目中的运用:“夫妻相/更像谁”中查找人脸相似 个人项目可通过下面两种方式访问体验 1、微信小程序 2、PC端 AI爱 yep66.com 安装 文档中给出来编译安装,conda等安装方式。因为公司服务器编译安装需要权限,所有我们一般使用conda的方式安装python Module。 # 更新conda conda update conda # 先安装mkl conda install mkl # faiss提供gpu和cpu版,根据服务选择 # cpu版本 conda install faiss-cpu -c pytorch # gpu版本 -- 记得根据自己安装的cuda版本安装对应的faiss版本,不然会出异常。使用命令:nvcc -V

沃尔玛的产品知识图谱

我的梦境 提交于 2020-08-19 04:21:06
作者|Karthik Deivasigamani 编译|VK 来源|Medium 介绍 电子商务目录是通过从卖家、供应商/品牌获取数据而创建的。合作伙伴(销售商、供应商、品牌)提供的数据往往不完整,有时会遗漏我们客户正在寻找的关键信息。尽管合作伙伴遵循一个规范(一种发送产品数据的约定格式),但在标题、描述和图像中隐藏着大量数据。除了我们的合作伙伴提供的数据外,互联网上还有许多非结构化数据,如产品手册、产品评论、博客、社交媒体网站等。 沃尔玛正致力于构建一个零售图谱(Retail Graph),捕捉有关产品及其相关实体的知识,以帮助我们的客户更好地发现产品。它是一个产品知识图谱,可以在零售环境中回答有关产品和相关知识的问题,可用于语义搜索、推荐系统等。本文进一步阐述了什么是零售图谱、如何构建零售图谱、围绕图模型的技术选择、数据库和一些用例。 沃尔玛的零售图谱是什么 零售图谱捕获了零售世界中存在的产品和实体之间的连接。实体是存在的物体、事物、概念或抽象,例如客厅、野生动物摄影、颜色、农舍风格。我们关注的实体大致有两种:抽象的和具体的。前者帮助我们回答诸如“夏日游泳池派对用品”、“农家客厅家具”、“野生动物摄影镜头”之类的问题,而后者帮助我们回答诸如“蓝色牛仔裤裤子”、“木制餐桌”之类的问题。该图谱还将产品之间的关系捕获到两个类别,替代品和补充品(附件、兼容产品等)。它还试图将抽象概念

IJCAI2020|基于内部-环境注意力网络的推荐多队列冷启动召回

与世无争的帅哥 提交于 2020-08-16 09:38:07
     本文介绍的是 IJCAI-2020论文《Internaland Contextual Attention Network for Cold-start Multi-channel Matching inRecommendation》,论文作者是来自腾讯微信的谢若冰、丘志杰、饶君、刘毅、张博和林乐宇研究员。    作 者 | 谢若冰    编辑 | 丛 末    1    导语   真实世界中的综合推荐系统(例如微信看一看)通常需要从上百万异质物品中进行推荐。直接在百万候选集上使用复杂的推荐算法,往往会引入难以承受的时间成本。因此,工业级综合推荐系统一般由召回(matching)和排序(ranking)两个模块组成。召回模块负责快速从百万级数据中检索出百级别物品候选,排序模块负责准确对这些召回来的物品候选排序,得到最后的推荐结果。由于推荐物品来源多种多样,特征也不尽相同,同时也为了兼顾多样性,召回部分通常会使用多队列召回(multi-channel matching)策略。   然而,在现实系统中,综合推荐系统经常会引入新的数据源,这部分冷启动的召回通道在行为稀疏时往往表现较差。   为了解决这些问题,作者提出一种Internal and contextual attention network (ICAN)模型,通过加强多队列之间特征域(feature field

Chat with Milvus #17- Milvus tutorials与Phantoscope图像搜索引擎开源

限于喜欢 提交于 2020-08-11 20:26:32
Chat with Milvus #17视频- Milvus Tutorials & Phantoscope 上线啦! 本周的 Milvus 线上会议中,我们与参加者分享了两个好消息,第一个是 Milvus 教程 的上线。以后你就可以更轻易的在 Milvus 官网上找到开发需的资源啦! 第二个好消息是大家期待已久的一个功能更强大的以图搜图系统 Phantoscope 推出了第一个版本。 Phantoscope 是一个基于 Milvus 与深度学习的云原生图像搜索引擎:十亿级别的图像的高性能搜索。完全兼容 Tensorflow、Pytorch、TensorRT、ONNX,XGBoost 等主流深度学习框架。提供 GUI 展示搜索效果、管理 Phantoscope 资源。原生支持 Docker 与 Kubernetes。 想知道更多的朋友, 欢迎直接到 GitHub 走走: https://github.com/zilliztech/phantoscope ​ github.com 那这个 Phantoscope 是什么意思, 它应该怎么念呢? . iciba.com/word? w=phantoscope 没有时间看视频的朋友, 也可以看看下面的部分文字实录。 | Milvus Q&A 部分文字实录 Attendee= 参会者 ⌛ 时间戳 09:17-16:41 Attendee A

沃尔玛的产品知识图谱

那年仲夏 提交于 2020-08-11 04:02:07
作者|Karthik Deivasigamani 编译|VK 来源|Medium 介绍 电子商务目录是通过从卖家、供应商/品牌获取数据而创建的。合作伙伴(销售商、供应商、品牌)提供的数据往往不完整,有时会遗漏我们客户正在寻找的关键信息。尽管合作伙伴遵循一个规范(一种发送产品数据的约定格式),但在标题、描述和图像中隐藏着大量数据。除了我们的合作伙伴提供的数据外,互联网上还有许多非结构化数据,如产品手册、产品评论、博客、社交媒体网站等。 沃尔玛正致力于构建一个零售图谱(Retail Graph),捕捉有关产品及其相关实体的知识,以帮助我们的客户更好地发现产品。它是一个产品知识图谱,可以在零售环境中回答有关产品和相关知识的问题,可用于语义搜索、推荐系统等。本文进一步阐述了什么是零售图谱、如何构建零售图谱、围绕图模型的技术选择、数据库和一些用例。 沃尔玛的零售图谱是什么 零售图谱捕获了零售世界中存在的产品和实体之间的连接。实体是存在的物体、事物、概念或抽象,例如客厅、野生动物摄影、颜色、农舍风格。我们关注的实体大致有两种:抽象的和具体的。前者帮助我们回答诸如“夏日游泳池派对用品”、“农家客厅家具”、“野生动物摄影镜头”之类的问题,而后者帮助我们回答诸如“蓝色牛仔裤裤子”、“木制餐桌”之类的问题。该图谱还将产品之间的关系捕获到两个类别,替代品和补充品(附件、兼容产品等)。它还试图将抽象概念

Elastic中国开发者大会2019干货分享

旧时模样 提交于 2020-08-08 18:42:32
0、题记 由于2019年Elastic开发者大会下午分3个会场,使劲浑身解数也只能串了两个分场,所以下面的分享肯定信息不全面。 全面信息后续建议参考Elastic中文社区的PPT。文中可能的细节错误,欢迎大家留言指正。 您的参会干货和认知习得,也欢迎留言讨论交流。 1、感触 从没有见过哪个大会,能干货连连、高潮此起彼伏、全程无尿点; 从没有见过哪个大会,与会者能持续葆有相当高的热情; 从没有见过哪个大会,过道里也站满了人专心听讲,且没有一个人喊累; 从没有见过哪个大会,嘉宾毫无保留的分享技术干货,即便部分内容打了马赛克,但技术细节没有过分阉割; 从没有见过哪个大会,与会讲者老师知无不言、言无不尽; 从没有见过哪个大会,所有人站着吃盒饭,还非常高兴; 从没有见过哪个大会,会后大家围着分享嘉宾问问题,直到主持人打断、直到开始下一场分享; 从没有见过哪个大会,大家走的时候不断回望,非常恋恋不舍,感叹时间过得太快。 ...... 这是Elastic一年一度的盛会,这是Elastic爱好者的朝圣日和狂欢日。 近距离接触,才能体会到开源的强大、分享的强大、社区的强大。 近距离接触,才能明白差距,很多一线大厂已远远走在技术的最前沿,在内核层、源码层、业务层做过大量的创新、优化实战。 ..... 感慨万千,无以言表..... 2、关键词 满满的一天行程下来,以下几个关键词一直在脑海回荡。 的确

沃尔玛的产品知识图谱

若如初见. 提交于 2020-08-08 07:25:17
作者|Karthik Deivasigamani 编译|VK 来源|Medium 介绍 电子商务目录是通过从卖家、供应商/品牌获取数据而创建的。合作伙伴(销售商、供应商、品牌)提供的数据往往不完整,有时会遗漏我们客户正在寻找的关键信息。尽管合作伙伴遵循一个规范(一种发送产品数据的约定格式),但在标题、描述和图像中隐藏着大量数据。除了我们的合作伙伴提供的数据外,互联网上还有许多非结构化数据,如产品手册、产品评论、博客、社交媒体网站等。 沃尔玛正致力于构建一个零售图谱(Retail Graph),捕捉有关产品及其相关实体的知识,以帮助我们的客户更好地发现产品。它是一个产品知识图谱,可以在零售环境中回答有关产品和相关知识的问题,可用于语义搜索、推荐系统等。本文进一步阐述了什么是零售图谱、如何构建零售图谱、围绕图模型的技术选择、数据库和一些用例。 沃尔玛的零售图谱是什么 零售图谱捕获了零售世界中存在的产品和实体之间的连接。实体是存在的物体、事物、概念或抽象,例如客厅、野生动物摄影、颜色、农舍风格。我们关注的实体大致有两种:抽象的和具体的。前者帮助我们回答诸如“夏日游泳池派对用品”、“农家客厅家具”、“野生动物摄影镜头”之类的问题,而后者帮助我们回答诸如“蓝色牛仔裤裤子”、“木制餐桌”之类的问题。该图谱还将产品之间的关系捕获到两个类别,替代品和补充品(附件、兼容产品等)。它还试图将抽象概念

Milvus数据管理:删除的实现原理

妖精的绣舞 提交于 2020-08-07 13:18:00
本文将主要讲述 Milvus 是怎么实现删除功能的。删除是许多用户期待已久的功能,这次终于在 Milvus 0.7.0 版本中发布。区别于直接调用 FAISS 的 remove_ids 接口,为了让删除更加高效,并能够支持更多索引类型,我们做了全新的设计。 在 FAISS 中,删除 ID 和它对应的向量需要遍历所有数据以决定哪些向量需要删除 github.com/facebookrese , 频繁操作会极大地影响系统性能,更无法做到删除和查询并发执行。如果是已经落盘的数据,则需要把数据文件加载进内存进行删除,再重新落盘,代价非常大。这个方案自然无法运用在生产环境。此外,FAISS 目前只在 IndexFlat, IndexIVFFlat, IDMap 这三种索引类型上支持删除,而 Milvus 的目标是不仅让 FAISS 的所有 CPU 与 GPU 索引支持删除,在未来还能陆续扩展到其他对接的 ANNS 库中。所以,我们必须自己设计删除功能。 在上一篇文章 Milvus 如何实现数据动态更新与查询 中,我们了解到数据从导入直至落盘的全部过程。在这里我们先回顾一下其中的一些基本概念。Memory manager 管理所有 insert buffer,其中每个 MemTable 对应一个 Collection(在 Milvus 0.7.0 中 Table 被更名为 Collection

【4】facebook大数据搜索库faiss使用——Faiss索引介绍

一曲冷凌霜 提交于 2020-05-07 21:37:12
基础索引如下所示: 精确索引(IndexFlatL2): 主要参数d;占用字节4d;是否穷尽式搜索:是; 内积精确检索(IndexFlatIP):d;4d;是; 级联式图搜索(IndexHNSWFlat):d,M; 4d+8M; 否; 倒置文件与精确后检验(IndexIVFFlat):quantizer,d,nlists,metric; 4d;否 局部感应哈希(iNDEXlsh): d,nbits; nbits/8; 是 标量量化(IndexScalarQuantizer):d; d; 是 PQ(IndexPQ): d, M, nbits; M(nbits=8); 是 倒排文件+标量量化(IndexIVFScalarQuantizer):quantizer, d, nlists, qtype; d或d/2; 否 IVFADC粗量化+PQ+残差(IndexIVFPQ):quantizer,d, nlists, M, nbits; M+4或M+8;否 IVFADC+R即为IVFADC+基于code的rerank(IndexIVFPQR):quantizer,d, nlists, M, nbits, M_refine, nbits_refine; M+M_refine+4或M+M_refine+8; 否 单元捕获方法 常用的一种加速检索过程,但以一定找到最近邻为代价的方法是是使用例如k