Press "Enter" to skip to content

领英动态演变:更细致和强大的机器学习,人类仍然参与其中

自从LinkedIn开始组建支撑其动力的机器学习基础设施以来,它的动态信息流经历了漫长的发展历程。最近,这一基础设施进行了一次重大更新。我们追踪了背后的人员,讨论了以人为中心的原则如何转化为技术术语和实施过程。

介绍

数据和机器学习算法如何控制动态信息流并传播消息?其中多少是自动化的,多少应该能够理解和控制,并且这一切将发展到何处?

这是我2017年为ZDNet撰写的一篇文章的介绍,在其中探讨了当时新推出的LinkedIn动态信息流的底层机器学习工作原理和管理原则。在技术领域,六年是很长的时间。当时是机器学习(也称为“人工智能”)进入主流的早期阶段。今天,我们生活在ChatGPT时代。

在过去一年中,对于人工智能的兴趣达到了顶峰,似乎每周都有新的发展。LinkedIn不可能置身事外,它的机器学习模型和基础设施发生了重大变化。最近,LinkedIn的工程部门发布了一篇名为“通过利用大量语义稀疏ID嵌入增强主页信息流相关性”的博文。

该博文深入探讨了LinkedIn新推出的机器学习模型和底层基础设施,以提升其动态信息流的相关性。与2017年不同,这些变化并不直接可感知。没有新的功能,而是在改进底层技术,以提升信息流的相关性。

我们与LinkedIn的员工软件工程师Jason Zhu和高级工程总监Tim Jurka一起讨论了以人为本的原则如何转化为技术术语。

循环中的人类

更新的要点是,LinkedIn的动态信息流模型现在可以处理更多的参数,从而提供更高质量的内容发布。与此同时,Zhu的团队也对支撑该模型的硬件基础设施进行了升级。

Zhu是LinkedIn基础AI技术团队的成员。他将团队的使命定义为“为LinkedIn多个垂直应用案例制定原型和构建先进算法的基础”。Zhu对LinkedIn在2021年对信息流进行的上一次重大更新提供了良好的概述,以及这次更新的动因以及LinkedIn方法内部工作的见解。

然而,我们还想了解与LinkedIn 2017年版本的信息流相比,还发生了哪些其他变化。2017年,LinkedIn的发言人强调了“循环中的人类”方法,我们想知道现在是否仍然如此。正如Jurka所说,这绝对仍然如此,甚至比那时更加重要:

“信息流有两个应用。第一个是我们确实在LinkedIn信息流中优先传播富有洞察力、真实性和知识导向的内容,仅依靠人工智能本身很难做到。但我们有一整个团队的屡获殊荣的记者,由我们的总编辑Dan Roth带领。

我们实际上已经创建了可以训练和相信是LinkedIn洞察力的黄金内容的AI算法。然后,该AI算法试图衡量 – 编辑是否会在LinkedIn平台上推广这一内容?如果是的话,让我们试着在平台上分发,并查看哪些观众对该特定内容感兴趣。

人手插入法也适用于垃圾邮件检测。虽然LinkedIn使用AI驱动的垃圾邮件检测,但用户也有举报垃圾邮件的选项,同时内容管理员也会留意AI可能遗漏的内容。

Jurka接着补充说,就信息流的垃圾邮件检测而言,有些事情保持不变,而其他事情发生了变化。2017年描述的三级分类系统几乎没有改变。改变的是LinkedIn对更深层次内容理解的更多投入,旨在理解每篇帖子背后的意图。

例如,这是有人试图分享一个工作机会吗?这是有人试图分享他们对新闻的观点吗?更加详细地了解内容有助于LinkedIn知道如何在平台上分发它。

从线性到神经,从单一到多个观点

正如Jurka所分享的,动态排名算法的演变确实跟随着LinkedIn动态的演变。与2017年相比,有更多的会员使用动态,有更多的内容创作者在LinkedIn上发布内容。其中很多复杂性在于确保AI模型能够捕捉到所有这些不同的使用情况。而这就是理解意图的相关性所在。

“例如,你可能会在一个会员的帖子中提到他们的初创公司的A轮融资,现在他们在招聘。而这个帖子可以通过三种非常不同的角度来观察。

如果你是一个求职者,这个帖子实际上可能是你联系并找到工作的一个入口点,AI模型必须理解这对你的价值。如果你是这个个体的一度关系,那可能只是为了祝贺他们并说:“嘿,我只是来看看你们完成了A轮融资。恭喜。”如果是风险投资领域的人,这实际上是一个他们未知的见解,他们会说,我不知道这家特定公司完成了A轮融资,“Jurka说。

接着,Zhu解释说,LinkedIn的动态包含来自会员、关系和各种推荐(如工作、人员和文章)的一个异构更新列表。目标是为每个会员提供个性化的排名列表,以帮助平台上的专业人士更具生产力和成功。为了实现这一点,LinkedIn采用了一个两阶段的排名过程。

随着LinkedIn的发展,保持其动态的相关性和实时性是一项持续努力。有一种被称为“第一遍排名器”的方法,它适用于每一种类型的更新。因此,在发送给第二遍排名器进行最终排名之前,每一种类型的更新中的前k个候选项都由个别算法选择。

LinkedIn的模型提供了来自会员和内容集的一系列特征。该模型试图预测一系列响应的可能性,例如开始对话的可能性或在特定帖子上执行某些操作的可能性。

此前,LinkedIn将其排名从基于线性模型转换为基于深度学习/神经网络的模型。Zhu指出,深度学习模型更有效,因为它通过激活函数引入了非线性。这使得模型能够捕捉到数据中更复杂和非线性的关系,并学习到更强大的表示。

与预测每个不同响应的个体线性模型不同,多任务深度学习模型在不同任务之间共享参数。因此,通过迁移学习,每个任务的学习可以使其他任务受益,Zhu说。

然而,他补充说,LinkedIn的数据在不同类型的响应之间存在严重偏斜。例如,点击响应比参与程度更多。因此,在模型训练过程中需要谨慎采样和重新加权,以避免负面任务干扰,因为所有这些任务共享参数。

利用大语料库稀疏ID嵌入的力量

Zhu介绍了LinkedIn动态的上一个重大更新,即使用TensorFlow进行多任务学习。正如他所分享的,LinkedIn的模型规模增长了500倍,数据集也增长了10倍。此外,训练周期也延长了,现在更多的训练数据被采样。这在克服偏见方面也提出了一些挑战。

然而,这只是Zhu团队实施的最新更新的起点。他们的目标是优化参与度,这意味着改善用户与不同帖子互动的预测的可能性。通过提高这种可能性的预测,LinkedIn可以更好地对动态项目进行排名,为用户提供更 engaging 的体验。实现这一目标的关键是稀疏的嵌入向量。让我们来看看这些是什么以及它们的相关性。

字符串ID到嵌入向量的转换

(来源:“通过利用大型语料稀疏ID嵌入提高首页内容的相关性”)

作为一个对人工智能感兴趣的LinkedIn用户,您可能曾与#AI和#ML标签互动过。另一个用户曾使用#生成AI标签进行互动。这些是不同的标签。然而,通过嵌入,它们在嵌入空间中的语义意义是相近的。因此,模型可以理解您可能与我有相似的口味,模型可以向两个用户推荐AI领域的类似内容。

对于LinkedIn上的每个内容项和每个用户,推荐系统都使用嵌入向量。这意味着这些向量会非常大,但也非常稀疏。它们会很大,即有许多维度,因为有许多不同的主题和相应的标签。但它们也会很稀疏,因为并非所有用户都与所有标签互动过。

朱的重点是将大型语料稀疏ID特征(例如标签ID或项目/帖子ID)转换为使用数亿条记录训练的具有数亿个参数的嵌入查找表的嵌入空间。例如,朱注意到会员ID有数百万个维度,因为LinkedIn上有数百万会员。

“对于每个会员,目标是学习个性化的张量表示。这个张量表示会在固定时间段内编码用户的偏好,比如与其他用户的互动或标签偏好。所有这些信息将在训练期间编码为密集向量。通过向模型呈现这样的个性化向量,模型将能够更好地捕捉动态变化的世界以及会员的偏好,”朱说。

朱指出,稀疏特征可以被解释为分类的独热表示,其中基数是数百万个,Zhi指出。在这些表示中,除一个以外,所有条目都为零,该条目对应于一个ID索引。例如,这些被转换为称为嵌入空间的低维连续稠密空间,使用数亿个参数经过数十亿条记录训练的嵌入查找表。

正如朱指出的那样,嵌入表本身与数据集和问题密切相关。然而,这种技术肯定是通用的。相同的方法已经在LinkedIn的不同用例中使用,例如工作推荐和广告推荐。“我们采用了非常相似的策略,将这些稀疏ID转换为稠密表示。我们相信这是在LinkedIn上开发AI的可扩展方式,”朱说。

扩展和前进

朱的工作还涉及硬件升级。正如他解释的那样,团队在将模型规模增大100倍后,在服务主机上并行提供数十个大型模型时面临挑战。该主机并不设计为处理如此大规模的任务,所以团队选择了使用两阶段策略提供模型。

在第一阶段,以通常的方式训练一个全局模型。首先将ID特征从大型嵌入表转换为稠密向量,然后将这些稠密向量与现有特征一起发送到深度神经网络以进行隐式特征交互。

在第二阶段,全局模型在嵌入表和深度神经网络的边界处被分割。从深度神经网络的角度来看,它只需要一组稠密向量,这些向量是预测结果的嵌入表示。ID转换步骤在模型提供的关键路径上并不是必需的。

嵌入是离线转换并推送到高性能键值存储中。因此,这些嵌入表不必托管在内存有限的服务主机上。这种策略在LinkedIn并行进行主机升级的同时使用。一旦升级完成,朱说,一切都将移到内存中,并将应用内存优化。团队采用并扩展了开源框架Horovod。

朱指出,他的团队希望在未来探索一些方向。除了为记忆密集型和计算密集型模型提供服务外,通过添加更多稀疏特征来扩大模型尺寸是另一个目标。团队还在探索一种叫做连续训练或增量训练的方法来捕捉一个变化世界的动态。

正如朱解释的那样,目前的嵌入是基于固定期间进行训练的。这可能导致离线和在线结果的不一致问题,或者长时间内收益的减少。朱认为,通过更频繁地检索,嵌入可以捕捉系统的动态,并更好地预测LinkedIn会员的个性化内容。

关于更多细节,请随意聆听朱和Jurka的对话。

Leave a Reply

Your email address will not be published. Required fields are marked *