本篇文章1811字,读完约5分钟

[techweb Report]7月19日,随着人工智能在技术上的不断突破,计算机视觉等一些领域开始与各个行业深度融合。例如,保险业采用了人脸识别这种新时代的认证方法来识别和审计用户身份信息。

在计算机视觉的背后,它是基于深度学习的。目前,深度学习在人脸识别、目标检测、目标跟踪等应用中较为成熟。在应用的背后,深度学习计算的优化已经成为当务之急。毕竟,深度学习的模型是快速迭代的,开发人员应该为每个模型尝试不同的模型和算法,以便调整其参数和网络结构。

然而,大型模型的训练需要几天甚至几个月的时间,所以如果你想实现模型的快速迭代,高效的训练和推理方法就显得尤为重要。因此,尽管模型优化费时费力,但它是一项高回报的投资。

深度学习框架的现状与挑战

众所周知,深度学习在人工智能的发展中起着至关重要的作用,但它也是一项极具挑战性的任务。首先,深度学习领域的发展得到大规模标注数据的支持,在使用现有的统计模型之前,必须基于数据。

第二,需要创新先进的网络模式。我记得在2015年,当微软赢得imagenet计算机视觉识别挑战时,它推出了一个152层的神经网络模型,比vgg网络深8倍,并使用剩余学习理论来指导神经网络结构的设计。但是这样一个深度模型自然会对系统提出很高的要求。

虽然目前硬件和网络的发展极其迅速,但是gpu、芯片等硬件的发展也提供了比以前更强大的计算能力,网络连接也为深度学习带来了新的发展机遇。不幸的是,系统中的瓶颈问题还没有解决。如何有效地将不同的模型映射到相应的硬件上,并对其进行定制和优化,是目前深度学习面临的挑战之一。

对微软来说,它的愿景是让每个人都能使用人工智能,并让从业者摆脱不必要的工作量。因此,如果人工智能要变得更受欢迎,系统优化的工作自然就落在了微软的肩上。

深度学习优化的三大挑战

在之前的媒体交流中,微软亚洲研究院高级研究员吴明指出,深度学习计算的优化目前面临三大挑战:可扩展性、本地计算和内存利用效率。

在可扩展性方面,微软设计了一种智能零拷贝通信机制,通过高速网络硬件功能,如远程直接数据访问(rdma)和nvlink(NVIDIA开发和推出的一种总线及其通信协议),可以线性增加计算能力。它也给深入学习的开发者带来了更大的想象力。

此外,优化算法是求解目标函数的一个极其重要的部分,因此有必要设计并行的分布式优化算法。然而,开发人员通常更注重神经网络结构和算法本身,不善于指导其在分布式环境中的具体实现。为此,微软开发了一套系统软件,可以实现自动优化,并可以在分布式模式下自动执行模型。

微软利用rdma优化分布式深度学习训练,有效提高了多机训练的吞吐量和收敛速度,在不同应用类型下达到了2-8倍的加速效果。

(红色是微软的数据,蓝色是原始数据)

在本地计算中,许多深度学习模型背后都有大规模的数据流图,其中有许多非常小的操作符,它们在gpu上启动和执行时会有内存开销。为了减少这些系统开销,避免影响计算效率,微软设计了一种自动内核融合的方法。

在一个标准lstm模型的例子中,微软通过将整个模型的所有操作符融合到一个内核函数中,基本上消除了所有框架的开销。与原张量流相比,速度提高了10倍,与张量流开发的编译优化系统xla相比,也有了很大的提高。

最后,就内存效率而言,如gpu或定制硬件加速器,这些硬件的内存资源有限,这可能会限制模型的规模。微软的解决方案是使用模型量化和压缩来减小它的大小,或者如果模型很大,它可以放在主机内存中,以便数据可以分段传输到gpu,但是对于不同的模型任务或应用程序,有必要选择最合适的方法。同时,对张量流进行了改进,界面更便于开发者尝试,从而实现不同的压缩和量化方法。

计算机视觉应用背后 对深度学习框架有怎样的挑战

微软的意图是显而易见的,即更好地向外界提供技术,从而帮助开发者和企业更多地关注自己的业务,而不是关注底层系统如何工作。

通过这些巨人的不断努力,也许有一天,最深入的学习框架将具有互操作性和统一性,就像当年的数据库一样。早期的数据库有很多类型,但是随着基于关系代数的数据库的诞生,所有的数据库模型都变成了一个统一的模型。就人工智能而言,从系统的角度来看,这必然是未来的主要趋势之一。

正如微软印度公司人工智能部总经理桑达尔·卢思·里尼万森所说,微软希望所有个人和组织都使用人工智能。将来,即使是非人工智能或机器学习领域的专家也能够将最新的人工智能技术集成到他们自己的产品中。

标题:计算机视觉应用背后 对深度学习框架有怎样的挑战

地址:http://www.njflxhb.com.cn//nxxw/7122.html