金融情报局网_中国金融门户网站 让金融财经离的更近

硬核科普|深度学习主流开发框架解读和比较(中篇)

当前位置:金融情报局网_中国金融门户网站 让金融财经离的更近>行业 > 正文  2023-08-11 00:24:06 来源:金博士

专题推荐:金博士AI技术干货分享

文章推荐:硬核科普|深度学习主流开发框架解读和比较

本文的知识点


(相关资料图)

通过本文,读者可以从中学习和掌握的关键知识点,包括:

1. 深度学习框架:了解不同的深度学习框架,如PyTorch、TensorFlow和Keras,并理解每个框架的特定优势和使用场景。

2. 每个框架的技术细节:了解每个框架的技术规格,如所用的编程语言、操作的API级别,以及架构类型

3. 性能比较:理解这些框架在性能上的差异,如速度和处理大数据集的能力,例如Keras适合较小的数据集,而PyTorch和TensorFlow适合处理大数据集并提供高性能。

4. 如何选择合适自己或行业的框架:学习在选择深度学习框架时应考虑的因素,如数据集的大小和类型、可用性的模型集,社区支持以及部署相关的流程和工具等。

应用对开发框架的要求

PyTorch 和 TensorFlow 都有其独特的开发历程和复杂的设计决策历史。之前,这使得比较两者变得是一个关于它们当前特点和未来特点的复杂技术讨论。鉴于两个框架自从创立以来都已迅速成熟,许多这些技术差异现在已经不再重要。

幸运的是,对于那些不希望听得昏昏欲睡的人来说,当前的 PyTorch 与 TensorFlow 的争论主要围绕三方面实践所需考虑的因素:

1. 模型可用性:随着深度学习领域的逐年扩大和模型相应地变得更大,从零开始训练最先进的模型已经不再可行。幸运的是,现在有许多最先进的模型公开可用,使用它们在可能的地方很重要。

2. 部署基础设施:如果训练出的性能良好的模型不能被利用,那训练它们就没有意义。降低部署时间至关重要,尤其是随着微服务业务模型越来越受欢迎;高效的部署有可能决定许多以机器学习为中心的业务的成败。

3. 生态系统:深度学习不再只是在高度控制的环境中的特定用例。AI正在为众多行业注入新的能量,因此,一个位于更大生态系统中的框架,可以为移动设备、本地和服务器应用程序提供开发支持变得很重要。此外,专用机器学习硬件的出现,如 Google 的 Edge TPU,意味着成功的实践者需要使用能够与这种硬件很好地集成的框架。

我们将依次探讨这三个实际考虑因素,然后提供我们对在不同领域使用哪个框架的建议。

模型可用性比较

从零开始实现一个成功的深度学习模型可能是一项非常棘手的任务,特别是对于如 NLP 这样的应用,其中工程和优化都很困难。SOTA(State-of-the-Art,最新的、最先进的)模型日益复杂,这对于小规模企业来,模型训练和微调都不太实际,甚至近乎不可能。初创公司和研究人员都没有计算资源来自己利用和探索这样的模型,因此,能够使用预训练模型进行迁移学习、微调或开箱即用的推理就显得非常宝贵了。

在模型可用性方面,PyTorch 和 TensorFlow 有着明显的差异。PyTorch 和 TensorFlow 都有自己的官方模型仓库,我们将在下面的生态系统部分探讨,但实践者可能希望使用其他来源的模型。

我们下面从三个维度来比较模型可用性:1)在 HuggingFace 上公开的模型所支持的框架类型数量, 2)出版的科研论文其研究所基于的框架类型, 3)基于网站 Paper-with-Code,对提供代码的论文所采用的框架类型进行统计分析。

HuggingFace

HuggingFace 是一家领先的人工智能公司,致力于开发和提供一流的自然语言处理(NLP)技术。它是名为Transformers库的开发者,该库是一个开源项目,提供了各种最新的深度学习模型,如BERT、GPT-2、GPT-3和T5等,供研究人员和开发者使用。这些模型广泛应用于文本分类、信息抽取、语义理解、自然语言生成等任务。

HuggingFace的Transformers库是NLP领域的一个重要资源,提供了丰富的预训练模型和相关工具,帮助开发者和研究人员简化开发过程,快速实现各类NLP任务。此外,Transformers库也是一个活跃的社区,研究者和开发者可以在其中相互学习,分享知识和经验。

除了Transformers库,HuggingFace还提供了一个在线模型库,用户可以在其中找到、分享和使用各种预训练模型。此外,HuggingFace还开发了一些其他工具,如Datasets库,这是一个开源的数据集库,用于处理和加载各种NLP数据集。总的来说,HuggingFace是推动当前NLP领域发展的重要力量,为研究和应用提供了极大的便利。

HuggingFace可以让你只用几行代码就将训练有素、调整优化过的 SOTA 模型纳入你的开发流程中。

当我们比较 HuggingFace 对 PyTorch 和 TensorFlow 模型的可用性时,结果有点令人惊讶。下面我们看到的是在 HuggingFace 上可用的模型总数的图表,这些模型要么仅限于 PyTorch 或 TensorFlow,要么适用于两种框架。可以看到,只能在 PyTorch 中使用的模型数量绝对压倒了竞争对手。几乎有92% 的模型仅支持 PyTorch,比2022 年的 85% 还要多。相反,只有大约 8% 的模型仅支持 TensorFlow,所有可用模型中只有大约 14% 支持 TensorFlow ,比2022年的 16%还要少。此外,2022 年新增了超过4.5 万个仅支持 PyTorch 的模型,而只增加了约 4 千个仅支持 TensorFlow 的模型。

图 1 HuggingFace 上的模型数量

如果我们把注意力集中在 HuggingFace 最受欢迎的 30 个模型上,我们会看到有趣的结果。所有模型都可在 PyTorch 中使用,和去年一样,没有任何模型只支持 TensorFlow。不过同时支持两种框架的模型数量已经从 19 增加到 23。

图 2 HuggingFace 上排名前 30 的模型

研究论文

关键词: