当前位置:首页 > 经验 >

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

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

选自horace博客

作者:Horace He

机器之心编译

编辑:Juniper

深度学习是门玄学?也不完全是。

每个人都想让模型训练得更快,但是你真的找对方法了吗?在康奈尔大学本科生、曾在 PyTorch 团队实习的 Horace He 看来,这个问题应该分几步解决:首先,你要知道为什么你的训练会慢,也就是说瓶颈在哪儿,其次才是寻找对应的解决办法。在没有了解基本原理(第一性原理)之前就胡乱尝试是一种浪费时间的行为。

在这篇文章中,Horace He 从三个角度分析可能存在的瓶颈:计算、内存带宽和额外开销,并提供了一些方式去判断当前处于哪一个瓶颈,有助于我们更加有针对性地加速系统。这篇文章得到了陈天奇等多位资深研究者、开发者的赞赏。

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

以下是原文内容:

怎样才能提高深度学习模型的性能?一般人都会选择网上博客中总结的一些随机技巧,比如「使用系统内置的运算算子,把梯度设置为 0,使用 PyTorch1.10.0 版本而不是 1.10.1 版本……」

在这一领域,当代(特别是深度学习)系统给人的感觉不像是科学,反而更像炼丹,因此不难理解用户为什么倾向于采用这种随机的方法。即便如此,这一领域也有些第一性原理可以遵循,我们可以据此排除大量方法,从而使得问题更加容易解决。

比如,如果你的训练损失远低于测试损失,那么你可能遇到了「过拟合」问题,而尝试着增加模型容量就是在浪费时间。再比如,如果你的训练损失和你的验证损失是一致的,那对模型正则化就显得不明智了。

类似地,你也可以把高效深度学习的问题划分为以下三个不同的组成部分:

  1. 计算:GPU 计算实际浮点运算(FLOPS)所花费的时间;
  2. 内存:在 GPU 内传输张量所花费的时间;
  3. 额外开销:花在其它部分的时间。

在训练机器学习模型的时候,知道你遇到的是哪类问题非常关键,使模型高效的问题也是如此。例如,当模型花费大量时间进行内存到 GPU 的转移的时候(也就是内存带宽紧张的时候),增加 GPU 的 FLOPS 就不管用。另一方面,如果你正在运行大量的矩阵乘法运算(也就是计算紧张的时候),将你的程序重写成 C 去减轻额外开销就不会管用。

所以,如果你想让 GPU 丝滑运行,以上三个方面的讨论和研究就是必不可少的。

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

惨痛教训的背后有大量工程师保持 GPU 高效运行。

注意:这个博客中的大多数内容是基于 GPU 和 PyTorch 举例子的,但这些原则基本是跨硬件和跨框架通用的。

计算

优化深度学习系统的一个方面在于我们想要最大化用于计算的时间。你花钱买了 312 万亿次浮点数运算,那你肯定希望这些都能用到计算上。但是,为了让你的钱从你昂贵的矩阵乘法中得到回报,你需要减少花费在其他部分的时间。

但为什么这里的重点是最大化计算,而不是最大化内存的带宽?原因很简单 —— 你可以减少额外开销或者内存消耗,但如果不去改变真正的运算,你几乎无法减少计算量。

与内存带宽相比,计算的增长速度增加了最大化计算利用率的难度。下表显示了 CPU 的 FLOPS 翻倍和内存带宽翻倍的时间 (重点关注黄色一栏)。

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

一种理解计算的方式是把它想象成工厂。我们把指令传达给我们的工厂(额外消耗),把原始材料送给它(内存带宽),所有这些都是为了让工厂运行得更加高效(计算)。

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

首页 1234下一页

栏目热文

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

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

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

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查看全文 >>

文档排行