IT资讯
当前位置:还学网 > IT资讯 >  IT圈

秒秒钟揪出张量形状错误,这个工具能防止 ML 模型训练白忙一场

2022-01-18 19:00:48 量子位 函擎 编辑:奇奇 浏览数:21还学网

模型吭哧吭哧训练了半天,结果发现张量形状定义错了,这一定没少让你抓狂吧。那么针对这种情况,是否存在较好的解决方法呢?这不最近,韩国首尔大学的研究者就开发出了一款“利器”—— PyTea。据研究人员介绍,它在训练模型前,能...

模型吭哧吭哧训练了半天,结果发现张量形状定义错了,这一定没少让你抓狂吧。那么针对这种情况,是否存在较好的解决方法呢?

这不最近,韩国首尔大学的研究者就开发出了一款“利器”—— PyTea。

据研究人员介绍,它在训练模型前,能几秒内帮助你静态分析潜在的张量形状错误

那么 PyTea 是如何做到的,到底靠不靠谱,让我们一探究竟吧。

为什么张量形状错误这么重要?

神经网络涉及到一系列的矩阵计算,前面矩阵的列数必需匹配后面矩阵的行数,如果维度不匹配,那后面的运算就都无法运行了。

上图代码就是一个典型的张量形状错误,[B x 120] * [80 x 10] 无法进行矩阵运算。

无论是 PyTorch,TensorFlow 还是 Keras 在进行神经网络的训练时,大多都遵循图上的流程。

首先定义一系列神经网络层(也就是矩阵),然后合成神经网络模块……

那么为什么需要 PyTea 呢?

以往我们都是在模型读取大量数据,开始训练,代码运行到错误张量处,才可以发现张量形状定义错误。

由于模型可能十分复杂,训练数据非常庞大,所以发现错误的时间成本会很高,有时候代码放在后台训练,出了问题都不知道……

PyTea 就可以有效帮我们避免这个问题,因为它能在运行模型代码之前,就帮我们分析出形状错误。

网友们已经在热烈讨论了。

PyTea 是如何运作的,它能否有效地检查出错误呢?

受各种约束条件的影响,代码可能的运行路径有很多,不同的数据会走向不同的路径。

所以 PyTea 需要静态扫描所有可能的运行路径,跟踪张量变化,推断出每个张量形状精确而保守的范围。

上图就是 PyTea 的整体架构,一共分为翻译语言,收集约束条件,求解器判断和给出反馈四步。

首先 PyTea 将原始的 Python 代码翻译成一种内核语言。PyTea 内部表示法(PyTea IR)。

接着 PyTea 追踪 PyTea IR 每个可能的执行路径,并收集有关张量形状的约束条件。

判断约束条件是否被满足,分为线上分析和离线分析两步

线上分析 node.js(TypeScript / JavaScript):查找张量形状数值上的不匹配和误用 API 函数的情况。如果 PyTea 发现问题,就会停止在当前位置,然后给用户报错。

离线分析 Z3 / Python:如果线上分析没有问题,PyTea 将收集到的约束条件传给 SMT(Satisfiability Modulo Theories)求解器 Z3,求解器负责查看每条路径的约束条件是否都能被满足,如果不能,返回给用户第一条出错路径的约束条件。

如果求解器过久没有反应,PyTea 会返回不知道是否存在问题。

然而追踪所有可能的路径是指数级别的任务,对于复杂的神经网络来说,一定会发生路径爆炸这个问题。

比如说在这个例子中,网络的最终结构是由 24 个相同模块块构成的(第 17 行),那么可能的路径就有 16M 之多。

所以路径爆炸是一定要处理的,PyTea 是怎么做的?

PyTea 选择保守的地对路径剪枝和超时判断来处理这种路径爆炸。

什么样的路径可以被剪枝?

PyTea 给出的答案是,如果该前馈函数不改变全局值,并且它的输出值不受分支条件影响,对于每条路径都是相等的,我们就可以忽略许多完全一致的路径,来节约计算资源。

如果路径剪枝还是不行,那么就只能按超时处理了。

分享到:

版权与免责声明:

凡未注明"稿件来源"的内容均为转载稿,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;


本文地址://www.casaischia.com/news/2022/01/18/568280734.html

转载本站原创文章请注明来源:还学网

行业聚焦

宁德时代:公司 2025 年产能缺口不低于 430GWh,新增产能规模具有合理性

IT之家 1 月 17 日消息,今日早间,宁德时代回复深交所称,公司 2021 年 1-9 月的锂离子电池产能为 106.41GWh,公司已建成投产的锂离子电池...[详细]

Android 13 新功能曝光:锁屏界面直接扫描二维码,一键流转播放音频

IT之家 1 月 11 日消息,谷歌 Android 12 已经正式推出,Android 13 的开发就提上了日程。据 Android Police 报道,An...[详细]

联发科天玑 9000 方案新机爆料:有两三款采用 2K 屏,配大底主摄

IT之家 1 月 13 日消息,今日微博博主 @数码闲聊站 发布消息,表示 2022 年上半年即将发布的联发科天玑 9000 方案新机,将会有两三款都...[详细]

华硕推出 PL63 迷你主机:自带雷电 4 接口、双天线,形似路由器

感谢IT之家网友 肖战割割 的线索投递! IT之家 1 月 22 日消息,根据外媒 techpowerup 消息,华硕于 1 月 21 日...[详细]

这几款小工具可以让 Win11 更顺手,轻松帮你去掉系统槽点

对于一些在旧版 Windows 中的常用操作,在 Windows 11 中做了改动,这就让一些用惯旧版系统的用户觉得甚为不便,于是乎就出现了许多小小的修改小工具...[详细]

活动互动

更多

Win10 笔记本电脑升级 Win11 出现错误代码 0xC1900101 或 0x80070002,华硕发布解决方法

 

IT之家 1 月 17 日消息,近期,华硕官网发布了 Windows 10 笔记本电脑升级 Windows 11 错误的...[详细]

realme Book 增强版笔记本发布:搭载 i5

 

IT之家 1 月 4 日消息,今天,realme Book 增强版笔记本发布,搭载了英特尔 i5-11320H 处理器,...[详细]

微软收购动视暴雪,游戏圈“大地震”:索尼在日本股市跌近 10%,创 2020 年 3 月以来最大跌幅

 

IT之家 1 月 19 日消息,微软昨日晚间发布了一项重磅公告,以每股 95 美元的现金收购游戏开发和互动娱乐内容发行商...[详细]

消息称有赞正进行大裁员

 

近日,有媒体报道称,本月有赞启动了第一轮裁员。据多位接受裁员的消息人士证实,有赞确实把“人员优化”写入了2022年的OK...[详细]

宁德时代换电测试站被曝光,官方回应:与正式发布版有别

 

IT之家 1 月 16 日消息,宁德时代宣布将于 1 月 18 日 15:30 举办发布会,推出换电品牌 EVOGO。中...[详细]

一周排行每月关注