数据优先的人工智能会是下一个颠覆性的大事件吗?(Continual)

2023-10-28 17:30

本文主要是介绍数据优先的人工智能会是下一个颠覆性的大事件吗?(Continual),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现代机器学习 (ML) 平台的起步已经大约有十年的时间了,这一平台的灵感主要来自数据科学家不断增长的基于Python的开源技术生态系统。现在是让我们来回顾已经取得的进展,同时突出企业在现有 ML 平台上存在的主要问题,并讨论下一代平台会是什么样子的好时机。正如我们将要讨论的,我们相信 ML 平台市场的下一个颠覆将是数据优先的 AI 平台的增长。

ML 解决方案的基本组件

曾经有一段时间,构建机器学习模型需要大量工作(涉及实现您自己的算法,在此过程中编写大量代码,并希望您在将学术工作转化为函数库时不会犯重大错误)。现在我们有了 scikit-learn、XGBoost 和 Tensorflow/PyTorch 之类的东西,一个很大的障碍已经消除,非专家可以用较少的领域知识和编码经验创建模型,并可能在数小时内得到初步结果。在此过程中,有时我们很容易忘记 ML 解决方案的本质是什么。我们是否倾向于尝试从头开始解决 ML 问题,我们需要什么?我一直认为任何 ML 解决方案都有四个关键部分:

  • 数据:训练数据对于任何 ML 算法都是必不可少的。
  • 代码:选择您的库,但需要一些代码才能使用它。
  • 环境:我们需要在某个地方运行代码。
  • 模型:我们将用来进行预测的东西。

image.png

由此产生的输出是预测,这不可避免地是企业感兴趣的东西,但要做到这一点需要付出不小的努力。我提出这个是因为我想将其作为一种查看不同时代 ML 平台的方式,基于它们所关注的四个元素(上面列出的)中的哪一个:

  • 第 1 代 ML 平台是基于代码和环境的:重点是编写代码、协作以及使代码易于执行
  • 第 2 代 ML 平台是基于模型的:重点是快速创建和跟踪实验,以及部署、监控和理解模型。
  • 第 3 代 ML 平台是基于数据的:重点是特征(features)和标签的构建(这是大多数场景(用例)真正独特的方面)以及 ML 工作流其余部分的自动化。

正如我们将在下面看到的,平台可以根据他们的关注点发生很大变化。适合您组织的平台很大程度上取决于您的目标:您是否需要一个平台来简化面向研究的数据科学家的开发生命周期(第 1 代 ML 平台),或者帮助您的企业以最小的风险尽快执行 AI 场景(用例)的平台(第 3 代 ML 平台)?

第 1 代 ML 平台:协作数据科学

2000 年后期,随着 Python 开源库生态系统的出现,ML 平台的现代风格开始形成,这使得开发数据科学的任务相对容易。 NumPy (2006)、pandas (2008) 和 scikit-learn (2007) 等软件包使得在 Python 中转换和建模数据比以前更容易,并且结合 matplotlib (2003) 和 IPython (2001) 等工具,让数据科学家可以相当快速地启动本地开发环境,并且很容易拥有大量工具供他们使用。许多早期的数据从业者来自学术界,之前习惯于使用 Mathematica 和 Maple 等面向 Notebook 的工具,因此 2011 年 IPython Notebooks 的发布(后来在 2015 年更名为 Jupyter Notebooks)大张旗鼓也就不足为奇了(尽管我们将在本文中采用以 Python 为中心的方法,但值得注意的是,RStudio 也是在 2011 年发布的)。到了这个时候,由于 Pypa(维护 virtualenv 和 pip 等工具)的出现,使得 Python 包和环境管理也变得更加容易;几年后,数据科学家使用 XGBoost (2014)、TensorFlow (2015) 和 PyTorch (2016) 获得了更强大的建模工具。对于 Python 数据专业人士来说,所有这些都很到位。

下图展示了通过 Jupyter Notebooks 工具使用 Lorenz Attractors 来解决您的业务问题。

image.png

Notebooks 曾经是并将继续是数据科学家日常使用的主要工具之一。不论你是是爱他们或恨他们,他们都以一种其他编辑器技术没有的方式在 ML 领域扎根。尽管它们可能很棒,但随着公司开始将 notebooks 应用到他们的技术栈中时,他们也不可避免地发现了许多缺口(gaps),例如:

  • 分享工作并与同行进行合作
  • 建立一个有效的环境来运行别人的notebook
  • 访问正确的基础架构以运行代码
  • 调度 notebooks
  • 强制执行编码标准

早期采用 notebook 的高科技公司可能已经构建了某种定制解决方案来应对上述挑战(也许更多)。其余的软件供应商开始出现提供“协作数据科学”的工具。这些工具是为数据科学家构建的:它们围绕着notebook,并试图减少在企业级协作和运行代码的冲突。如果我们回顾机器学习的早期的基本组件,这些工具完全专注于代码和环境。当代的解决方案基于云的,并在容器中运行,从数据科学家那里抽象出更多的复杂性。一般来说,他们往往擅长他们所做的事情。因此,为数据科学家提供一个很好的开发沙箱来探索和协作非常有用。

然而,多年来,这些工具已经证明它们在这几个领域都存在不足,例如:

  • 缺乏运营模型:通过使平台尽可能通用和灵活,自动化常见任务变得更加困难。
  • 艰难的生产之路:Notebooks 是该平台的核心资源,但众所周知,它们在生产工作中难以依赖并且极易出错。
  • 以数据科学家为中心:基于代码的方法非常适合数据科学家,但这意味着您组织中的其他用户将获得很少的价值。即使是你付钱给写代码的大多数人(软件开发人员)通常也不喜欢使用 Notebooks。
  • 鼓励流水线丛林:平台手动的本质意味着任何生产工作都需要复杂的数据和 API 流水线,以确保事情真正有效。
  • 更难的任务是“留给读者的操作”:特征工程、特征平台(Feature Store)、模型部署和监控,所有这些都是手动或外部完成的。

尽管第一代 ML 平台在开发周期中有它们的用途,但时间证明它们对于生产工作来说是糟糕的系统。我相信大多数负面新闻(关于 ML 是一个众所周知的难以操作的领域)都是由于第一代平台的错误。 Notebooks 可以很好地制作一个新的、困难的用例(场景)的原型,但随着想法的成熟,它们应该很快被丢弃,以便专注于更强大的系统。因此,它们通常不是创建生产 ML 系统的良好的起点。

第 2 代 ML 平台:基于模型为重心的解决方案

大约在数据科学领导者对基于 Notebooks 的平台(无论是内部构建的还是供应商收购的)感到沮丧的时候,很多人开始谈论“数据科学工作流程”或机器学习开发生命周期 (MLDLC)。重点是开发一个类似于软件开发生命周期的框架,这在软件开发团队中是相当规范的,并有助于指导该团队从开发到生产。在 ML 中非常需要这样的东西来帮助陷入困境的团队将各个部分组合在一起,以便构思一个合适的 ML 生产策略。

下图展示了机器学习开发生命周期。
image.png

正如我们所讨论的,协作数据科学工具在生产过程中留下了许多空白,而 MLDLC 确实突出了这一点。 协作数据科学工具主要用于这个周期的早期阶段:围绕特征工程和模型训练。 在这个周期的剩余时间里,我们需要寻找其他工具。

Notebooks 可能很有用,但它们仍然会留下很多未覆盖的 MLDLC。
image.png

幸运的是,新工具已经在兴起:用于模型训练的 AutoML 工具和实验跟踪器、用于模型部署和监控的 MLOps 工具、用于模型洞察的可解释 AI 工具 (XAI) 以及用于端到端自动化的流水线工具。 有趣的是,特征平台(feature store)工具在过去几年才真正开始出现,我们将在第 3 代 ML 平台中讨论更多。在任何情况下,只要有足够的奉献精神和金钱,你就可以把 MLDLC 中的所有盒子都覆盖,并为自己构建了一个强大的 ML 平台而感到满足。

image.png

所有这些工具都解决了 MLDLC 中的一个特定问题,它们都专注于模型,而不是代码。这代表了对 ML 平台的思考发生了相当大的转变。与其期望数据科学家通过编码从头开始解决所有问题,或许更合理的方法是简单地为他们提供工具,帮助他们自动化工作流程的各个部分并提高他们的生产力。许多数据科学领导者意识到他们的团队主要使用“现成的”算法,所以让我们专注于自动化这个过程中难度较低的部分,看看我们能否将拼图排列成某种连贯的生产过程。

这并不是说每个人都欢迎这些工具。尤其是 AutoML ,可能会因为数据科学家不相信该过程的结果,或者可能会因为它的存在而感到威胁而遭到抵制。前者是采用 XAI(可解释AI)与 AutoML 一起协作的绝佳案例,而后者我相信随着时间的推移会逐渐消失,因为数据科学家意识到 AutoML 不是在与他们竞争,而是他们可以用来为业务获得更好更快的结果的东西。没有仔细检查就不应该信任任何东西,但是 AutoML 可以成为一个伟大的工具,用于在一个又一个用例(场景)中工作时自动化和模板化可能会成为一个非常繁琐的过程。

从表面上看,所有这些基于模型的重心的解决方案看起来都很棒。像神奇宝贝一样汇集它们,你就完成了 MLDLC。

然而,将这些解决方案组合在一起也并非没有缺陷,具体如下所示:

  • 集成困难:要执行一个简单的用例,解决方案的 ML 部分需要四个或更多不同的工具。当出现故障时,只能祝您好运。
  • 流水线(Pipeline)丛林仍然存在:可以说,它们比第1代 ML 平台中的情况要糟糕得多。您现在有最初的流水线进入到 ML 平台,以及所有新工具之间更多的流水线。整个系统的流水线就会变得无比冗长,而你可能逐渐迷失在这混乱的丛林中。
  • 与数据平面隔离:这些工具都以模型为中心,并在模型而非数据上运行。您仍然需要像第1代 ML 平台中 Notebook 这样的工具来协作处理任何需要完成的数据工作,因为它们不提供这些功能。
  • 产品是由 API/SDK 组成的复杂网络:第 2 代 ML 平台中的一个现实生产场景是:编写一个生成训练数据的脚本(可能从 Notebook 中编写),通过 API 或 SDK 将生成的 Dataframe 传递到您的 AutoML 框架,通过 API 或 SDK 将生成的模型传递到您的 MLOps 工具,然后通过您的 XAI 框架(如果您有的话)运行它以生成见解。你如何为新数据打分?同样,编写另一个利用更多 API 的脚本。在 Airflow 之类的东西中运行所有这些,或许在您的第1代 ML 平台可能具有调度程序功能。
  • 更难的任务是“留给读者的操作”:特征工程、特征平台(Feature Store)、实体关系映射等……你仍然需要在其他地方做了大量的工作。
  • 需要专家团队:这些工具喜欢宣称,因为它们自动化了流程的一部分,所以它们“使机器学习大众化”,使任何人都可以轻松地自助服务。然而,我还没有真正找到一个将业务环境放在首位、不需要K8s/云工程师、机器学习工程师和数据科学家团队来操作的平台。

值得一提的是,第2代ML平台已经进化:更多成熟的供应商要么在迭代新产品,要么收购初创公司以扩大产品范围。您可以从同一个供应商处购买所有解决方案,而不是从多个供应商处购买多点解决方案,通常被称为“企业人工智能”。不幸的是,结果并没有充分解决上面列出的任何问题,除了可能使集成稍微不那么痛苦。主要的好处实际上就是你可以从同一个供应商那里购买所有亮点的工具,当你开始使用开箱即用的技术时,你很快就会意识到你又回到了原点,试图在几乎没有共同点的产品上建立自己的生产流程。

不要将此与第 3 代 ML 平台的方法混淆,肯定是有更好的办法。

第 3 代 ML 平台:数据优先的 AI

什么是真正的机器学习模型? 如果我们抽象地看待它,它会将数据作为输入并输出预测,并希望还能提供对模型的了解,这样我们就可以评估模型的表现如何。 如果您接受它作为机器学习的范式,那么您的机器学习平台显然需要以数据为中心。 第 1 代 ML 平台和第 2 代 ML 平台不必要地关注该模型内部发生的事情,因此,普通公司几乎不可能将可靠的生产流程串联起来。 但是,通过数据优先的方法,这实际上是可以实现的。

image.png

值得称赞的是第1代 ML 平台和第2代 ML 平台的方法,没有它们,第3代 ML 平台就不会存在。既是因为它建立在他们建立的一些概念之上,同时,如果没有人们努力使用第一代和第二代工具来实际操作 ML,它可能永远不会出现。数据优先方法的核心是人工智能已经足够先进,您应该能够简单地向您的平台提供一组训练数据,以及少量元数据或配置,并且平台将能够在数小时内创建您的用例并将其部署到生产环境中。无需编码。没有流水线。作为数据科学家,无需使用 DevOps 工具。操作这个工作流程再简单不过了。

这怎么可能?好吧,正如我所说,我们正在构建我们在本文中已经讨论过的许多概念。有以下三个核心要素:

  • 特征平台(Feature Store):注册您的特征和关系。自动化特征工程。与同行合作,这样您就不必在每次需要转换数据时都重新创建轮子。让特征平台弄清楚如何为训练和推理提供数据。
  • 声明式 AI 引擎:提高抽象级别并自动构建模型和生成预测。允许高级用户通过配置自定义实验。
  • 持续的 MLOps 和 XAI:认识到世界不是静止的。自动化模型部署和升级。自动生成模型见解(可解释性)。允许数据科学家充当审查和批准工作的看门人,但将其余工作置于自动驾驶仪上。

如果您想看看这在实践中是什么样子,您可以尝试使用 Continual 构建的数据优先 AI 平台。它位于您的云数据仓库之上,并不断构建预测模型,从不停止从数据中学习。用户可以通过 CLI、SDK 或 UI 与系统进行交互,但生产使用可以通过简单的声明式 CLI 命令轻松操作。

image.png

我们并不是唯一一个以数据为中心的方法来考虑机器学习的人。 这个想法已经在 FAANG 公司(美国市场上五大最受欢迎和表现最佳的科技股)中流传了好几年,比如 Apple 的 Overton 和 Trinity 以及 Uber 的 Ludwig。 最近一篇关于声明式机器学习系统的文章很好地总结了这些成果。 最近,Andrew Ng 与特斯拉的 Andrej Karpathy 一样对以数据为中心的 AI 进行了反复讨论。 我们预计还会有更多的人上路。我们还认为,声明式数据优先的 AI 是现代数据栈的重要组成部分,它有望降低在云中运行数据平台的复杂性。

下图展示了现代数据栈的如何操作人工智能。

image.png

数据优先的 AI 是一个令人兴奋的新概念,它有可能极大地简化来操作 AI 并帮助企业推动 AI/ML 对业务的影响。数据优先的人工智能的一些重要性如下:

  • 可靠的路径到生产:通过定义明确的操作工作流程简化生产机器学习。
  • 端到端平台:通过减少集成任务和流水线丛林来加速实现价值。
  • 人工智能民主化:提供一个所有数据专业人员都可以使用的简单系统。并允许数据科学家控制过程。
  • 加速用例采用(选定):在几天内设置生产工作流程,而不是几周或几个月。用更少的资源管理更多的生产功能。
  • 降低成本:少买东西,降低维护成本。

尽管我们相信数据优先平台将成为日常 AI 的主要 ML 平台,但它们并非没有限制。对于真正前沿的人工智能研究来说,可能没有什么可以绕过需要手动工作的事实。对于最具技术性的公司之外的公司来说,这可能不是一个大问题,但在这种情况下,有一个以开发为中心的工具是有帮助的。我们相信,数据优先的平台非常擅长解决 95% 的已知 ML 问题,而另外 5% 可能需要更多的 TLC。然而,我们认为这是一项巨大的改进,让您的 95% 的用例由数据工程师/分析师处理,并由数据科学家进行一些监督,并允许数据科学团队更多地关注困难的 5% 问题。为此,他们需要一个出色的系统(一个数据优先的平台)来自动化一切,并让他们来管理和维护工作流程而几乎不需要任何干预。

什么工具适合您的团队?

我们在本文中涵盖了很多内容,并讨论了很多工具选项。有时,ML/AI 工具环境会让人感到不知所措。数据优先的人工智能方法打破了许多先入为主的观念,人们最好相信它的操纵力。在 Continual,我们坚信 ML/AI 解决方案应该使用您的真实世界用例(场景)进行评估。对于许多解决方案,这可能需要数周或数月的时间,才能暴露出现实中的夸张地宣传。在 Continual 中,我们的目标是让您能够在一天内交付您的第一个生产用例。这就是与您的云数据仓库原生集成的声明式数据优先AI方法的强大之处。

原文链接:Is Data-First AI the Next Big Thing?

这篇关于数据优先的人工智能会是下一个颠覆性的大事件吗?(Continual)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/294812

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

hdu1180(广搜+优先队列)

此题要求最少到达目标点T的最短时间,所以我选择了广度优先搜索,并且要用到优先队列。 另外此题注意点较多,比如说可以在某个点停留,我wa了好多两次,就是因为忽略了这一点,然后参考了大神的思想,然后经过反复修改才AC的 这是我的代码 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi