AIOps入门

什么是 AIOps?

机器学习操作涉及一组流程,或者更确切地说是一系列步骤,用于将 ML 模型部署到生产环境。 在 AI 模型投入生产之前,需要执行几个步骤。 这些过程确保您的模型可以针对大量用户群进行扩展并准确执行。

我们为什么需要 AIOps?

我们都希望可以创建一个容易预测的 AI 模型。 然而,创建一个快速、可靠、准确,并且可以大规模使用的 AI 模型是困难的。

使用AIOps的必要性如下:

  • AI 模型_依赖于大量数据_,单人难以跟踪。
  • 我们_难以跟踪参数_。 微小的变化可能导致结果的巨大差异。
  • 我们必须跟踪模型所使用的特征,特征工程是一项独立的任务,对模型的准确性有很大贡献。
  • 监控 AI 模型不同于监控软件或网络应用。
  • 调试 AI 模型是一门极其复杂的艺术
  • 模型依赖于真实世界的数据进行预测,_随着真实世界数据的变化,模型也应该发生变化。_这意味着我们必须跟踪新的数据变化并确保模型相应地学习。
  • 程序员常常找借口

DevOps vs AIOps

DevOps 是构建和部署软件程序的过程。那么 AIOps 与DevOps 有何不同?

DevOps 的目标是开发软件程序。所以需要规划程序的功能,并编写、构建、测试、部署,直至将它发布出来,然后监控应用程序的基础设施。并不断循环持续到应用程序完全构建发布为止。

但在 AIOps 中,我们的情况有所不同。 我们按照以下阶段实现AI 模型

范围界定(Scoping)— 首先定义需求,确认该问题是否需要AI来解决。 检查相关的数据可用性,验证数据可以无偏见反映真实世界的用户用例。

数据工程(Data Engineering)— 这个阶段涉及到“数据收集”、“基线设定”、“数据清洗”、“数据格式化”、“打标签”以及“数据管理”。

建模(Modelling)— 编码环节,创建 AI 模型,使用预处理的数据训练模型。并对结果错误分析,定义错误度量,并跟踪模型性能。

部署(Deployment)— 打包模型,根据实际需求将模型部署到云端或者边缘设备。部署方式如下:RESTful 或 gRPC 的API 服务;部署在docker container 的云端架构;部署在 serverless 云平台;部署在移动应用上的边缘模型。

监控(Monitoring)— 部署完后,我们需要依赖监控来维护和提升模型效果。这个阶段有以下部分:

  1. 监控部署的基础设施——负载、利用率、存储和运行状况。 我们可以了解到有关 AI 模型的运行环境状况。
  2. 监控模型的性能、准确性、损失、偏差和数据漂移。 我们可以了解到模型是否按预期执行,是否适用于现实场景。

可以形成正反馈循环,因为某些模型可能需要依赖用户输入和预测数据继续学习。大部分 AI 模型开发场景都是这个流程。

以上是 AI 项目的基本生命周期后,接下来介绍 AI 模型的基础设施。

AI 产品架构

上图是在生产中的模型平台的架构。其中,ML/AI代码只是一小部分。

数据收集(Data Collection) — 从大量的数据源中收集数据。AI 模型需要大量的数据进行学习,我们要收集涉及到需求的所有数据。例如,图像分类需要收集所有可用图像,可以从网上抓取图像。语音识别需要收集大量的音频样本。

数据验证(Data Verification) — 检查数据的有效性,包括检查数据的时效、可靠、可反映真实世界,还有数据结构是否正确。

特征提取(Feature Extraction)— 选择最需要的特征,也就是说:我们的模型可能并不需要所有的数据来训练。有些模型删除了几列或者使用部分的数据表现会更好。我们需要对特征的重要性进行排序,保留重要的特征,不重要的特征选中抛弃。

配置(Configuration)— 这一步设置系统集成方案以及在管道中各种组件间的通信方式。比如,数据pipeline链接到数据库,AI 模型可以访问数据库,AI 模型以某种方式对外暴露预测的接口,并且可以把格式化输入传入到模型中。所有的必要配置都要完整且正确的记录在文档中。

ML 代码 (ML Code) — 编码部分,我们开发的模型,它需要从大量数据中学习并进行预测。 很多的 AI 开发库。 例如:tensorflow、pytorch、scikit-learn、keras、fast-ai 等等。 一旦我们有了一个模型,我们就开始通过调整超参数来提高它的性能,测试不同的学习方法,直到我们对模型的性能满意为止。

机器资源管理(Machine Resource Management)— 这部分涉及到对 AI 模型所需资源的规划。一般情况下 AI 模型需要大量的资源,包括 CPU、内存、存储、GPU、TPU 等。训练 AI 模型就会涉及到时间以及金钱方面的规划。模型越大,需要投资的存储空间就越大。

分析工具(Analysis Tool) — 通过使用分析工具了解模型的性能是否达标。计算损失,检查模型漂移,检查预测结果,检查是否过拟合或欠拟合。通常使用模型库附带的分析工具包和误差测量工具。

项目管理工具(Project Management Tool) — 跟踪 AI 项目非常重要。 在处理海量数据、特征、AI 代码、资源管理时很容易搞砸。 有很多项目管理工具可以帮助我们。

基础设施(Serving Infrastructure)— 模型在开发、测试并准备就绪后,我们需要将它部署在用户可以访问的地方。 大多数模型都部署在云端。 AWS、GCP 和 Azure 等公共云提供商甚至具有特定的 AI 相关功能,可以轻松部署模型。

还可以将模型部署在边缘计算,比如用于图像识别、语音识别等用例的移动应用程序。 或者为某些用例(如特斯拉的自动驾驶)定制芯片和处理器。 我们必须考虑有多少计算能力可用以及我们的模型大小有多大。

监控(Monitoring)— 使用监控系统来观察我们部署的模型及其运行的系统。 收集模型日志、用户访问日志和预测日志将有助于维护模型。 有多种监控解决方案可用,例如 greylog、elasticstack 和 fluentd。 云提供商页会提供自己的监控系统。

实战

以上我们已经了解了 AI 项目的生命周期,AI 产品中的基础设施。

接下来,我们将了解如何在生产中部署 AI 模型。

珍对 AI 的需求。

“ 珍有一块很大的南瓜地,每年她都会将南瓜卖给市民和当地的南瓜工厂。 由于她每年的需求量都很大,因此要检查每个南瓜并检查它的好坏对她来说变得很乏味。
现在她找你帮助她开发一个 AI 引擎,这将帮助她预测给定的南瓜是好是坏。

这是一个简单的分类问题。

让我们讨论解决这个问题的方法。

  1. 首先,我们收集关于珍的南瓜的所有信息。 好的南瓜、还可以的南瓜和坏南瓜的所有照片。 然后我们请善良的市民发来他们从珍那里买来的南瓜的照片。 (他们中的一些人发了西瓜的照片!)这一步是EDA +编译数据集。
  2. 现在我们已经有了很好的图片集。 是时候标记这些了,在珍的帮助下,我们标记了数百张图片。 我们检查图片的分辨率,设置标准分辨率,丢弃低质量图像,统一图像的对比度和亮度以获得更好的可读性。 这一步是数据准备
  3. 现在我们训练一个 tensorflow 模型来对图像进行分类。 假设我们使用带有 ReLU 激活函数的顺序神经网络。 我们定义了 1 个输入层、2 个隐藏层和 1 个输出层,这只是一个基本的卷积神经网络。 我们将图像数据集分成训练集和测试集,将训练数据作为输入提供给 ConvoNet。 模型已训练。 这一步是模型训练。
  4. 模型训练完成后,我们使用测试数据集评估模型。 基于预测,我们比较结果并检查预测的准确性。 此步骤是模型评估。
  5. 我们调整模型的超参数,以提高准确性,重新训练模型并再次评估它。 完成此迭代,直到珍满意为止。 这一步是模型分析。
  6. 现在我们需要部署这个模型,把它部署在云上或者是手机上,珍就可以在日常工作中使用这个模型,上传图像并实时获得结果。 这是模型部署。

我们已经手动完成了从数据准备到部署的所有工作。 恭喜! 这个 AIOps 过程称为 Level-0。 我们已经实现了部署,但所有事情都是手动完成的。 您可以参考下图。

MLOps Level-0

珍很高兴。

现在有了新的需求。 因为您无法每天手动训练模型,所以您创建了一个自动化管道,以验证数据、准备数据并训练模型。 您还尝试通过比较各种错误指标来获得最好的模型。 通过管道会处理好这一切。 这个过程就是 AIOps 的第 Level-1 。它可以自动训练、分析模型。 您只需要检查是否有合适的数据可用,并确保没有倾斜的数据集,以便正确训练模型。

AIOps Level-1

大多数公司都达到了这种水平的 AIOps。 这也可以由个人数据科学家或 AI 工程师实现。 当你能在开发环境中测试模型时,就已经足够了。

现在让我们问自己几个问题。

  • 模型能否用不同品种的南瓜复制结果?
  • 当添加新的数据时,模型是否能够重新训练?
  • 能同时被几十万人使用吗?
  • 当您将模型部署到一个大区域甚至全球时,您如何跟踪它们的效果?

这就是Level- 2。

Level-2

MLOps Level-2

流程图分解如下:

  • 图中_红线上方所做的一切都是Level-1_。
  • 整个_编排实验现在是自动化 AI Pipeline 的一部分。_
  • 我们引入了一个_特征存储_,它从各种来源提取数据并将数据转换为模型所需的特征。 AI pipeline 批量使用 Store 中的数据。
  • AI Pipeline 连接到_元数据存储_。 不需要手动训练模型—— 存储拥有管道中每个阶段的记录。 一个阶段完成后,下一个阶段查找记录列表,找到上一个阶段的记录,然后开始执行。
  • 然后将模型存储在_模型注册表中。我们在此处存储了一堆具有各种精度的模型。 根据要求,然后将适当的模型推送到 CI/CD 管道,管道将其部署为预测服务。_用户可以在需要时访问模型。
  • 监控该系统的性能。 假设有一堆新的转基因南瓜。 _模型不知道这一点。 这是一个很可能被错误分类的新数据集。_这种性能下降会触发,这将导致在新数据上重新训练模型。
  • 循环。

当性能下降或有新数据可用时,我们会重新训练模型。 最好让模型保持最新状态,这样真实世界的变化就会反映在模型中。 例如:当世界已经转向数字流媒体时,新的模型不应该推荐磁带。

最后

我们介绍了什么是 AIOps? 为什么要用它? 生产基础设施设置是什么样的? 而且,一旦有了基础设施,实施的流程是什么。

我们可以从创建简单模型和自动化步骤开始。 因为这是一个迭代过程,需要时间才能做好。

推荐一些 MLOps 工具,例如 MLFlowSeldon Core、Metaflow 和 Kubeflow 管道

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用,宝兰德是一种自动化运维工具箱,是云智慧提供的自动化平台中的一个场景之一。它可以帮助系统运维人员进行应用发布、自动巡检、运维工具箱、灾切、批量、网络、应用处置、安全合规和软件安装等任务。因此,对于安装宝兰德AIOPS,可以使用云智慧的自动化平台进行操作。 根据引用,云智慧的自动化平台提供补丁管理和补丁安装功能。这意味着您可以使用该平台为系统安装宝兰德AIOPS所需的补丁,以解决可能存在的安全隐患,并确保系统的健康状态。 此外,根据引用,云智慧的自动化平台是安全可信的技术平台,符合国家的数据安全法规。因此,在安装宝兰德AIOPS时,您可以放心使用云智慧的自动化平台,以确保数据传输、存储和解析等环节的安全合规性。 综上所述,您可以使用云智慧的自动化平台来安装宝兰德AIOPS,并确保其安全可靠的运行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [智能运维应用之道,告别企业数字化转型危机](https://blog.csdn.net/Sharon0408/article/details/124726853)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值