目录[隐藏][展示]
- 1. MLOps 是什么意思?
- 2. 数据科学家、数据工程师和机器学习工程师之间有何不同?
- 3. MLOps 与 ModelOps 和 AIOps 有什么区别?
- 4. 你能告诉我 MLOps 的一些好处吗?
- 5. 你能告诉我MLOps的组成部分吗?
- 6. 使用数据科学会带来哪些风险?
- 7. 你能解释一下,什么是模型漂移?
- 8. 您认为 MLOps 有多少种不同的应用方式?
- 9. 静态部署和动态部署有什么区别?
- 10. 您了解哪些生产测试技术?
- 11. 流处理与批处理有什么区别?
- 12. 培训服务偏差是什么意思?
- 13. 模型注册是什么意思?
- 14. 您能否详细说明 Model Registry 的好处?
- 15. 你能解释一下冠军挑战者技术的工作原理吗?
- 16.描述MLOps生命周期的企业级应用?
- 结论
公司正在更频繁地使用人工智能 (AI) 和机器学习 (ML) 等新兴技术来增加公众对信息和服务的可及性。
这些技术越来越多地用于各个领域,包括银行、金融、零售、制造,甚至医疗保健。
越来越多的公司需要数据科学家、机器学习工程师和人工智能工程师。
知道可能 机器学习 如果您想在 ML 或 MLOps 领域工作,招聘经理和招聘人员可能向您提出的操作面试问题是必不可少的。
在您努力获得理想工作的过程中,您可以了解如何回答这篇文章中的一些 MLOps 面试问题。
1. MLOps 是什么意思?
操作 ML 模型的主题是 MLOps 的重点,也称为机器学习操作,这是更主要的 AI/DS/ML 领域中的一个发展领域。
被称为 MLOps 的软件工程方法和文化的主要目标是集成机器学习/数据科学模型的创建及其后续操作化 (Ops)。
传统的 DevOps 和 MLOps 有一些相似之处,但是,MLOps 也与传统的 DevOps 有很大的不同。
MLOps 通过关注数据增加了一层新的复杂性,而 DevOps 主要侧重于操作无法有状态的代码和软件版本。
ML、数据和 Ops 的组合是 MLOps 的通用名称(机器学习、数据工程和 DevOps)。
2. 数据科学家、数据工程师和机器学习工程师之间有何不同?
在我看来,这取决于公司。 数据传输和转换以及存储的环境是由数据工程师建立的。
数据科学家是利用科学和统计技术分析数据并得出结论的专家,包括根据现有趋势预测未来行为。
几年前,软件工程师正在研究运营和管理部署基础设施。 另一方面,运维团队正在研究开发,同时使用基础设施作为代码。 这两个流产生了 DevOps 职位。
MLOps 与 数据科学家 和数据工程师。 数据工程师正在获得有关支持模型生命周期和为持续培训创建管道所需的基础设施的知识。
数据科学家寻求开发他们的模型部署和评分能力。
生产级数据管道由 ML 工程师利用基础设施构建,该基础设施将原始数据转换为数据科学模型所需的输入,托管和运行模型,并将评分数据集输出到下游系统。
数据工程师和数据科学家都有能力成为 ML 工程师。
3. MLOps 与 ModelOps 和 AIOps 有什么区别?
端到端构建时 机器学习算法,MLOps是一个DevOps应用,包括数据采集、数据预处理、模型创建、生产中的模型部署、生产中的模型监控、模型定期升级。
使用 DevOps 处理任何算法的整个实现,例如基于规则的模型,称为 ModelOps。
AIOps 正在利用 DevOps 原则从头开始创建 AI 应用程序。
4. 你能告诉我 MLOps 的一些好处吗?
- 数据科学家和 MLOps 开发人员可以快速重新运行试验,以确保模型得到适当的训练和评估,因为 MLOps 有助于自动化 MDLC(模型开发生命周期)中的所有或大部分任务/步骤。 另外允许 数据和模型版本控制.
- 将 MLOps 想法付诸实践使数据工程师和数据科学家能够不受限制地访问培养和管理的数据集,从而以指数方式加速模型的开发。
- 如果当前迭代没有达到预期,数据科学家将能够依靠性能更好的模型,这要归功于模型和数据集版本化的能力,这将显着增强模型审计跟踪。
- 由于 MLOps 方法强烈依赖于 DevOps,它们还结合了许多 CI/CD 概念,从而增强了 代码的质量和可靠性.
5. 你能告诉我MLOps的组成部分吗?
设计:MLOps 很大程度上包含了设计思维。 从问题的性质开始,测试假设、架构和部署
建筑模型:模型测试和验证是此步骤的一部分,以及用于建立最佳机器学习系统的数据工程管道和实验。
运营:模型必须作为运营的一部分实施,并不断检查和评估。 然后使用编排工具监控和启动 CI/CD 流程。
6. 使用数据科学会带来哪些风险?
- 很难在整个公司范围内扩展该模型。
- 在没有警告的情况下,模型关闭并停止运行。
- 大多数情况下,模型的准确性会随着时间的推移而变差。
- 该模型根据无法进一步检查的特定观察结果做出不准确的预测。
- 数据科学家也应该维护模型,但它们很昂贵。
- MLOps 可用于降低这些风险。
7. 你能解释一下,什么是模型漂移?
当模型的推理阶段性能(使用真实世界数据)从其训练阶段性能恶化时,这称为模型漂移,也称为想法漂移(使用历史、标记数据)。
与训练和服务阶段相比,该模型的性能存在偏差,因此称为“训练/服务偏差”。
许多因素,包括:
- 数据分布的基本方式已经改变。
- 培训侧重于少数类别,然而,刚刚发生的环境转变增加了另一个领域。
- 在 NLP 困难中,现实世界的数据比训练数据具有不成比例的大量数字标记。
- 意外事件,例如基于 COVID-19 流行期间收集的数据预测的基于 COVID-XNUMX 前数据的模型的表现要差得多。
始终需要持续监控模型的性能以识别模型漂移。
当模型性能持续下降时,几乎总是需要模型再训练作为补救措施; 必须确定下降的原因并使用适当的治疗程序。
8. 您认为 MLOps 有多少种不同的应用方式?
将 MLOps 付诸实践的三种方法:
MLOps 级别 0(手动处理):在此级别中,所有步骤(包括数据准备、分析和训练)都是手动执行的。 每个阶段都必须手动执行,以及从一个阶段到下一个阶段的过渡。
基本前提是您的数据科学团队只管理少数不经常更新的模型。
因此,没有持续集成 (CI) 或持续部署 (CD),并且测试代码通常集成到脚本执行或笔记本执行中,部署发生在具有 REST API.
MLOps 级别 1(ML 管道的自动化):通过自动化 ML 过程,目标是持续训练模型 (CT)。 您可以通过这种方式完成持续的模型预测服务交付。
我们部署了一个完整的训练管道,确保模型在生产中使用基于活动管道触发器的新数据自动训练。
MLOps 级别 2(CI/CD 管道的自动化):它比 MLOps 水平高出一步。 如果您想快速可靠地更新生产中的管道,则需要一个强大的自动化 CI/CD 系统:
- 您在整个 CI 阶段创建源代码并执行大量测试。 包、可执行文件和工件是阶段的输出,将在稍后部署。
- CI 阶段创建的工件在 CD 步骤期间部署到目标环境。 具有修改后的模型实现的部署管道是阶段的输出。
- 在管道开始新的实验迭代之前,数据科学家仍必须手动进行数据和模型分析阶段。
9. 静态部署和动态部署有什么区别?
该模型是离线训练的 静态部署. 换句话说,我们精确地训练模型一次,然后使用它一段时间。 在本地训练模型后,将其存储并发送到服务器以用于生成实时预测。
然后将该模型作为可安装的应用软件分发。 一个允许对请求进行批量评分的程序,例如。
该模型是在线训练的 动态部署. 也就是说,新数据不断添加到系统中,并且模型不断更新以解释它。
因此,您可以按需使用服务器进行预测。 之后,该模型通过作为响应用户查询的 API 端点提供来投入使用,使用像这样的 Web 框架 Flask 或 FastAPI.
10. 您了解哪些生产测试技术?
批量测试:通过在不同于其训练环境的设置中进行测试,它验证了模型。 使用选择的指标,例如准确性、RMSE 等,对一组数据样本进行批量测试以验证模型推断。
批量测试可以在各种计算平台上进行,例如测试服务器、远程服务器或云。 通常,模型以序列化文件的形式提供,该文件作为对象加载并从测试数据中推断出来。
A / B测试:它经常用于分析营销活动以及服务设计(网站、移动应用程序等)。
根据公司或运营情况,使用统计方法分析 A/B 测试的结果,以决定哪种模型在生产中表现更好。 通常,A/B 测试通过以下方式完成:
- 实时或实时数据被分为两组,一组 A 和一组 B。
- Set A 数据被发送到过时的模型,而 Set B 数据被发送到更新的模型。
- 根据业务用例或流程,可以使用几种统计方法来评估模型性能(例如,准确性、精确度等),以确定新模型(模型 B)是否优于旧模型(模型 A)。
- 然后我们进行统计假设检验:原假设说新模型对被监控的业务指标的平均值没有影响。 根据备择假设,新模型增加了监控业务指标的平均值。
- 最后,我们评估新模型是否会显着改善某些业务 KPI。
影子或舞台测试:模型在用于生产(暂存环境)之前在生产环境的副本中进行评估。
这对于使用实时数据确定模型的性能和验证模型的弹性至关重要。 通过推断与生产管道相同的数据并交付已开发的分支或模型以在登台服务器上进行测试来执行。
唯一的缺点是开发分支不会在登台服务器上做出任何业务选择,也不会对最终用户可见。
模型的弹性和性能将使用适当的指标使用暂存环境的结果进行统计评估。
11. 流处理与批处理有什么区别?
我们可以使用两种处理方法来操纵我们用来生成实时预测的特征:批处理和流。
批处理 特定对象的先前时间点的特征,然后用于生成实时预测。
- 在这里,我们能够离线进行密集的特征计算,并为快速推理准备好数据。
- 然而,特征是一个时代,因为它们是过去预先确定的。 如果您的预测是基于最近发生的,这可能是一个主要缺点。 (例如,尽快识别欺诈交易。)
借助特定实体的近实时流式特征,推理是在给定输入集的流处理中执行的。
- 在这里,通过为模型提供实时的流式特征,我们可以获得更准确的预测。
- 但是,流处理和维护数据流(Kafka、Kinesis 等)需要额外的基础设施。 (Apache Flink、Beam 等)
12. 培训服务偏差是什么意思?
发球时的表现与训练时的表现之间的差异称为训练-发球偏差。 这种偏斜可能由以下因素引起:
- 在服务和训练管道之间处理数据的方式有所不同。
- 数据从您的培训转移到您的服务。
- 您的算法和模型之间的反馈通道。
13. 模型注册是什么意思?
模型注册表是一个中央存储库,模型创建者可以在其中发布适用于生产的模型。
开发人员可以与其他团队和利益相关者协作,使用注册表管理企业内所有模型的生命周期。 训练后的模型可以由数据科学家上传到模型注册表。
模型在注册后即可进行测试、验证和部署到生产。 此外,经过训练的模型存储在模型注册表中,以便任何集成应用程序或服务快速访问。
为了测试、评估模型并将其部署到生产中, 软件开发者 审阅者可以快速识别并选择训练模型的最佳版本(基于评估标准)。
14. 您能否详细说明 Model Registry 的好处?
以下是模型注册表简化模型生命周期管理的一些方法:
- 为了使部署更容易,请保存已训练模型的运行时要求和元数据。
- 您的训练、部署和退役的模型应该在一个集中的、可搜索的存储库中进行注册、跟踪和版本控制。
- 创建自动化管道,以实现生产模型的持续交付、培训和集成。
- 将暂存环境中新训练的模型(或挑战者模型)与当前在生产中运行的模型(冠军模型)进行比较。
15. 你能解释一下冠军挑战者技术的工作原理吗?
可以使用 Champion Challenger 技术测试生产中的各种操作决策。 您可能听说过营销背景下的 A/B 测试。
例如,您可以编写两个不同的主题行并将它们随机分发给您的目标人群,以最大限度地提高电子邮件活动的打开率。
系统会记录与主题行相关的电子邮件性能(即电子邮件打开操作),允许您比较每个主题行的打开率以确定哪个是最有效的。
Champion-Challenger 在这方面可与 A/B 测试相媲美。 您可以使用决策逻辑来评估每个结果,并在尝试各种方法来做出选择时选择最有效的结果。
最成功的模型与冠军有关。 第一个挑战者和匹配的挑战者列表现在是第一个执行阶段出现的所有内容,而不是冠军。
系统选择冠军用于进一步的作业步骤执行。
挑战者彼此形成对比。 然后,新的冠军由产生最大成绩的挑战者决定。
下面更详细地列出了冠军挑战者比较过程中涉及的任务:
- 评估每个竞争对手的模型。
- 评估最终分数。
- 比较评估结果以确定获胜的挑战者。
- 将新鲜的冠军添加到档案中
16.描述MLOps生命周期的企业级应用?
我们需要停止将机器学习视为只是一个迭代实验,以便机器学习模型进入生产。 MLOps 是软件工程与机器学习的结合。
最终的结果应该是这样想象的。 因此,技术产品的代码必须经过测试、功能化和模块化。
MLOps 的生命周期可与传统的机器学习流程相媲美,不同之处在于模型在生产之前一直保留在流程中。
然后,MLOps 工程师会密切关注这一点,以确保生产中的模型质量符合预期。
以下是一些 MLOps 技术的一些用例:
- 模型注册:看起来就是这样。 较大的团队在模型注册表中存储和维护版本模型的跟踪。 甚至回到以前的版本也是一种选择。
- 特征存储:在处理更大的数据集时,可能会有不同版本的分析数据集和特定任务的子集。 特征存储是一种尖端的、有品味的方式,可以使用早期运行或其他团队的数据准备工作。
- 元数据存储:如果要成功使用非结构化数据(例如图片和文本数据),则在整个生产过程中正确监控元数据至关重要。
结论
重要的是要记住,在大多数情况下,面试官正在寻找一个系统,而候选人正在寻找一个解决方案。
第一个是基于你的技术技能,而第二个是你用来展示你的能力的方法。
在回答 MLOps 面试问题时,您应该采取几个程序,以帮助面试官更好地了解您打算如何评估和解决手头的问题。
他们的注意力更多地集中在不正确的反应上,而不是正确的反应上。 解决方案讲述了一个故事,您的系统是您的知识和沟通能力的最佳例证。
发表评论