AI和ML系统中计算机视觉(CV)的计算需求 福州小程序开发

AI和ML系统中计算机视觉(CV)的计算需求 福州小程序开发

时间:2020-10-4 作者:gykj

与采用ML算法的CV系统相关的常见挑战

计算机视觉(CV)是现代人工智能(AI)和机器学习(ML)系统的一项主要任务。它正在加速技术行业中的几乎每个领域,使组织能够革新机器和业务系统的工作方式。

从学术上讲,这是计算机科学领域的一个公认领域,数十年来值得研究的工作已进入该领域。但是,深度神经网络的使用最近彻底改变了CV领域,并为其赋予了新的氧气。

计算机视觉有各种各样的应用领域。在本文中,我们将向您简要介绍CV系统采用现代ML算法时遇到的常见挑战。在我们的讨论中,我们重点介绍计算机视觉的两个最突出(且在技术上具有挑战性)用例:

  • 自动驾驶
  • 医学影像分析与诊断

这两个用例都具有高度的复杂性,以及其他相关的挑战。

AI和ML系统中计算机视觉(CV)的计算需求 福州小程序开发

图片来源:Wikipedia

 

AI和ML系统中计算机视觉(CV)的计算需求 福州小程序开发

图片来源:Wikipedia

机器学习(ML)中与计算机视觉(CV)相关的挑战

一个常见的挑战是与给定用例相关的大量任务。例如,自动驾驶用例不仅包括对象检测,还包括对象分类,分割,运动检测等。最重要的是,这些系统有望在不到一秒钟的时间内完成这种CV处理,并且将高概率决策传达给负责最终驾驶任务的上级监督控制系统。 

此外,在任何受人尊敬的自动驾驶系统中,通常没有一个或多个这样的CV系统/算法在起作用。在这些情况下,对并行处理的需求很高,这导致对基础计算机的压力很大。如果同时使用多个神经网络,则它们可能会共享公用系统存储,并且会相互竞争公用资源池。

在医学成像的情况下,计算机视觉系统的性能是由了解图像背后病理的 经验丰富的放射科医生和临床专业人员来判断的。此外,在大多数情况下,该任务涉及确定具有非常低患病率的罕见疾病。这使得训练数据稀疏和稀疏(即找不到足够的训练图像)。因此,深度学习(DL)架构必须通过添加巧妙的处理和架构复杂性来对此进行补偿。当然,这导致增强的计算复杂性。


适用于计算机视觉(CV)任务的流行数据集 福州小程序开发

训练图像和视频文件的机器是一项严重的数据密集型操作。 

单个图像文件是一个多维,数兆字节的数字实体,在整个“智能图像分析”任务的上下文中仅包含一小部分“洞察力”。相反,在计算硬件上花费相同的情况下,类似大小的销售数据表可以为ML算法带来更多的洞察力。在谈论现代计算机视觉管道所需的数据规模和计算时,值得记住这一事实。

不幸的是,一个或两个(甚至一组一百个)图像通常不足以完全训练。健壮,可推广,生产质量的深度学习系统需要数百万张图像进行训练。 

在这里,我们列出了一些最受欢迎的视频(由静态图像和视频片段组成):

影像网

ImageNet是一项持续不断的研究工作,旨在为世界各地的研究人员提供易于访问的图像数据库。该项目的灵感来自于图像和视觉研究领域日益增长的需求-对更多数据的需求。它根据WordNet层次结构进行组织。WordNet中可能由多个单词或单词短语描述的每个有意义的概念都称为“同义词集”或“同义词集”。WordNet中有超过100,000个同义词集。ImageNet旨在平均提供1000张图像来说明每个同义词集。

IMDB-Wiki

这是具有性别和年龄标签的人脸图像最大型且开源的数据集之一,用于训练。该数据集中总共有523,051张面部图像,其中460,723张面部图像来自IMDB的20284名名人和Wikipedia的62328名。

MS可可

上下文中的COCO或Common Objects是大规模的对象检测,分割和字幕数据集。数据集包含91种对象类型的照片,这些照片易于识别,并且在328k图像中总共有250万个带标签的实例。

MPII人的姿势

该数据集用于评估关节姿势估计。它包含约25,000张图像,其中包含超过4万名带注释的人体关节的人。在这里,每张图片都是从YouTube视频中提取的,并带有未标注帧的前一个和后一个。总体而言,数据集涵盖410种人类活动,并且每个图像都带有活动标签。

20BN差不多

该数据集是大量带有密集标签的视频剪辑的集合,这些视频剪辑显示了人类对日常对象执行预定义的基本动作。它是由大量的人群工作人员创建的,它允许ML模型对物理世界中发生的基本动作有更细致的了解。

大型计算机视觉(CV)任务的存储要求

无需强调的是,要使用如此大规模的数据集(其中的许多数据集会不断更新和扩展),工程师需要强大,防故障的高性能存储解决方案,才能成为基于DL的CV系统的组成部分。在现实生活中,数以百亿计的图像/视频数据可以在短时间内通过数百家医院/诊所网络中的汽车/无人机摄像头或X射线/ MRI机等终端系统生成。

这严重地给“大数据。

为您的计算机视觉任务选择和采用正确的数据存储有多种考虑和维度。其中一些如下,

  • 数据格式:多种数据格式,包括二进制大对象(BLOB)数据,图像,视频,音频,文本和结构化数据,它们具有不同的格式和I / O特性。
  • 大规模体系结构:横向扩展系统体系结构,在该体系结构中,工作负载分布在许多存储节点/子集群中以进行培训,并且可能有数百或数千个节点用于推理工作。
  • 带宽和吞吐量方面的考虑因素以及优化措施可以快速传递大量并行数据,以计算流经这些存储节点的硬件。
  • IOPS可以维持高吞吐量,而不管数据流的特性如何-也就是说,对于大量的小型事务和较少的大型传输而言。
  • 延迟以最小延迟传递数据,因为,与虚拟内存分页,训练算法的性能可以显著当GPU是一直在等待新一批数据的下降。

游戏芯片(GPU)是新的主力军

通用CPU在处理大量数据时会遇到困难,例如, 在具有数万或数十万浮点数的矩阵上执行线性代数运算。在内部,深度神经网络主要由矩阵乘法和向量加法之类的运算组成。

开发了GPU(主要用于视频游戏行业),以使用数千个微型计算核心来处理大规模并行计算。它们还具有较大的内存带宽,可以处理快速的数据流(处理单元缓存到较慢的主内存并返回),这在神经网络训练数百个纪元时需要进行这些计算。这使它们成为处理计算机视觉任务的计算负荷的理想商品硬件

这是这篇中篇文章中GPU与CPU的很好的图形比较

AI和ML系统中计算机视觉(CV)的计算需求 福州小程序开发

这是一个简单的表,总结了关键的区别(来自本文): 

AI和ML系统中计算机视觉(CV)的计算需求 福州小程序开发

从高层次上讲,为DL系统选择GPU时需要寻找的主要功能是:

  • 记忆体频宽
  • 原始处理能力–例如,CUDA内核数乘以时钟速度
  • 视频RAM的数量(即可以一次加载到视频/ GPU卡上的数据量)。对于时间紧迫的CV任务,这必须尽可能大,因为您不想通过从主内存(系统的标准DRAM)中分批提取数据来浪费宝贵的时钟周期。

用于计算机视觉(CV)任务的GPU基准测试示例

市场上有很多选择的GPU,这无疑会使普通用户不知所措,试图弄清楚该为他们的系统购买什么。多年来,已经发布了一些好的基准测试策略,以在这方面指导潜在买家。

一个好的基准测试必须考虑多种变体(a)卷积神经网络(CNN)架构,(b)GPU和(c)广泛使用的数据集。

例如,这里的这篇出色的文章考虑了以下内容:

  • 体系结构:ResNet-152,ResNet-101,ResNet-50和ResNet-18
  • GPU:EVGA(非送风)RTX 2080 ti技嘉(送风)RTX 2080 tiNVIDIA TITAN RTX
  • 数据集:ImageNetCIFAR-100CIFAR-10

而且,必须考虑多个方面的性能,才能获得良好的基准。例如,上面的文章提到了三个主要索引:

  1. SECOND-BATCH-TIME:完成第二批培训的时间。此数字在GPU运行足够长的时间来衡量性能之前测量性能。有效地,没有热节流
  2. 平均间隔时间:在ImageNet中1个周期或CIFAR中15个周期之后的平均批处理时间。该措施考虑了热节流
  3. 同时平均间隔时间:在ImageNet中1个时代或CIFAR中15个时代(所有GPU同时运行)之后的平均批处理时间。由于所有GPU散发出来的热量,这可以衡量系统中的热节流效果。

可以在此开源Github存储库中找到一个较早但非常流行且经过严格测试的基准测试活动(此后,GPU有了很多进步,NVIDIA的新产品线在性能上使旧GPU blow花一现:RTX 3070,RTX 3080, RTX 3090)。

该练习的表格如下所示:

AI和ML系统中计算机视觉(CV)的计算需求 福州小程序开发

AI和ML系统中计算机视觉(CV)的计算需求 福州小程序开发

AI和ML系统中计算机视觉(CV)的计算需求 福州小程序开发

AI和ML系统中计算机视觉(CV)的计算需求 福州小程序开发

百度研究的DeepBench平台

尽管深度学习背后的基本计算已广为人知,但它们在实践中的使用方式却可能令人惊讶地多种多样。例如,基于要相乘的矩阵的大小和内核实现,矩阵乘法可以是计算界,带宽界或占用率界。因为每个深度学习模型都使用具有不同参数的这些操作,所以针对深度学习的硬件和软件的优化空间很大且未指定。

DeepBench试图回答以下问题:“哪种硬件在用于深度神经网络的基本操作上提供最佳性能?” 主要目的是对各种硬件平台上的深度学习至关重要的核心操作进行基准测试。

AI和ML系统中计算机视觉(CV)的计算需求 福州小程序开发

他们采用以下核心操作来评估竞争的硬件平台: 

  • 密集和稀疏矩阵乘法
  • 卷积:适用于多种方法,例如直接,基于矩阵乘法,基于FFT和基于Winograd的技术
  • 循环层操作(支持三种类型的循环单元;香草RNN,LSTM和GRU)
  • 全减少:在同步和异步下,通过一组并行GPU的训练效率

结果以简单Excel文件的形式在其GitHub存储库中提供。

在AI和ML系统中使用的计算机视觉(CV)的摘要

在本文中,我们从复杂的深度学习网络的帮助下,开始了与现代大规模计算机视觉任务相关的特征和挑战。在两个最有前途的应用程序中,可以很好地理解这些挑战:自动驾驶和医学成像。 

我们还研究了CV系统的数据集,存储和计算(GPU与CPU)需求,并讨论了这类系统应具备的一些关键的理想功能。

最后,我们讨论了一些开源资源,这些资源对高端深度学习/ CV任务的硬件平台进行了基准测试,并展示了一些针对流行硬件选择的关键性能基准测试表。

随着硬件和算法的突破带来新的性能提升,计算机视觉将在未来几年继续发展。

版权所有:https://www.eraycloud.com 转载请注明出处