构建实时机器学习管道的挑战

发布者:火狐媚影 2023-4-16 09:35

实时机器学习正在兴起,随着公司开始将实时引入他们的机器学习管道,他们发现自己不得不权衡性能、成本和基础设施复杂性之间的权衡,并确定哪些是优先考虑的。

在这篇文章中,我们将看看在从批处理到实时过渡的每个阶段发生的一些最典型的权衡,以及为什么这些优势和劣势是必须牢记的。

实时机器学习的典型路径

批量处理在数据不经常变化的情况下是最有用的,这在现在是很罕见的。它曾经被认为是采用机器学习的一种较低成本的方法,但许多使用批处理的公司开始意识到,对于那些不是每天都访问他们网站的用户的相关数据,在计算和存储上浪费了很多钱,所以预先计算的特征(他们预先花钱计算,现在又花钱存储)没有被查阅。这些公司正朝着实施实时机器学习的方向发展,尽管每一个计算单位对于实时来说都是比较昂贵的,因为这往往可以通过加快迭代周期,让他们只使用和存储相关的数据来节省资金。这种潜在的成本降低只会使公司在使用更多的最新数据时看到的模型性能优势更加突出,并能更快地对市场或用户偏好的变化做出反应。

如果你想进一步了解实时机器学习的优点,请查看我们的博文,内容是7个理由说明为什么实时机器学习会在这里继续存在.

第一阶段:所有都是批处理

全批处理的实时机器管道是构建实时机器管道最常见的方法。在这种情况下,特征从一个批处理源计算,如Snowflake或S3,模型预测为每个用户/场景提前计算,存储,并在需要时提供。在某些情况下,模型预测甚至不在线提供(例如通过Redis);在这些情况下,一个批处理作业读取所有的模型分数并执行一个动作或计算(例如,如果模型预测用户是否会流失,一个管道读取这些分数并决定向他们发送电子邮件,所有这些都是离线发生的)。

批量机器学习管道的最大优势是,它相对容易设置,不需要实时数据。然而,缺点是批处理管道可能是缓慢和低效的,使它们不太适合大规模或时间敏感的数据。

挑战

所有批处理机器学习管道的最大挑战之一是陈旧的预测和开发一个修复它们的过程,或任何其他问题。因为数据被存储在一个静态的地方,你需要在训练前获取和处理数据。这个过程变得很乏味,因为任何时候你需要进行更新,无论多小的更新,你都需要再次经历获取、处理和训练的整个过程。在大多数情况下,这意味着许多采用批处理的公司并没有频繁地训练他们的模型,使其真正有用(因为他们不是最新的)。

另一个原因是,批处理程序需要巨大的数据集来保存所有的数据,因为你是为所有的用户(甚至只是所有的活跃用户)计算,而且没有任何个性化。这在一些特定的、简单的情况下可以起作用,但在我们目前的快节奏、高动态的世界中,对大多数情况并没有用。此外,在改变你的数据方面缺乏灵活性和速度,这对任何新用户的个性化都是一种挑战;第一印象对创造重复用户和减少用户流失是非常重要的,所以这种无法对新用户进行适当的个性化的情况会对企业产生重大影响。

上述的挑战也导致了实验速度的明显延迟。对于大多数公司经历的前三个阶段,模型的训练是有间隔的,但相对而言,批处理的间隔要长得多,因为你是在用静态的数据和模型工作,所以每次你给它提供新的数据时,要确定你的模型是在改进还是在漂移,这是非常耗时的。

阶段2:用实时模型批量计算的特征

当公司开始将实时性整合到他们的机器学习管道中时,他们通常开始继续使用批量特征,但让模型实时使用批量计算的特征;模型实时提供服务,但计算的特征是在一个键值存储中。通过这种实现方式,你可以得到熟悉的静态数据的轻松和简单,但开始看到更多最新的模型和预测的一些准确性和性能优势。

挑战

随着特征被批量计算,你仍然必须确保你没有使用陈旧的特征,并且需要间隔训练模型,但这些间隔可以比所有批处理过程更短,因为你的反馈回路更短。既然如此,你现在必须注意你的模型服务,因为这是唯一的服务部分,所以它必须是可靠的,并有良好的服务水平协议。

如果不增加工作,你也不能完全获得实时的好处,因为你的功能仍然是静态的;即使你的模型是实时提供的,也需要大量的工作才能使用应用上下文。由于有许多移动的部件,你的模型是实时的,数据验证和监控需要到位,以帮助捕捉数据质量问题和模型漂移,以免它开始影响业务指标。这意味着需要将日志记录到位,工程师需要随时待命。

由于你的机器学习管道的任何元素都是批量计算的,你也无法解决现代网站和应用程序的一些最重要的用例。例如,在社交网站、新闻应用程序和大多数试图抓住和保持用户注意力的平台上,人们期待个性化的内容和馈送(甚至是下意识的),而批量计算的功能根本不允许有足够快的迭代来提供这种用户体验。欺诈检测对于大多数商业用例来说也是必须的,但这需要几乎立即识别并对不良行为者采取行动,而这在批量计算的功能中也是不可行的。

第三阶段:实时模型和特征,间隔模型训练

特征是实时的,而模型是实时的,并在间隔时间内进行训练。事实上,模型在使用实时更新的特征时,消除了之前阶段的大部分呆板问题。这个实现是你真正开始能够挖掘像欺诈检测这样的用例的地方,在那里你需要能够即时检测并对偏离模型预测的行为或趋势采取行动。

挑战

随着你的系统的更多部分成为实时的,更多的移动部件被引入,这增加的复杂性使你的管道更难维护。如果你从头开始构建东西,保持一个良好的SLA可能是困难的,负责不同元素的团队必须学会协调他们的努力。负责编写机器学习管道和管理功能的数据工程师需要与负责将模型投入生产的机器学习工程师协调,这些模型需要由数据科学家进行培训,所有这些人都需要同步进行;起初,这种协调需求会降低团队速度。

监测在这个阶段变得更加重要,因为你的数据变化得更快。模型最终还是会退化的,所以重要的是你要有坚实的漂移检测机制,并且在检测到漂移时有能力训练新模型。

数据更快速的变化也意味着你需要注意训练数据与服务时间的数据之间的偏差;你用来训练模型的特征与你进行预测时使用的特征看起来会略有不同。你可以使用记录和等待的方法,但这可能会使你更难试验新的特征,因为这很耗时,而且会降低你的速度。一个更准确的方法是使用时间点回填,但这很快会变得复杂。

然而,实时特征计算的另一个问题是处理坏的或失序的数据。当使用实时特征时,需要采取一些方法来处理可能不按时间顺序出现的数据,这些因素包括用户的设备在连接不畅时缓冲它发回给你的数据;在预测行为和建立让用户感到直观的工具时,用户行为的顺序往往和行为本身一样重要,而当工具感到直观时,用户会继续使用(和推荐)它们。如果你的数据被破坏,在实时特征上训练的模型也会变得不准确;这可能是一些坏的数据点的结果,或者像一个特征所使用的单位的变化没有被正确地传达给机器学习工程师。为了解决这个问题,最理想的做法是对进入系统的每个数据点进行数据正确性检查。

随着更多方面的实时性,最后一个大的挑战是,预测什么模型在实践中表现最好变得更加困难;一个新训练的模型可能在纸上看起来很好,但在生产中可能表现很差。这就是金丝雀模型发挥作用的地方;当部署一个新的模型时,你可以在最初将它应用于一小部分请求,以确保它以你期望的方式运作。然而,这也增加了你系统的复杂性。

第四阶段:实时特征和模型,在线模型训练

到目前为止,最昂贵、最复杂、性能最强的方法是完全实时的机器学习管道;模型实时运行,特征实时运行,模型在线训练,所以它在不断学习。由于完全实时系统所需的时间、金钱和资源是如此广泛,这种方法不常被利用,即使是FAANG类型的公司,但我们在此强调它,因为这种类型的实时实施的能力也是不可思议的。

完全实时系统最常被用于广告预测等用例,该模型预测用户参与广告的可能性;当广告是你的商业模式时,每一分钱都很重要,完全实时的机器学习管道可以确保资源被有效分配。

挑战

在线模型训练严重依赖你的模型的 "快照 "来进行检查和平衡,以及对损坏的数据作出反应的能力(基本上是你的模型的版本系统)。模型快照只要有几个坏的训练数据点就很容易变坏,导致模型行为不稳定,所以这是周期的另一个部分,你需要采用出色的监控,以及随叫随到的设置,以便快速捕捉和恢复坏的快照,并知道要恢复到哪个快照。

此外,在这种类型的系统中,前一阶段提到的许多缺点都被放大了,因为事情的发展速度成倍增加。团队必须更有效率和沟通;需要为数据质量、漂移和训练偏差增加更多更好的检查点;模型实验变得更加棘手;有更多因素需要担心确保低延迟。对于大多数公司来说,维护这种类型的系统的成本超过了它所提供的好处;如果你甚至需要质疑你是否需要在线模型训练,你可能不需要。

最后的想法

在这篇文章中,我们回顾了不同实时机器学习管道的好处和缺点。虽然任何方法似乎都有不少缺点,但最重要的是要知道这些缺点是什么,这样你就可以在它们发生之前做好准备并减轻它们,而不是在你盲目进入时争先恐后地玩打地鼠游戏。缓解这些挑战是你可以决定在内部进行的,但也有许多工具可以帮助解决每种方法所涉及的复杂问题的子集,甚至还有一些,如 芬尼爾等,可以解决大部分(如果不是全部)问题。

虽然你的用例的理想方法将取决于你的模型所依赖的数据变化的速度,但许多公司正朝着在他们的ML管道中实施更多的实时方面发展,因为这种策略带来了性能上的好处。在第三方工具的帮助下,实现一个高性能的实时机器学习管道是相对容易的,它具有实时功能和实时模型,就像阶段3那样,并获得一个完全端到端的实时机器学习管道的好处,而没有通常伴随着实时机器学习管道的基础设施的复杂性。

原文于2022年11月18日发表于 https://fennel.ai 。

大家都在看

  • 从屈辱落后到颠覆全球,国产盾构机的进击之路

    从屈辱落后到颠覆全球,国产盾构机的进击之路 1997年冬,陕西秦岭腹地的施工支洞里,一台德国硬岩掘进机突然停了。洞深已经打了好几公里,距离贯通还远,刀盘却不转了。中方调度员跑去问外方工程师,对方摊手:按合同,每天工作八小时,其余时间不修;要加急,另 ... 机械之最09-12

  • 机械专业还能不能读?不吹不黑,讲透真实就业现状

    机械专业还能不能读?不吹不黑,讲透真实就业现状 很多高中生填志愿、大学生选方向,都会问到机械。网上说法两极分化,有人说机械是天坑,进厂倒班没前途;也有人说制造业是根基,越老越吃香。两种说法都不算全错,但大多只截取了局部情况,容易误导人。 我不拿虚头 ... 机械之最09-12

  • AI时代最高级的自律:把琐碎交给机器,把人生留给自己

    AI时代最高级的自律:把琐碎交给机器,把人生留给自己 现在的我们,似乎陷入了两种极端。 一种人过度焦虑:什么都怕AI替代,疯狂报课、跟风学习,越学越慌,生怕被时代淘汰。 一种人过度依赖:写文案靠AI、想思路靠AI、做工作靠AI,彻底放弃思考,慢慢活成了“没有思想的 ... 机械之最09-12

  • 牛顿:人类史上最强天才,凭一己之力改写世界科学史

    牛顿:人类史上最强天才,凭一己之力改写世界科学史 在人类科学浩瀚的长河中,若要选出一位以一人之力撑起一个时代的天才,那一定是艾萨克·牛顿。在他之前,人类看世界全凭猜测与碎片经验;自他之后,世间万物皆有规律、可计算、可推演。他终结蒙昧、开启理性,堪称近 ... 机械之最09-11

  • 乏力、夜间盗汗……警惕血液里的“无声警报”!这种肿瘤,盯上中青年人→

    乏力、夜间盗汗……警惕血液里的“无声警报”!这种肿瘤,盯上中青年人→ 乏力、盗汗、皮肤痒?别总怪工作累、压力大。骨髓增殖性肿瘤(MPN)——这个专门“伪装”成疲劳感的血液病,正悄悄盯上中青年人。这种肿瘤究竟是如何在身体里“安营扎寨”的?又是怎样被一次不起眼的体检意外“拆穿 ... 机械之最09-11

  • 这堂课,很酷很中国

    这堂课,很酷很中国 9月1日,学生在江西省抚州市南丰县红色文化展示馆内参观学习。 谢 东摄(人民图片)9月2日,贵州省铜仁市松桃苗族自治县第一小学迎来别样的开学仪式,一场精彩的机器人表演吸引一年级新生驻足观看。 李 湉摄(人民图片) ... 机械之最09-11

  • AI新经济,在这里看见丨2026外滩大会首日观察

    AI新经济,在这里看见丨2026外滩大会首日观察 当AI真的开始工作,它究竟能够为经济带来什么?9月10日,上海黄浦江畔,2026 Inclusion·外滩大会正式开幕。今年大会的主题是“共创AI新经济”。和过去几年相比,这是一个颇有意味的变化。从ChatGPT横空出世开始,人 ... 机械之最09-11

  • 数智时代,记者何为(序与跋)

    数智时代,记者何为(序与跋) 《AI时代的记者——一个新闻老兵的人机协同手记》:贾永著;贵州教育出版社出版。2026年,距离1956年达特茅斯会议正式开启人工智能研究,整整70年。70年间,AI(人工智能)从少数科学家的学术设想,走出实验室,进入产 ... 机械之最09-11

  • 一文看懂IFA2026硬科技新趋势:这10个问题,比「AI落地」要具体得多

    一文看懂IFA2026硬科技新趋势:这10个问题,比「AI落地」要具体得多 9月4日至8日,IFA 2026(柏林国际消费电子展)在德国柏林举行,现已落下帷幕。作为全球三大消费电子展会之一,本届IFA一共聚集了来自49个国家和地区的1900多家展商,预计共吸引全球超过22万的观众。虽然依然是中国厂 ... 机械之最09-10

  • 海报丨能源革命,“碳”路者说

    海报丨能源革命,“碳”路者说 山西正在书写一场关于能源转型的崭新故事井下的智能监测田间的光伏板工厂里的跃动的智能机械……转型的答案从来不在纸面上而在每一个实干者的手中他们是技术员、工程师他们是运营官、村支书……他们用行动回答同一个 ... 机械之最09-10