深度学习框架是用于开发和运行人工智能算法的平台,它为软件人员开发人工智能提供了模块化的基础,一般提供数据输人、编写神经网络模型、训练模型、硬件驱动和部署等多种功能。
当前,人工智能基础性算法已经较为成熟,为了让开发人员更便捷地使用这些算法和
模型来开发特定的人工智能应用,各大厂商纷纷发力建设算法模型工具库,并将其封装为软件框架供开发人员使用。随着深度学习框架的发展,深度神经网络结构的设计已经高模块化。开发者只需要在比较宏观的层面上选择组件,构建网络,定制参数,就可以实现
深度神经网络的设计。而深度学习框架负责解释开发者定制的网络,并将其转换成芯片可以执行的指令,进而进行模型训练和推理工作。一个优秀的深度学习框架,一方面要对开发者友好,能提供丰富的组件以及便捷的组网方式,另一方面也要和AI芯片紧密结合,能
实现高效的训练和推理。对于深度学习框架的设计,要综合考虑易用性、稳定性、系统性能等多个因素。首先,深度学习框架需要能够支持研究者和开发者高效地进行人工智能算法模型和应用的开发,因此易用性是一个重要的考量因素。其次,为了能够支持企业级应用,框架的稳定性和可靠性也至关重要。最后,由于深度学习框架往往要处理超大规模的多模态数据,因此训练和预测的性能对实际应用也有很大的影响。
总体来说,软件框架在模型库建设及调用功能方面具有一定的共性,但又各具特点。
软件框架有闭源和开源两种形式:苹果公司等少数企业选择采用闭源方式提供软件框架,目的是打造技术壁垒,而目前业内主流软件框架基本都是开源化运营的。深度学习框架陆续开源,已经大幅降低了开发门槛。但直接基于深度学习框架开发和设计新的模型算法仍有较高的技术门槛。因此,人们对网络结构自动化设计的研究越来越多,通过机器学习来设计深度学习模型,减少依赖经验和反复尝试调参,以此弥补深度学习专家的稀缺,比较典型的产品包括 Google的Auto ML和百度的AutoDL等。同时,零算法基础的快速应用平台等降低技术门槛的平台开始出现,极大地降低了深度学习应用的入门成本。
人工智能发展到现在,对于开发者来说,软件框架基本可以说是必不可少的工具,同时其重要性也在于,它是行业巨头打造其软硬件生态的重要环节。从2016年Go0gle将自己的深度学习框架开源以来,软件框架处于群雄并起的时代,各大巨头意识到通过开源技术建立产业生态是抢占产业制高点的重要手段,纷纷推出了自家的开源深度学习框架,将深度学习软件框架作为打造开发及使用生态核心的重点。在目前的产业态热下深度学习模型的表示及存储尚未统一,训练软件框架及推理软件框架尚未形成-二对应关系技术
生态争夺将持续。在接下来的几年中,深度学习框架发展的焦点将是如何更智能地实现量化,如何更好地促进框架间的融合,如何更有效地支持GPU、ASIC等芯片的异构加速能力,如何针对新硬件进行自动编译,等等。
下面列出目前人工智能框架厂商提供的语言的和硬件,见下图。
全部0条评论
快来发表一下你的评论吧 !