首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FAIR何恺明等人提出组归一化:替代归一化,不受批量大小限制

特别是,BN 需要用到足够大大小(例如,每个工作站采用 32 批量大小)。一个小批量会导致估算统计不准确,减小 BN 大小会极大地增加模型错误率(图 1)。...结果导致,如今许多模型都使用较大训练,它们非常耗费内存。反过来,训练模型时对 BN 效力极度依赖性阻碍了人们用有限内存探索更高容量模型。 ? 图 1:ImageNet 分类误差 vs....计算机视觉任务(包括检测、分割、视频识别和其他基于此高级系统)对大小限制更加严格。...BN 使用通常要求这些系统在模型设计和大小之间作出妥协。 本文提出了组归一化(Group Normalization,GN)作为归一化(BN)替代。...当批量大小 2 个样本时,在 ImageNet 训练 ResNet-50 上,相比于 BN 对应变体,GN 获得误差率要小 10%。

77670

FAIR何恺明等人提出组归一化:替代归一化,不受批量大小限制

特别是,BN 需要用到足够大大小(例如,每个工作站采用 32 批量大小)。一个小批量会导致估算统计不准确,减小 BN 大小会极大地增加模型错误率(图 1)。...结果导致,如今许多模型都使用较大训练,它们非常耗费内存。反过来,训练模型时对 BN 效力极度依赖性阻碍了人们用有限内存探索更高容量模型。 ? 图 1:ImageNet 分类误差 vs....计算机视觉任务(包括检测、分割、视频识别和其他基于此高级系统)对大小限制更加严格。...BN 使用通常要求这些系统在模型设计和大小之间作出妥协。 本文提出了组归一化(Group Normalization,GN)作为归一化(BN)替代。...当批量大小 2 个样本时,在 ImageNet 训练 ResNet-50 上,相比于 BN 对应变体,GN 获得误差率要小 10%。

83260
您找到你想要的搜索结果了吗?
是的
没有找到

谷歌狂喜:JAX性能超越Pytorch、TensorFlow!或成GPU推理训练最快选择

为了确保比较公平性,对于相同模型和任务(不论是训练还是推理)都使用相同大小。...然而,对于不同模型和任务,由于它们规模和架构有所不同,可根据需要调整数据大小,从而避免因过大而导致内存溢出,或是过小而导致GPU使用不足。...过小大小也会使PyTorch看起来较慢,因为会增加Python开销。...考虑到用户对单批文本生成需求,也对大小1文本生成情况进行了基准测试。 关键发现 发现1 不存在「最优」后端。...相对于原生PyTorch,Keras 3在吞吐量(步/毫秒)上有明显提升。 特别是,在10个测试任务中,有5个速度提升超过了50%。其中,最高更是达到了290%。

12110

动态 | 何恺明团队最新力作:群组归一化(Group Normalization)

小批量会导致批量统计数据估算不准确,并且减少 BN 批量大小会显著增加模型误差(图 1)。因此,最近许多模型都是用较大批量来进行训练,这些大批量都是很耗费内存。...反过来,训练模型时对 BN 有效性高度依赖性阻碍了人们用有限内存探索更高容量模型。 计算机视觉任务(包括检测、分割、视频识别和其他基于此高级系统)对批量大小限制要求更高。...例如,Fast / er 和 Mask R-CNN 框架使用批量 1 或 2 图像,为了更高分辨率,其中 BN 通过变换为线性层而被「固定」;在 3D 卷积视频分类中,时空特征出现导致在时间长度和大小之间需要作出权衡...BN 使用通常要求这些系统在模型设计和大小之间作出妥协。 本文提出群组归一化(GN)作为 BN 替代方案。作者注意到像 SIFT 和 HOG 这样许多经典特征是分组特征并且包括分组规范化。...对于常规批量规格,GN 与 BN 表现相当(差距 0.5%),并且优于其它归一化变体 。此外,尽管批量可能会发生变化,但 GN 可以自然地从预训练迁移到微调。

91420

四块GPU即可训练BigGAN:「官方版」PyTorch实现出炉

默认情况下,launch_BigGAN_bs256x8.sh 脚本训练批量大小 256 且具备 8 次梯度累积完整 BigGAN 模型,其总批量大小 2048。...一旦确定了这一点,你应该修改脚本,使大小乘以梯度累积数量等同于你期望总批量大小(BigGAN 默认总批量大小是 2048)。...训练结束后,你可以使用 sample.py 生成额外样本和插值,用不同截断值、大小、standing stat 累积次数等进行测试。...BS256 和 8 次梯度累积,并在崩溃前实现,其 TF Inception Score 97.35 +/- 1.79,详见:https://drive.google.com/open?...该 repo 用了加速 FID 计算:初始 scipy 版本需要 10 多分钟来计算矩阵 sqrt,而该版本使用加速 PyTorch 版本,能在 1 秒内完成计算。

1.2K20

使用TensorFlow训练WDL模型性能问题定位与调优

我们在调整对TensorFlow接口调用、并且优化系统配置后,WDL模型训练性能提高了10倍,分布式线性加速可达32个Worker,基本满足了美团点评广告和推荐等业务需求。...性能瓶颈分析与调优 在使用TensorFlow训练WDL模型时,我们主要发现3个性能问题: 每轮训练时,输入数据环节耗时过多,超过60%时间用于读取数据。...Pipeline这种多线程、多队列设计可以使训练线程和读数据线程并行。 理想情况下,队列Example Queue总是充满数据训练线程完成一轮训练后可以立即读取下一数据。...YARN管理进程树虚拟内存和物理内存使用量,超过限制进程树将被杀死。将MALLOC_ARENA_MAX默认设置改为4之后,可以不至于VIRT增加很多,而且一般作业性能没有明显影响。...在深入挖掘系统热点瓶颈过程中,我们也加深了对业务算法模型、TensorFlow框架理解,具有技术储备意义,有助于我们后续进一步优化深度学习平台性能,更好地业务提供工程技术支持。

2.8K101

“你深度学习框架包含15个漏洞”新知

深度学习框架依赖库 当你训练图像识别算法时候,也许并不那么关心Caffe中用到OpenCV开源库或者TensorFlow依赖numpy,但是,风险正蕴含其中。 攻击从哪来?...训练数据畸形 在构建深度学习应用过程中,需要用数据对模型进行训练,而训练所用数据集就可能被污染、打上错误标签。这种攻击方式叫做数据下毒攻击。...都不安全 以上面提到第一个攻击面(输入图像畸形)例,假设你输入数据来自文件或者网络,TensorFlow、Caffe和Torch就有十几个漏洞,可能遭受DOS拒绝服务攻击、躲避攻击或者系统妥协攻击...OpenCV例子如下: 我们来详细看一下这几类攻击: 威胁一、DoS拒绝服务攻击 我们在深度学习框架中发现,最常见漏洞是软件错误,导致程序崩溃,或者进入死循环,或者耗尽所有的内存。...威胁二、躲避攻击 面对脆弱深度学习框架,攻击者可以利用软件漏洞实施躲避攻击,例如:1、通过漏洞覆盖分类结果,修改特定内存内容 2、劫持控制流程以跳过或重新排序模型执行。

1K60

前端工程师掌握这18招,就能在浏览器里玩转深度学习

在浏览器上训练就要求模型要小、要快、要越容易训练越好。下面我们就从模型架构、训练和调试等几个方面来看看如何才能做到这三点。 模型架构 ▌1. 控制模型大小 控制模型规模很重要。...显然跳跃连接隐含一个要求就是连接两层输出和输入格式必须能对应得上。我们要用残差网络的话,那最好保证两层过滤器数目和填充都一致而且步幅1(不过肯定有其它做法来保证格式对应)。...▌14.调整画布大小,而不是张量大小 在调用 TF . from pixels 之前,要将画布转换成张量,请调整画布大小,否则你会很快耗尽 GPU 内存。 ...▌15.慎选大小 每一样本数选多少,也就是大小显然取决于我们用什么 GPU 和网络结构,所以大家最好试试不同大小看看怎么最快。...我一般从 1 开始试,而且有时候我发现增加大小训练效率也没啥帮助。 ▌16.善用IndexedDB 我们训练数据集因为都是图片所以有时候还是挺大

58210

前端工程师深度学习,就能在浏览器里玩转深度学习

本文大家总结了 18 个 Tips,希望可以帮助大家训练出更好模型。 ?...感觉 TensorFlow.js 让我们搞前端也潮了一把。 虽说浏览器也能跑深度学习模型了,这些模型终归不是在浏览器里运行设计,所以很多限制和挑战也就随之而来了。...**在浏览器上训练就要求模型要小、要快、要越容易训练越好。下面我们就从模型架构、训练和调试等几个方面来看看如何才能做到这三点。 模型架构 ▌1. 控制模型大小 控制模型规模很重要。...image ▌15.慎选大小 每一样本数选多少,也就是大小显然取决于我们用什么 GPU 和网络结构,所以大家最好试试不同大小看看怎么最快。...我一般从 1 开始试,而且有时候我发现增加大小训练效率也没啥帮助。 ▌16.善用IndexedDB 我们训练数据集因为都是图片所以有时候还是挺大

92530

76分钟训练BERT!谷歌大脑新型优化器LAMB加速大批量训练

BERT 预训练包括两个阶段:1)前 9/10 训练 epoch 使用 128 序列长度,2)最后 1/10 训练 epoch 使用 512 序列长度。...实验所用硬件 TPUv3,实验设置与基线 BERT-Large 相同:前 9/10 训练 epoch 使用 128 序列长度,最后 1/10 训练 epoch 使用 512 序列长度。...对于第二阶段而言,因为内存限制,TPUv3 Pod 上最大批量大小 32768,因此第二阶段使用大小 32768。...对于第一阶段,受限于内存,TPUv3 Pod 上最大批量大小 131072。...然而,研究者将大小从 65536 增加到 131072 时,并没有发现明显加速,因此研究者将阶段 1 大小定为 65536。

1.4K40

【深度】TensorFlow or TensorSlow,谷歌基准测试为何不给力?(附Google内部员工测试代码下载)

支持CuDNN R2,目前还不支持CuDNN R3,贾扬清说TensorFlow会支持下一个CuDNN版本可能是R4。 然后是benchmark: Googlenet在尺寸128时会内存不足。...我能使用最大尺寸是16(试过了16,32,64,128)。 VGG在尺寸64时会内存不足。我能适用最大尺寸是32(试过了32,64)。...展开来说: 第一,从深度学习角度来分析,TensorFlow目前尚缺乏很多系统方面对deep learning设计和优化(比如在训练深度卷积神经网络时,可以利用CNN结构特性以及算法特性在系统方面...基本想法是,不仅对相同形状内存做共享(也就是原地),也对不同形状和大小内存做共享。...确实如此,如果使用了tensorflow,我能够在1天内实现编程然后2天用来训练数据(共3天),而不是3天编程1训练(共4天),那么我能够用多出那一天来喝鸡尾酒、读书,而且仍然更早完成。

1.1K40

业界 | 在个人电脑上快速训练Atari深度学习模型:Uber开源「深度神经进化」加速版

Stanley、Jeff Clune 机器之心编译 参与:路、李泽南 Uber 在去年底发表研究中发现,通过使用遗传算法高效演化 DNN,可以训练含有超过 400 万参数深度卷积网络在像素级别上玩...如下所述,它还包含自定义 TensorFlow 操作,极大地提高了训练速度。 在 GPU 上训练需要对神经网络操作计算方式进行若干修改。...这种做法在神经网络研究中很常见,但是通常是同一个神经网络处理一不同输入。但是 Uber 做法使用是多个不同神经网络,不过即使网络不同,该操作仍然实现了加速(对内存要求也提高了)。...尽管 TensorFlow 提供所有需要操作,但是这些操作并不是这种计算量身定做。...使用 GPU 普通方式(左)性能较差,原因有二:1)GPU 大小无法利用其并行计算能力;2)GPU 等待 CPU 时空闲时间,反之亦然。

70980

AI框架:9大主流分布式深度学习框架简介

-5faa86199c1f 一、训练大模型基础 大型深度学习模型在训练时需要大量内存来存储中间激活、权重等参数,导致某些模型只能在单个 GPU 上使用非常小大小进行训练,甚至无法在单个 GPU上进行训练...1.数据并行 应用数据并行最常见场景是模型尺寸能够被 GPU 内存容纳,数据大小会增加模型训练难度。解决方案是让模型不同实例在不同 GPU 和不同数据上运行,如下图所示。...通过把一个大模型拆分到多个 GPU 上训练,可以实现模型尺寸超过单个 GPU显存深度学习模型训练。...GPU 系统训练/推理 推理实现前所未有的低延迟和高吞吐量 以低成本实现极致压缩,实现无与伦比推理延迟和模型尺寸缩减 3....Mesh-Tensorflow 根据 github 页面:Mesh TensorFlow (mtf) 是一种用于分布式深度学习语言,能够指定广泛分布式张量计算类别。

45110

《Scikit-Learn、Keras与TensorFlow机器学习实用指南(第二版)》第19章 规模化训练和部署TensorFlow模型

这样效率很低,序列化/反序列化很费时,负载大小也高:浮点数要表示15个字符,32位浮点数要超过120比特。这样在传输大NumPy数组时,会造成高延迟和高带宽消耗。所以转而使用gRPC。...删减了所有预测用不到运算(比如训练运算),并优化了可能计算;例如,3×a + 4×a + 5×a被压缩(3 + 4 + 5)×a。还将可能运算融合。例如,归一化作为加法和乘法融合到了前一层。...另外,训练会更快,GPU内存使用只有一半。 TFLite转换器可以做更好,可以将模型权重量化变为小数点固定8位整数。相比为32位浮点数,可以将模型大小减为四分之一。...这么设置后,TensorFlow不会释放获取内存(避免内存碎片化),直到程序结束。这种方法无法保证确定行为(比如,一个程序内存超标会导致另一个程序崩溃),所以在生产中,最好使用前面的方法。...超过这点,添加更多GPU反而使带宽更糟,会减慢训练。 提示:对于一些相对小、用大训练数据训练得到模型,最好用单机大内存带宽单GPU训练

6.6K20

一番实验后,有关Batch Size玄学被打破了

以下两个小节将简要强调两个主要论点:内存对齐和浮点效率。 内存对齐 选择大小 2 主要论据之一是 CPU 和 GPU 内存架构是以 2 幂进行组织。...通常,维度 K 和 N 由神经网络架构决定(尽管如果我们自己设计还会有一些回旋余地),但大小(此处 M)通常是我们可以完全控制。...简单 Benchmark 为了解不同大小如何影响实践中训练,我运行了一个简单基准测试,在 CIFAR-10训练 MobileNetV3 模型 10 个 epoch—— 图像大小调整 224...「训练时间」对应于在 CIFAR-10训练 MobileNetV3 10 个 epoch。推理时间意味着在测试集中 10k 图像上评估模型。 查看上表,让我们将大小 128 作为参考点。...为了研究 GPU 满负荷时训练时间差异,我将批量大小增加到 512,以使 GPU 显示出接近 100% 计算利用率: 由于 GPU 内存限制,大小不可能超过 515。

1.3K100

一番实验后,有关Batch Size玄学被打破了

以下两个小节将简要强调两个主要论点:内存对齐和浮点效率。 内存对齐 选择大小 2 主要论据之一是 CPU 和 GPU 内存架构是以 2 幂进行组织。...通常,维度 K 和 N 由神经网络架构决定(尽管如果我们自己设计还会有一些回旋余地),但大小(此处 M)通常是我们可以完全控制。...简单 Benchmark 为了解不同大小如何影响实践中训练,我运行了一个简单基准测试,在 CIFAR-10训练 MobileNetV3 模型 10 个 epoch—— 图像大小调整 224...「训练时间」对应于在 CIFAR-10训练 MobileNetV3 10 个 epoch。推理时间意味着在测试集中 10k 图像上评估模型。 查看上表,让我们将大小 128 作为参考点。...为了研究 GPU 满负荷时训练时间差异,我将批量大小增加到 512,以使 GPU 显示出接近 100% 计算利用率: 由于 GPU 内存限制,大小不可能超过 515。

37720

Intel为什么强调NVIDIA Tensor Core GPU非常适合推理

它们旨在加速人工智能训练和推理,并且很容易使用TensorFlow和PyTorch框架中自动混合精度特性。开发人员只需向TensorFlow项目添加两行代码,就可以实现3倍培训速度。...注意:大小4结果产生了最好CPU得分。...;NVIDIA驱动418.67;基于自动混合精度和XLA编译器TensorFlow批量大小4和序列长度128用于所有测试平台。...NCF模型是MLPerf 0.5训练基准一部分,在NCF模型上运行推断时,NVIDIA T4带来性能是cpu10倍,能源效率是cpu20倍。...表3:NCF上推理 CPU服务器:单插槽Xeon Gold 6240@2.6GHz;内存384 gb系统;使用IntelTF Docker容器版本1.13.1在TensorFlowNCF使用Intel

3K20
领券