当前位置:首页 > 经验 >

使用机器学习模型一般步骤(机器学习训练好的模型怎么用)

来源:原点资讯(www.yd166.com)时间:2022-10-30 05:52:38作者:YD166手机阅读>>

鉴于此,你可能会对 PyTorch 成为主流框架的现象感到不解,而这是因为现代深度学习模型通常执行大规模运算。此外,像 PyTorch 这样的框架是异步执行的。因此,大部分框架开销可以完全忽略。

使用机器学习模型一般步骤,机器学习训练好的模型怎么用(13)

如果我们的 GPU 算子足够大,那么 CPU 可以跑在 GPU 之前(因此 CPU 开销是无关紧要的)。另一方面,如果 GPU 算子太小,那么 GPU 将在 paperweight 上花费大部分时间。

那么,如何判断你是否处于这个问题中?由于额外开销通常不会随着问题的规模变化而变化(而计算和内存会),所以最简单的判断方法是简单地增加数据的大小。如果运行时间不是按比例增加,应该可以说遇到了开销限制。例如,如果将批大小翻倍,但运行时间仅增加 10%,则可能会受到开销限制。

另一种方法是使用 PyTorch 分析器。如下图,粉红色块显示了 CPU 内核与 GPU 内核的匹配情况。

使用机器学习模型一般步骤,机器学习训练好的模型怎么用(14)

CPU 运行地比 GPU 更超前。

另一方面,nvidia-smi 中的「GPU-Util」(不是「Volatile GPU-Util」)入口会测量实际运行的 GPU 内核的百分占比,所以这是另一种观察是否遇到开销限制的好方法。这种开销是 PyTorch 等所有灵活的框架所具有的,本质上都需要花费大量时间来「弄清楚要做什么」。

这可能来自 Python(查找属性或调度到正确的函数)或 PyTorch 中的代码。例如,当你执行 a b 时,需要执行以下步骤:

  1. Python 需要在 a 上查找__add__调度到的内容。
  2. PyTorch 需要确定张量的很多属性(比如 dtype、device、是否需要 autograd)来决定调用哪个内核。
  3. PyTorch 需要实际启动内核。

从根本上说,这种开销来自能够在每个步骤中执行不同运算的灵活性。如果不需要这种灵活性,解决这种灵活性的一种方法是跟踪它,例如使用 jit.trace、FX 或 jax.jit。或者,可以换用 CUDA Graphs 之类的东西在更低的级别上执行此运算。

不幸的是,这是以失去灵活性为代价的。一种两全其美的方法是,通过在 VM 级别进行 introspect 来编写更多符合「真实」的 JIT 的内容。有关更多信息,可参阅 TorchDynamo (https://dev-discuss.pytorch.org/t/torchdynamo-an-experiment-in-dynamic-python-bytecode-transformation/361)。

总结

如果你想加速深度学习系统,最重要的是了解模型中的瓶颈是什么,因为瓶颈决定了适合加速该系统的方法是什么。

很多时候,我看到研究人员和其他对加速 PyTorch 代码感兴趣的人,会在不了解所处问题的情况下盲目尝试。

使用机器学习模型一般步骤,机器学习训练好的模型怎么用(15)

当然,另一方面,如果用户需要考虑这些东西,也反映了框架的部分失败。尽管 PyTorch 是一个活跃的关注领域,但 PyTorch 的编译器或配置文件 API 并不是最容易使用的。

总而言之,我发现对系统基本原理的理解几乎总是有用的,希望这对你也有用。

原文链接:https://horace.io/brrr_intro.html

栏目热文

机器学习建模基础知识(机器学习软件建模)

机器学习建模基础知识(机器学习软件建模)

来源 | 算法进阶责编 | 寇雪芹头图 | 下载于视觉中国前言:机器学习作为人工智能领域的核心组成,是计算机程序学习数据...

2022-10-30 05:32:38查看全文 >>

机器学习建模方法(适合新手的建模软件)

机器学习建模方法(适合新手的建模软件)

在数据的世界中,机器学习已经成为不可或缺的工具。机器学习可以帮助发现隐藏在大量数据中的特定知识。很多时候,这些知识都不是...

2022-10-30 05:49:27查看全文 >>

三种机器学习模型(最新机器学习模型)

三种机器学习模型(最新机器学习模型)

AI 科技大本营按:本文节选自微软亚洲研究院机器学习研究团队刘铁岩、陈薇、王太峰、高飞合著的《分布式机器学习:算...

2022-10-30 05:16:01查看全文 >>

机器学习模型训练步骤(机器学习训练步骤)

机器学习模型训练步骤(机器学习训练步骤)

本文是为机器学习初学者准备的,目的是了解制作一个真正好的机器学习模型所涉及的不同步骤,以及应该避免哪些错误。本文并不是任...

2022-10-30 05:25:41查看全文 >>

机器学习建模的工具包(机器学习可视化建模)

机器学习建模的工具包(机器学习可视化建模)

机器之心报道机器之心编辑部如何应用自动机器学习 (AutoML) 加速图机器学习任务的处理?清华大学发布全球首个开源自动...

2022-10-30 05:27:59查看全文 >>

机器学习的模型如何落地(一份机器学习模型再训练终极指南)

机器学习的模型如何落地(一份机器学习模型再训练终极指南)

本文根据数美科技李田老师在2018年 DataFun AI Talk中分享的《机器学习在数美业务上的落地》编辑整理而成...

2022-10-30 05:55:56查看全文 >>

机器学习模型步骤(机器学习模型的搭建)

机器学习模型步骤(机器学习模型的搭建)

来源:Datawhale本文约5200字,建议阅读9分钟。本文用手绘图的方式讲解了机器学习模型构建的全流程。周末在家无聊...

2022-10-30 05:29:32查看全文 >>

机器学习建模流程(机器学习模型训练全流程)

机器学习建模流程(机器学习模型训练全流程)

根据3D科学谷的市场观察,从电子商务网站和流媒体平台内置的推荐工具到智能手机中复杂的图像编辑,人工智能和机器学习应用程序...

2022-10-30 05:35:32查看全文 >>

机器学习算法建模过程视频(机器学习 预测算法)

机器学习算法建模过程视频(机器学习 预测算法)

上课的学员至少要有一定的第一性原理计算 或 量子化学计算基础,或者曾经上过初级班的课程。本次培训通知是机器学习专题(6天...

2022-10-30 05:21:56查看全文 >>

机器学习模型怎么软件化(机器学习训练好的模型怎么上线)

机器学习模型怎么软件化(机器学习训练好的模型怎么上线)

SiliconLabs本篇博客文章介绍了物联网结合机器学习(ML)的应用场景,以及如何基于Silicon Labs(亦称...

2022-10-30 05:56:48查看全文 >>

文档排行