本文要点

  • 我们看到越来越多的公司正在使用深度学习算法。因此,我们将深度学习从创新者转移到了早期采用者的类别中。与此相关的是,深度学习也面临着新的挑战,比如在边缘设备上部署算法以及非常大的模型的训练。
  • 尽管采用的速度比较缓慢,但是现在有了更多的商用机器人平台。我们看到了在学术界之外的一些应用,但是相信未来会有更多未被发现的使用场景。
  • GPU 编程依然是一个很有前途的技术,但现在还没有得到充分的利用。除了深度学习之外,我们相信还有更多有趣的应用。
  • 通过使用像 Kubernetes 这样的技术,在典型的计算机堆栈上部署机器学习正变得越来越容易。我们看到不断出现的工具正在将越来多的组成部分实现了自动化,比如数据收集和重训练步骤。
  • AutoML 是一项很有前景的技术,它能够帮助数据科学家重新关注实际的问题域,而不是关注如何优化超参数。

InfoQ 的编辑每年都会讨论 AI、ML 和数据工程当前的状态,从而识别出作为软件工程师、架构师或数据科学家应该关注的关键趋势。我们将自己的讨论整理成技术采用曲线并附加相关的评论,以帮助读者了解事情的演变情况。我们还探讨了作为路线图和技能发展的一部分,你应该要考虑哪些东西。

我们还首次将这些讨论录制成了InfoQ Podcast上的特别节目。Kimberly McGuire是 Bitcraze 的机器人工程师,每天的工作都在与自主无人机打交道,他加入了编辑部来分享他的经验和观点。

深度学习转移到了早期采用者中

尽管深度学习在 2016 年才开始引起我们的兴趣,但是我们现在决定将它从创新者(Innovator)类别转移至早期采用者(Early Adopter)。我们看到深度学习方面有两个主要的框架,分别是TensorFlow和Pytorch。两者在整个行业中都有广泛应用。我们应该承认,PyTorch 是学术研究领域的主导者,而 TensorFlow 是商业/企业领域的领导者。这两个框架在功能方面保持了相当的均衡,所以具体选择哪个框架取决于你在生产性能方面的要求。

我们注意到,越来越多的开发者和组织在收集和存储他们的数据时,都遵循这样的方式,那就是易于被深度学习算法处理,以便于“学习”与商业目标有关的东西。很多人专门为深度学习设置了他们的机器学习项目。TensorFlow 和 PyTorch 正在为多种类型的数据建立抽象层,并将大量的公共数据集也纳入到了他们的软件中。

我们还看到,用于深度学习的数据集的规模正在大幅度增加。我们看到,下一个挑战是借助分布式数据和并行训练实现的分布式训练。这种框架的例子有 FairScale、DeepSpeed和Horovod。这就是为什么我们将“大规模分布式深度学习”引入创新者类别的主题列表中的原因。

我们现在在行业中看到的另一个挑战是与训练数据本身相关。一些公司没有大的数据集,这意味着他们能够从使用其特定领域的预训练模型中获益良多。由于创建数据集可能是一项成本高昂的工作,为模型选择合适的数据是一个新的挑战,工程团队必须学会如何解决这一点。

深度学习应用的边缘部署是一项挑战

目前,在边缘设备上运行 AI 依然存在挑战,比如手机、Raspberry Pi,甚至更小的微处理器。这里的挑战在于把大型集群上训练得到的模型部署到一个小型的硬件上。要实现这一点所要依赖的技术是网络权重的量化(为网络权重使用更少的比特)、网络修剪(移除贡献不大的权重)以及网络提炼(训练一个更小的神经网络来预测相同的内容)。例如,这可以通过谷歌的 TensorFlow light 和 NVIDIA 的 TensorRT 来实现。当我们缩小模型的时候,有时候确实会看到性能的下降,但是性能下降多少以及这是否是一个问题,则要取决于应用。

有趣的是,我们看到有些公司正在调整他们的硬件以更好地支持神经网络。在苹果设备以及拥有张量核心(tensor core)的 NVIDIA 显卡中,我们都看到了这一点。谷歌新的 Pixel 手机也有一个张量芯片,可以在本地运行神经网络。我们认为这是一个积极的趋势,它将使机器学习能够用到比现在更多的环境中。

用于有限应用的商业机器人平台变得越来越流行

在家庭中,机器人吸尘器已经非常普遍。一个新的机器人平台正变得越来越流行,它就是Spot:Boston Dynamics 的行走机器人。它正被警察局和军队用于日常监视这样的场景中。尽管这类机器人平台很成功,但它们仍然只能在有限的范围内使用,而且是在非常有限的场景下。然而,随着人工智能能力的提高,我们希望在未来看到更多的使用案例。

一种正在走向成功的机器人是自动驾驶汽车。Waymo 和其他公司正在测试内部没有安全驾驶员的汽车,这意味着这些公司对这些车辆的能力充满信心。我们认为,大规模部署所面临的挑战在于扩大这些车辆的可行驶区域,并在上路前证明这些汽车是安全的。

GPU 和 CUDA 编程允许将问题进行并行化处理

GPU 编程方式允许程序执行大规模的并行任务。如果程序员的目标可以通过将一个任务分割成许多互不依赖的小子任务来实现的话,那么这个程序就适合用 GPU 进行编程。不幸的是,用 NVIDIA 公司的 GPU 编程语言CUDA进行编程,对许多开发人员来说仍然是很困难的。有一些框架可以为我们提供帮助,如PyTorch、Numba和PyCUDA,它们应该会使这种编程方式更容易进入通用市场。现在,大多数开发人员正在使用 GPU 实现深度学习应用,但我们希望在未来能够看到更多的应用。

半监督自然语言处理在基准测试中表现良好

GPT-3 和其他类似的语言模型在“通用自然语言 API”方面的表现很突出。它们可以处理各种各样的输入,并且正在打破许多现有的基准。我们看到,以半监督(semi-supervised)的方式使用的数据越多,最终结果就越好。它们不仅在正常的基准上表现良好,而且同时对许多基准进行了归纳概括。

关于这些神经网络的架构,我们看到人们从 LSTM 这样的递归神经网络转向了 transformer 架构。训练的模型是非常巨大的,要使用大量的数据,并花费大量的钱来进行训练。针对产生这些模型所耗费的资金和能量,引发了一些相关的批评。大模型的另一个问题是推理速度。当为这些算法实现实时应用时,它们可能不够快。

MLOps 和 Data ops 能够更容易地实现训练和重新训练算法

我们看到,所有主要的云供应商都支持通用的容器编排框架,如Kubernetes,它们也越来越多地集成了对基于 ML 的使用场景的良好支持。这意味着我们可以在云平台上轻松地将数据库部署为容器,并将其进行扩展和伸缩。这样做的一个好处是,它有内置的监控。值得注意的一个工具是KubeFlow,它可以在 Kubernetes 上协调复杂的工作流程。

关于在边缘上部署算法,我们看到了工具上的改进。比如K3s,这是适用于边缘的 Kubernetes,还有KubeEdge,它与 K3s 有所不同。虽然这两种产品都还处于初始阶段,但它们有望改善基于容器的人工智能在边缘的部署。

我们还看到一些支持完整的 ML Ops 生命周期的产品正在出现。其中一个这样的工具是AWS Sage maker,它可以帮助我们轻松地训练模型。我们相信,最终 ML 将被集成到完整的 DevOps 生命周期中。这将创造一个反馈循环,我们部署一个应用程序,监控应用程序,并根据正在发生的情况在重新部署之前回过头去做一些改变。

AutoML 允许将 ML 生命周期的一部分自动化

我们看到使用所谓的“AutoML”的人稍微有所增加:在这种技术中,机器学习生命周期的一部分会被自动化。程序员可以专注于获得正确的数据和模型的大致概念,而计算机可以找出最佳的超参数(hyperparameter)。现在,这主要用于寻找神经网络的架构,以及寻找最佳的超参数来训练模型。

我们认为这是一个很好的进步,因为它意味着,在将业务逻辑转化为机器学习可以解决的格式方面,机器学习工程师和数据科学家将发挥更大的作用。我们认为这种努力使得跟踪自己正在进行的实验变得更加重要。像MLflow这样的技术可以帮助跟踪实验。

总而言之,我们认为问题空间正在从“寻找最好的模型来捕获你的数据”转向“寻找最好的数据来训练你的模型”。你的数据必须是高质量的,你的数据集必须是平衡的,而且它必须包含应用的所有可能的边缘场景。要做到这一点目前主要是手工实现的,并且需要对问题领域有很好的理解。

成为机器学习工程师都要学些什么

我们认为,过去几年中,机器学习在教育方面也发生了变化。从经典文献入手可能不再是最好的方法了,因为过去几年有太多的进步了。我们建议挑选一个深度学习框架入门,如 TensorFlow 或 PyTorch。

挑选一个专注的学科是个好主意。在 InfoQ,我们将学科划分为以下几类:数据科学家、数据工程师、数据分析师或数据运维。根据你所选的专业,你要学习更多关于编程、统计或神经网络和其他算法的知识。

作为 InfoQ 的编辑,我们想分享的一点是,建议参加Kaggle比赛。你可以在你想了解的领域中挑选一个问题,比如图像识别或语义分割。通过创建一个好的算法并在 Kaggle 上提交结果,你会看到你的解决方案与参加同一比赛的其他 Kaggle 用户相比处于什么样的水准。这样你会有动力在 Kaggle 排行榜上获得更高的排名,通常比赛的获胜者会在比赛结束后写下他们的获胜方法都采用了哪些步骤。这样,你就会不断地学到更多的技巧,从而可以直接应用到你的问题领域。

最后但同样重要的是,InfoQ 也有很多资源。我们经常发布关于机器学习的最新和最重要的新闻、文章、演讲和播客。你也可以看看我们的文章如何成功应聘为机器学习工程师。最后,请参加 11 月举办的QCon plus会议,并参加“ML 无处不在”的主题。

作者简介:

Roland Meertens 是一名计算机视觉工程师,在 Autonomous Intelligent Driving 公司从事自动驾驶车辆的智能计算机视觉算法。在此之前,曾研究过自然语言处理(NLP)问题的深度学习方法、社会机器人学以及无人机的计算机视觉、机器学习和计算机视觉问题。他所做的有趣的事情是神经机器翻译、小型无人机的避障,以及为老年人服务的社交机器人。除了在 InfoQ 上发布关于机器学习的新闻,他有时也会在他的博客 pinchofintelligence.com 和 twitter(
https://twitter.com/rolandmeertens)上发表文章。在业余时间,他喜欢在树林里跑步,并参加障碍跑。

Kimberly McGuire 目前在 Bitcraze AB 公司工作,担任软件开发人员。2019 年,她获得了荷兰代尔夫特理工大学航空航天工程学院的博士学位。主题是关于“用袖珍无人机进行蜂群探索”。McGuire 研究了在计算能力有限的 MAV 上完成室内探索的生物启发方式,这些 MAV 可以放在手掌上。除此之外,她对具身人工智能(embodied artificial intelligence)有广泛的兴趣,并努力跟上最新的发展。

Srini Penchikala 是德克萨斯州奥斯汀的一名高级 IT 架构师。他在软件架构、设计和开发方面有超过 25 年的经验,目前专注于云原生架构、微服务和服务网格、云数据管道和持续交付。Penchikala 撰写了Big-Data Processing with Apache Spark,并与人合写了 Manning 出版的“Spring Roo in Action”。他经常在会议上发言,是一名大数据培训师,并在各种技术网站上发表了多篇文章。

Raghavan "Rags" Srinivas (@ragss) 是一名架构师/开发人员布道者,旨在帮助开发人员建立高度可扩展和可用的系统。作为 Rackspace 公司的 OpenStack 倡导者和解决方案架构师,他不断面临从低级别的基础设施到高级别的应用问题的挑战。他主要关注的领域是分布式系统,专门研究云计算和大数据。在 Hadoop、HBase 和 NoSQL 的早期阶段,他都从事过相关的工作。他曾经多次获得 JavaOne rock star 称号。

Anthony Alford 是 Genesys 的开发组经理,他正在从事与客户体验有关的几个人工智能和 ML 项目。在设计和构建可扩展软件方面,他有超过 20 年的经验。Anthony 拥有电子工程博士学位,专业是智能机器人软件,曾在人与人工智能交互和 SaaS 业务优化的预测分析领域研究过各种问题。

查看英文原文:

Article: AI, ML and Data Engineering InfoQ Trends Report - August 2021

AI、ML 和数据工程 | InfoQ 趋势报告(2021 年)相关推荐

  1. 【报告分享】中国数据智能应用趋势报告:解码数据中台最佳实践,企业数字化转型新引擎.pdf(附下载链接)...

    大家好,我是文文(微信:sscbg2020),今天给大家分享爱分析于2020年10月份发布的报告<中国数据智能应用趋势报告:企业数字化转型新引擎,解码数据中台最佳实践.pdf>,希望对您有 ...

  2. 中国数据交易实践趋势报告(2022年)

    梳理发现,2021年数据交易机构增长加速, 北京.上海.深圳.广州.湖南.福建等多个省市,相继设立数据交易机构.2021年共有8家机构注册,包括北京国际大数据交易有限公司.苏州大数据交易服务有限公司. ...

  3. 软件构架和设计InfoQ趋势报告-2020年4月

    重要要点 值得关注的新软件架构趋势包括微前端,数据网格,AsyncAPI和策略即代码.各种各样的目的表明,创新正在建筑景观的许多不同领域中发生. 随着微服务变得越来越普遍,从微服务架构开始的阻力越来越 ...

  4. 「编程语言」编程语言InfoQ趋势报告—2019年10月

    关键的要点 Elixir已进入趋势报告的创新者采用阶段.它是运行在Erlang虚拟机上的一种函数式.并发的通用编程语言. 我们看到人们对基础设施或特定于云的语言.dsl和sdk(如Ballerina和 ...

  5. InfoQ趋势报告:架构和设计领域技术演变详解

    本文概述了我们对当前"架构和设计"领域的看法,这个领域侧重于基础设施模式.技术框架模式的实现,以及软件架构师必须掌握的设计流程和技能. 关键要点: 我们看到了"演化式架构 ...

  6. InfoQ 趋势报告:技术文化\u0026方法2019年实践状况

    \u003ch2\u003e要点\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e2018年出现了多个新想法,但是与前一年相比,很少有什么想法能够跨越鸿沟, ...

  7. InfoQ 2022 年趋势报告:人工智能、机器学习和数据工程篇

    本文转自:InfoQ 本文是对 2022 年 AI.ML 和数据工程 InfoQ 趋势报告播客的总结,涉及 AI.ML 和数据工程领域的关键趋势和技术. 在这份年度报告中,InfoQ 的编辑们讨论了 ...

  8. 大数据 就业 缺口_中国AI&大数据就业趋势报告:平均月薪超2万,缺口650万人...

    2019世界人工智能大会开幕式上,特斯拉公司联合创始人兼首席执行官Elon Musk 和中国企业家俱乐部主席.联合国数字合作高级别小组联合主席马云进行了一场"双马"对话. 谈到人工 ...

  9. 2021 年 InfoQ 最新趋势报告:架构与设计

    下图是2021 年 InfoQ 趋势报告:架构与设计,我们看看技术采用曲线图,可以分为5部分用户类型: 创新者(Innovators) 早期采用者(Early Adopters) 早期多数使用者(Ea ...

最新文章

  1. 2021-2027年中国手机天线行业竞争格局分析及发展趋势预测报告
  2. lightningJS之动画
  3. linux+sysrq+键盘调试,内核调试 – MagicSysRq - 嵌入式 Linux 知识库
  4. iReport 4.1 报表、子报表、主从报表、合计、实例解析
  5. MFC多线程处理界面假死之红外图像数据获取和excel写入
  6. 数据结构 Tricks(一)—— 父节点和左右孩子索引号之间的关系
  7. PageHelper测试分页插件
  8. shell脚本批量创建用户
  9. 高质量解读《互联网企业安全高级指南》三部曲——理论篇
  10. 双线性插值bilinear interpolation
  11. TBase环境部署过程及使用一
  12. Spring Boot获取节假日API
  13. sudo su与su的区别
  14. python有参函数和无参函数的区别_构造函数的有参和无参的区别,构造函数的参数是派什么用场的?...
  15. C语言 printf() 函数,总结笔记记录
  16. 安全测试中sql注入测试思路
  17. 未来五年最有前景的编程语言是什么?
  18. 使用Java+SSM(Spring+SpringMVC+Mybatis)开发在线美食推荐网 美食推荐系统 美食天下美食爬虫 基于用户、物品的协同过滤推荐算法实现 大数据、人工智能、机器学习项目开发
  19. TMS320C6455入门实践(六)——编写boot程序
  20. 在线拍卖系统、竞拍源码中降价拍(荷兰式拍卖)的逻辑和实现

热门文章

  1. 局域网伪造源地址DDoS***解决方法
  2. 用bert来训练quoras question pairs的代码仓
  3. Python : *号和**号的使用
  4. 在tensorflow2.0下遇到1.x版本中占位符不兼容问题 tf.placeholder() is not compatible with eager execution的解决方法
  5. python cv2 hsv数组,len()与 size字段的区别
  6. 直播活动丨BMMeetup第2期:大模型计算加速技术,2场特邀和7位青年学者技术报告联袂上演...
  7. 《强化学习周刊》第6期:强化学习应用之推荐系统
  8. 中国AI研究新突破,周六见!
  9. 智源论坛报名 | 智能体系架构与芯片
  10. 学数学,你要如何过题海:游泳?冲浪?划小船?开游艇?