简单地说,我们现在是Redis
房间的我们的使命是为来自世界各地的顶尖人才提供有意义的机会。作为一个技术驱动的、以社区为中心的平台,帮助组织快速找到高质量的、经过大规模审查的人才,The Room将在其系统中容纳数千万成员,并在全球范围内存在。
在…的核心技术上的挑战是一个数学上困难的实体匹配问题.系统中的每个实体——个人、组织、机会和内容——必须以高准确性和相关性、上下文敏感性和时效性与其他实体相匹配。应用程序有这个问题的多个实例。
经过实验,The Room的ML团队确定了一种方法,使用向量空间嵌入原始文本数据来描述实体,并结合向量相似度匹配和进化的业务逻辑来显示类似的实体。在测试实现时,发现核心向量相似度计算驱动了算法的计算和内存需求。使用Redis基于最近邻向量查找的高性能密钥检索,该团队能够在没有任何内存开销的情况下,在核心相似度计算循环中实现超过15倍的改进.反过来,这也为增加算法的复杂性创造了空间,并将其交付到实时路径上。
总体的数据流显示在图1的架构图中。虽然相当标准,但关键的挑战是在一个小团队、紧凑的时间线和对灵活性的需求下将整个生产系统就位。
潦草的数据的丰富功能的存储其应用程序为房间智能平台的实现提供了整体框架,负责实体匹配。与大约15个数据源的集成、数据质量、批处理和流特性工程(包括向量化),以及与内存数据库后端(如Redis)的集成、编目和遵从性。Enrich的流水线和编配也用于建模,未来的实现版本将使用独立的模型数据库,比如MLFlow。
对the Room的实体匹配引擎匹配代码的早期版本的分析表明,向量相似度计算花费了95%以上的时间和90%的内存。这种资源密集性暗示了对计算分布和繁琐优化的需要。三个主要挑战是:
此外,有必要优化下列主要限制因素:
Redis提供了他们矢量相似功能的私有预览版本,并演示了其功能RedisGears使用高性能向量相似度查找支持密钥检索。界面非常简单,包括使用相似度匹配进行存储和查找,以及简单的集成。余弦相似度和欧几里得距离度量支持k最近的邻居(k -给定一个查询向量,存储在Redis中的向量。独立测试表明,顶部-k最接近的匹配检索时间是毫秒级,并且持续时间在很大的向量计数范围内几乎是恒定的。目前的测试实现存在一些局限性,如仅支持固定长度的向量,并能够匹配Redis中存储的所有向量。预计生产版本将解决这些问题。
在房间中的实体匹配问题被建模为k最近的邻居(k-NN)表示实体的向量检索。候选向量的数量(N)规模庞大,预计将迅速增长。每个向量的维数大约是几千。测试只关注应用程序中的核心相似度评分计算部分,报告的加速基于此。
测试了三种方法:
对于上面(1)和(2)的方法,对分数进行键排序,得到最上面的索引k相似的候选向量。不同的价值观N和k进行了测试。这三种方法都使用相同的向量数据集。结果如表1所示。
我们看到一个一致的15倍加速在顶部-k向量检索性能。数据越大,加速越快。我们的假设是,这种加速是由于消除了Python和Pandas在计算和内存方面的开销,并且这种加速可以在生产环境中一致实现。
在The Room中使用Redis的功能有很多价值主张:
Redis的低延迟和高性能矢量相似度计算,集成了Scribble Data的丰富功能存储,正在扩展以解决其他问题。除了提供在线功能的数据存储之外,Redis Enterprise近期还面临两个问题,包括使用图表来识别机会和处理实时事件的流。万博体育彩The Room自己的数据智能平台从这种集成中受益,因为它为其成员和内部员工开发了最先进的低延迟数据应用程序。
这个房间
彼得Swaniker, The Room的首席技术官
乱写数据
Achint托马斯,数据架构师,涂鸦数据
这个房间正在招聘数据科学家和数据工程师!多见于https://www.theroom.com/careers/
了解更多关于丰富功能商店的信息,请访问www.scribbledata.io /产品,并开始与Redis访问开发https://developer.www.szfbf.com/,包括与RedisAI实时服务在//www.szfbf.com/modules/redis-ai/.