写点什么

让 AI 工程师的工作效率提升 100%:领英的机器学习规模化应用实践

  • 2019-11-29
  • 本文字数:3500 字

    阅读完需:约 11 分钟

让AI工程师的工作效率提升100%:领英的机器学习规模化应用实践

人工智能和机器学习仍然是全球持续增长的领域之一,近年来涌现出越来越多本科生或者非人工智能专业出身的工程师,他们努力学习和使用技术来改进产品,几乎每天都有新的机器学习技术和框架发布。这篇文章将讨论领英如何规模化利用技术,帮助更多工程师提升机器学习的效率。近日,领英中国机器学习研发经理李子在 IEEE 数据挖掘国际会议(ICDM)上分享了领英是如何规模化开展机器学习,介绍领英的核心产品以及如何利用技术帮助更多工程师提升机器学习的效率。

Pro-ML 提升机器学习效率


过去 10 年,领英把人工智能技术应用于各个方面来提升用户和客户体验,比如你可能认识的人(People You May Know),可以为你推荐能够给你的职业发展带来价值的人;Feed 可以帮你找到最相关的行业信息,比如最新的文章或联系人的最新动态;Recruiter Search 可以帮助企业了解趋势,更好地进行招聘;职位推荐系统(Job Recommendations System)可以帮你找到工作或者跳槽到更好的企业。机器学习推动着领英的核心产品。


但领英发现,过去每个团队用自己的 AI 技术堆栈开发各自的产品。这种做法无法有效实现规模化,因为每个团队使用的技术不同,从逻辑回归到深度学习,从 Pig 、 Hive、Spark 到 Scalding 等等,团队之间的 AI 技术堆栈很难共享协作。所以领英希望在招入新的工程师或是开发新功能、使用新技术时,尽可能减少大家的负担。此外,近年来很多人工智能领域的从业者其实并不是人工智能专业出身,领英的 AI 基础架构对他们来说过于复杂,难以用来构建、迭代模型。


为了高效地促进机器学习规模化,领英构建了名为“Productive Machine Learning”(高效机器学习)的项目,简称 Pro-ML。Pro-ML 的目标是将 AI 工程师的工作效率翻一番,让他们能更轻松、更高效地构建模型。在过去十年里领英发现,模型性能与模型更新速度直接相关。因此,如果能让工程师加快模型迭代速度,那么模型性能也会提高。


具体来说 Pro-ML 采用分层解决方案,目标是提高整个模型开发周期的效率,从模型探索和构建(Exploring and Authoring),到模型训练(Training)、模型部署(Deploying)、模型运行(Running),再到持续监控模型状态。领英希望把所有常规工作自动化,这样算法工程师就能更加聚焦于创新。



Pro-ML 中有两个工具贯穿刚刚提到的所有阶段:一个是 Feature Marketplace,另一个是 Health Assurance Layer。在 Feature Marketplace,领英使用先进的技术来生成、共享和管理新特征。AI 建模的核心是特征工程(Feature Engineering),领英有数百名工程师和数万种正在研究的特征。提高工程师生成、共享和管理特征的效率,对于提高他们的工作效率至关重要。


而 Health Assurance Layer 可以在整个开发周期中持续监控模型状态。比如,它确保用于模型训练的离线特征和用于在线推理的在线特征在统计意义上一致或近似,同时确保在线模型的良好性能。比如在预测分数的时候,工程师希望在线打的分与离线训练的分数精度一致。一旦 Health Assurance Layer 检测到异常,会自动提醒工程师,然后工程师可以介入,进行调试。Health Assurance Layer 还提供了很多有用的工具,帮助工程师进一步确认问题所在。是代码出错?还是数据缺失?还是仅仅因为模型老旧,需要重新训练?

探索与授权

建模过程实际上始于对问题的探索。目标是什么?目标函数是什么?有什么特征?数据有哪些?对于这些问题,工程师需要做无数个实验来探索数据,进行特征工程,调整模型和超参数。为了提高这一阶段的工作效率,领英构建了集成了 Pro-ML 内核的 Jupyter Notebook。在 Jupyter Notebook 的帮助下,工程师可以一步一步地进行数据探索、特征选择和模型绘制,并以交互的方式做实验。Jupyter Notebook 由领英的 Spark 集群提供计算资源,这样工程师就可以在线完成工作而不需要把数据下载到本地,不仅提高了他们的工作效率,同时也保护了用户隐私。



为了定义模型,除了 Jupyter Notebook,领英还构建了一种领域特定语言(Domain-specific Language, DSL)叫做 Quasar。本质上来说,机器学习模型就是有向无环图(DAG),它定义了输入特征和在这些特征上的转换。Quasar DSL 是领英用来定义模型的语言,它为建模者提供了几乎所有常见的特征转换函数。因此 AI 工程师们可以专注于新特征或者特征组合实验,而不需要书写大量重复代码来做特征转换。Quasar 的另一个优势是离线训练出来的模型可以直接部署到线上,大大简化了模型从离线到在线的过渡。


多种工具高效协助模型训练

众所周知,一个模型实际上有两个关键组成部分,一个是特征,另一个是算法。首先来看一下特征。如前所述,特征工程是 AI 建模的核心所在。在领英,为了提高学习效率,领英构建的框架 Feature Marketplace 可以让工程师可以有效地生成、发现、共享和管理特征。工程师可以将特征共享到 Feature Marketplace 上以便其他人使用,也可以按名称搜索特征,发现该特征并获取关于该特征的所有信息,例如特征的创建者、特征是如何生成的、特征应用在哪些领英的模型中以特征的统计分布等等,所有这些问题都可以在 Feature Marketplace 找到答案。Feature Marketplace 还为工程师提供了诸多切实有用的工具,帮助工程师选择特征以及持续监控和验证特征。通过 Feature Marketplace,工程师可以快速找到建模所需的特征。



不过,Feature Marketplace 也面临着挑战:如何确保工程师能够得到他们所需要的,比如在线和离线特征是一致的。如果做了大量离线实验,收集好的特征用于建模,那么这个模型可能会表现得很好,但不能保证在线的时候这个特征是稳定的,如果不稳定,那模型性能可能会下降。事实上,这种事故在过去几年屡见不鲜。为了解决这个问题,领英构建了一个工具称为 Frame。Frame 是一个基于相同配置和相同公共库离线和在线生成特征的平台,保证了离线和在线的一致性。领英向工程师提供操作细节,工程师只需要在 Quasar 模型中指定特征的名称,就可以保证在线和离线获取特征的一致性。


特征集齐后就需要算法。领英支持深度学习、决策树算法、Generalized Linear Mixed Model (GLMix)等多种算法。在深度学习的场景中,领英使用 Tensorflow;在决策树算法的场景中使用 XGBoost,两者都是第三方库。对于 GLMix,领英研发并开源了一个机器学习库叫做 Photon。GLMix 模型大大提高了职位推荐系统的性能,成功使职位申请数量增加了 20%。


根据特征和算法,领英构建了 Photon Connect 训练引擎,把上述所有组件连接起来。Photon Connect 用 Frame 来访问特征,并将特征与标签数据连接起来,然后将数据传输至 Quasar 模型进行特征转换。在这个阶段,Quasar 模型的参数是未知的,领英利用 Quasar 模型进行特征转换,然后使用算法来学习这些参数。学习到的参数会插入到 Quasar 模型中。这样,一个 Quasar 模型建模就完成了。它可以直接部署到线上服务中。


Health Assurance Layer 保证算法顺利运行

模型训练和部署完成后,最后一个问题是:当模型实际运行的时候,如何保持它能够正常运行呢?根据过去的经验教训,在开发的早期阶段越重视这个问题,越容易在实际运行时保证模型正常运行。因此,在模型探索和训练等早期阶段,领英的 Health Assurance Layer 提供了一系列工具,用于持续监控和验证。有人可能会问,在实际运行中,所有在线特征都可用吗?特征更新的速度是否足够快?实际上,如果出现任何异样, Health Assurance Layer 将通知相应的工程师,他们会介入进行调试。Health Assurance Layer 为工程师提供了一系列工具,帮助他们快速锁定问题。


领英的机器学习与 Pro-ML 团队

经过十年的快速发展和实验后,领英将人工智能团队与产品团队紧密地联系在一起,使机器学习团队能够与致力于解决类似难题的同行专家合作并分享最佳实践。


类似地,Pro-ML 团队围绕五个主要支柱构建,每个支柱都支持模型开发生命周期的一个阶段。通常,每个支柱都有一个负责人(通常是一名工程师)、一个技术负责人和几个工程师。这些工程师也来自各个组织,包括产品工程组织、基础/工具组织和基础架构团队。Pro-ML 团队分布在世界各地,包括班加罗尔、欧洲和美国多个地方。领英还拥有一个领导团队,帮助制定项目愿景,并且最重要的是致力于消除摩擦,以便每一个支柱能够独立存在。


Pro-ML 将增加能够利用人工智能的产品数量,并扩大能够培训和部署模型的团队数量。此外,它将减少模型选择、部署等所需的时间,并使 Health Assurance 等关键领域自动化。领英现在已经花了一年多的时间来改造人工智能,使其能保持快速、高效和可操作性,扩展到所有工程领域。它让工程师有更多的时间去做他们最擅长的事情:利用领英独特的高度结构化的数据集,为棘手的技术问题找到创造性的解决方案。


2019-11-29 08:073127

评论

发布
暂无评论
发现更多内容

使用海外直播专线,拓展直播带货的海外市场

Ogcloud

海外直播专线 海外直播 直播专线 海外直播网络 海外直播IP

桌面贴纸工具Desktop Stickers for Mac激活版

小玖_苹果Mac软件

PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”

PingCAP

数据库 开源 分布式 TiDB pingCAP

贝锐花生壳简单3步映射金蝶KIS接口,实现财务凭证远程同步

贝锐

内网穿透 金蝶

指标平台如何帮助企业更有效地利用指标?

Aloudata

指标管理 数据虚拟化 数据编织 指标平台 指标开发

【论文速读】| 利用大语言模型在灰盒模糊测试中生成初始种子

云起无垠

显卡较量:AMD和英伟达哪个好?

Finovy Cloud

英伟达 AMD 显卡

【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错

YashanDB

数据库 yashandb

TiDB 8.5 LTS 发版——支持无限扩展,开启 AI 就绪新时代

PingCAP

数据库 AI 分布式 TiDB

基于时间维度水平拆分的多 TiDB 集群统一数据路由/联邦查询技术的实践

PingCAP

数据库 分布式 TiDB

浏览器缓存清理工具Cookie for Mac激活版

小玖_苹果Mac软件

【YashanDB知识库】进行load data的时候报找不到动态库liblz4.so

YashanDB

数据库 yashandb

多样化消息通知样式,帮助应用提升日活跃度

HarmonyOS SDK

HarmonyOS

“面面俱到”!人脸活体检测让应用告别假面攻击

HarmonyOS SDK

HarmonyOS

OpenAI O3模型:重构软件测试的未来

测试人

软件测试

【YashanDB知识库】YMP在迁移过程中,遇到报错:failed to open file /qianyi/ymp/ymp_23.3, errno 2, error message "No such file or directory".

YashanDB

数据库 yashandb

主体分割技术,提升图像信息提取能力

HarmonyOS SDK

HarmonyOS

陪玩系统源码,陪玩小程序怎么做才能赚钱,陪玩多人语聊房,游戏陪玩app源码陪玩H5源码

DUOKE七七

Vue 前端 后端 uniapp thinkphp

推荐一个适合TikTok直播的海外直播专线

Ogcloud

海外直播专线 tiktok直播 tiktok直播专线 tiktok直播网络 tk直播专线

G1原理—G1是如何提升分配对象效率

不在线第一只蜗牛

Java 算法 JVM

如何在 NocoBase 中开发插件发送 WhatsApp 消息?

NocoBase

开源 工作流 低代码 插件 无代码

剪贴板文件笔记快捷工具Unclutter for Mac激活版

小玖_苹果Mac软件

软件提取工具Pacifist for Mac激活版

小玖_苹果Mac软件

【YashanDB知识库】如何解决删除分区后索引失效问题

YashanDB

数据库 yashandb

全球领先光伏企业的碳管理进阶之旅

AMT企源

碳管理

年度人力费用你管对了吗?

AMT企源

企业管理 人力成本管控 人力费用

【YashanDB知识库】如何输入小写表名的函数参数

YashanDB

数据库 yashandb

Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战

PingCAP

MySQL TiDB newsql

让AI工程师的工作效率提升100%:领英的机器学习规模化应用实践_AI&大模型_李子_InfoQ精选文章