APP下载

【Line AI生产力关键3:新一代使用者特征自动预测系统】导入GPU和K8s丛集,靠ML大规模自动预测使用者特征资料

消息来源:baojiabao.com 作者: 发布时间:2024-11-24

报价宝综合消息【Line AI生产力关键3:新一代使用者特征自动预测系统】导入GPU和K8s丛集,靠ML大规模自动预测使用者特征资料

Line用机器学习建立一个可以从使用者的原始Log资料来推测其特征属性的自动化推测机制,再套用到所有使用者,而且可以不断自动化进行,再定期更新。(图片来源/Line)

去年,Line重新改造了使用者人格(User Persona)预测系统,这是一个用来推测用户属性的系统,可以利用机器学习技术自动预测使用者的兴趣、特质、特征等,作为内容推荐或目标行销等需要用户分类资讯的应用场景。

这个系统有多重要?负责打造这套系统的Line资深机器学习工程师渡辺哲朗举三个场景来说明。因为在这套系统中,记录了两大类使用者属性资料,一种是与人口变项有关的属性,例如性别、年龄,或是使用者所用装置资讯,例如OS平台,另一种则使用者的心理属性,例如兴趣,喜好等。

常见用途是广告发送,Line广告发送时,外部广告主可以瞄准目标用户,在特定可用的属性中,指定想要行销的目标对象的属性,这个属性就是使用者人格系统中记录的使用者属性之一。或者是官方账号讯息推播,也能简单指定特定条件的对象,这些条件包括性别、年龄、所用OS类型,地区、订阅持续期的资讯,也来自人格系统的属性记录。

还有一项Line自己常见作法是用来解决新服务的冷启动(Cold Start)问题。当新服务上线时,Line会透过推播讯息来吸引可能有兴趣采用的潜在用户,但是新服务的Log资料有限,无法用于推荐,就能使用者人格系统中累积的推测属性(非真实而是由机器学习模型抽取的推测属性),作为推荐对象的筛选,缩小推播范围。“这对新服务上线的成本控管,有很大帮助。”渡辺哲朗说。

但Line用户全球将近2亿人,光是日本就有8,900万个用户,台湾每月活跃账号也有5千万个,其中不少是一人有多个账号。很难一一要求用户填写各式各样的资料,甚至一些心理倾向的属性,如何标记是一大挑战。

这些用户属性资料在Line机器学习训练中,也是一项重要的资料。在Line统一资料平台IU中,有一个Z-feature特征资料集,内有所有用户可用来提供模型训练用的使用者特征资料,例如日本8,900万名用户的特征维度高达480万维,而台湾5千万名用户的特征维度则有140万维。这些庞大的使用者特征维度,正是Line各种与使用者相关的机器学习模型用来训练的重要资料集,让Line的讯息推播服务、广告发送服务或是各种内容推荐能够更精准锁定目标对象的关键。

用机器学习建立使用者特征自动化推测机制

如何产生庞大的使用者特征数据库,Line的作法是利用机器学习建立一个可以从使用者的原始Log资料来推测其特征属性的自动化推测机制,再套用到所有使用者,而且可以不断自动化进行,再定期更新,例如每天,这些特征资料,储存到UI平台的Z-feature特征资料集中,让各项服务的机器学习模型,都能有最新的使用者特征资料可用,也可用于各种推播或推荐筛选目标对象条件之用。

Line在2014年就打造出第一代的使用者人格推测系统,当时利用Scrath实作出用推测人格特质的神经网络模型程式码,为了处理大规模资料,后来进一步导入了MPI平行处理技术,2016年更进一步使用深度学习框架Theano和Mesos丛集打造出一整套系统,这就是第一代的使用者人格推测系统。

第一代系统的运算以CPU为主,所用的Theano深度学习框架,经过几年反而渐渐没落,甚至无法使用新的主流机器学习函式库,例如就无法使用PyTorch。

随着使用者规模越来越大,推测系统老旧的问题越来越严重,所以,去年夏天,Line决定导入GPU运算技术,也将整套系统转移到现在主流的容器管理平台K8S上。为了善用这个环境,Line还自行发展了一套分散式计算的机器学习函式库称为ghee,可以使用最新的主流深度学习函式库来进行使用者人格特征模型的训练和推测之用。

去年夏天打造第二代系统,采用GPU和K8s

不过,去年夏天完成了第二代系统后,Line还不满意,尤其日后要因应与日本Yahoo整并后暴增的3亿人用户规模,得让这套使用者人格预测系统更有效率,也要更容易扩大规模,Line后续还展开了几项系统改造工程。

为提高效率处理更庞大用户规模,展开多项系统改造

为了提高推论预测的准确度,Line将去年夏天所用的单层DNN,改为多层架构的CNN卷积神经网络中的ResNet深度残差网络,也针对不同类型的服务,来区分不同的embedding层,进行不同的嵌入处理程序,进而改善准确度, 另外还采用了MLP-Mixer作法,来让模型更快速达到SOTA等级的预测效果。渡辺哲朗解释,不是每一个用户都会用到Line的所有服务,MLP-Mixer这种作法可以弥补用户所用服务有限时资料不足的影响,能让对这类少量服务用户也能达到SOTA等级的预测效果。

除了改善模型,另一方面还需要维持属性推测的稳定性。渡辺哲朗表示,因为采取自动化作法来推测用户属性,有时模型推测的结果差异很大,例如昨天推测的40岁族群有10万人,但隔天模型推测有此特征的人却是7万人,但业务人员可能还来不及调整推播策略的设定,导致这波行销对象的人数就会少发送3万人,而不是原本预期的10万人。“模型输出不稳定会对业务团队产生很大的影响。”他强调。

所以,Line后来也采用了一些作法,来避免单日波动过大。例如开发了一个数据平滑化API,采用逐日分阶段释出新模型预测结果的作法,例如新模型虽然预测这项属性的人有10万人,但Line不会一天就将10万人的属性都套用新值,而是分几天,每天只更新部分使用者的属性,来避免突然一天出现增加 10万人异动的大波动,避免业务团队来不及因应。

另外,Line也打造了一套MLOps系统称为Lupus,可以用来追踪模型品质,来监控是否出现推论极端变化的情况,例如自动透过SQL指令来查询不同属性的用户数量,来判断新模型预测属性是否出现剧烈变化。

因为第二代使用者人格预测系统,可以针对不同的资料来源或属性类型,来采取不一样的特征抽取处理程序,但不同流程各自抽取特征时,处理流程中会有类似的阶段或步骤,例如特征抽取训练、建立资料集作法,或是进行模型再训练的作法也会类似。

因此,Line建立了一套可以让不同处理流程都能共用的机器学习函式库ghee,还提供了一套共用的Model API来进行训练,甚至是,连预处理都有一套处理API,方便开发者快速进行特征属性的资料预处理作业。“经过这些改造,Line才有了一套成熟的使用者人格预测系统。”渡辺哲朗指出。

下一阶段,Line要将ML函式库扩充方式也标准化和自动化,建立一个机器学习模型的基础框架,内有一套可共用的基础程式码配置档。

专案团队中的资料科学家只需要添加额外的程式码或者是这次专案特殊的配置设定资讯就可以建立新处理流程的模型,来加速建立新模型的速度,未来还要打造一套Auto-persona API,能用来处理所有用户的属性预测,自动产生各种服务的使用者属性预测。

2021-11-22 10:47:00

相关文章