CVPR2022 | 在线Re-Param | OREPA让AI训练速度进一步加快,精度略胜RepVGG!(二)

简介: CVPR2022 | 在线Re-Param | OREPA让AI训练速度进一步加快,精度略胜RepVGG!(二)

4实验


4.1 消融实验

1、线性缩放层和优化多样性

image.png

图7

首先进行实验来验证核心思想,即所提出的线性缩放层与BN层起着相似的作用。根据3.4中的分析。文章展示了缩放层和BN层都能够多样化优化方向。为了验证这一点,作者可视化了图7中所有分支的分支级相似性。作者发现,缩放层的使用可以显著增加不同分支的多样性。

image.png

在表2中验证了这种多样性的有效性。以ResNet-18结构为例,这两种层(BN和线性缩放)带来了相似的性能增益(即0.42vs.0.40)。这有力地支持了本文的观点,即在重参化中,最重要的是缩放部分,而不是统计标准化部分。

2、各种线性化策略

本文作者尝试了各种尺度层的线性化策略。具体来说4种变体:

  • Vector:利用一个通道级向量,并沿着通道轴执行缩放操作。
  • Scalar:用一个标量来缩放整个特征图。
  • W/o scaling:删除分支级缩放层。
  • W/o post-addition BN:删除后BN层。

image.png

从表3中发现,无论是部署标量缩放层还是不部署缩放层,都会导致较差的结果。因此,选择向量缩放作为默认策略。

作者还研究了加法后BN层的有效性。如3.2中所述。添加了后BN层来稳定训练过程。为了证明这一点,作者删除了这些层,如表3中的最后一行所示,梯度变成无穷大,模型无法收敛。

3、每个组件都很重要

对ResNet-18和ResNet-50的结构都进行了实验。如表2所示,每个组件都有助于提高性能。

4、Online vs. offline

作者比较了OREPA-ResNet-18与DBB-18的训练成本进行了对比。举例说明了消耗的内存(图8(a))和训练时间(图8(b))。

随着组件数量的增加,离线重参化模型面临着内存利用率快速增加和训练时间长的问题。由于高内存成本,甚至不能在ResNet-18模型中引入Deep Stem。相比之下,在线重参化策略将训练速度提高了4×,并节省了高达96+%的额外GPU内存。总体的训练开销大致与基本模型(普通ResNet)的水平相同。

4.2 与其他重参化对比

从表4中观察到在ResNet系列上,OREPA可以在各种模型上的性能持续提高+0.36%。同时,它将训练速度加速了1.5×至2.3×,并节省了约70+%的额外训练时间内存。

image.png

作者还对VGG结构进行了实验,比较了OREPA-VGG和RepVGG。对于OREPA-VGG模型,简单地用在OREPA-中使用的OREPA-res-3×3分支。这种修改只引入了边际的额外训练成本,同时也带来了明显的性能增益(+0.25%∼+0.6%)。

4.3 目标检测与语义分割

4.4 局限性

当简单地将所提出的OREPA从ResNet转移到RepVGG时,作者发现基于残差和无残差(VGG-like)结构之间的性能不一致。因此,在RepVGG块中保留了所有的三个分支,以保持具有竞争性的精度,这就略微增加了计算成本。这是一个有趣的现象。


5参考


[1].OREPA: Online Convolutional Re-parameterization


6推荐阅读


深度可分离ViT | SepViT | 深度可分离卷积造就深度可分离Transformer

即插即用 | XBN让ResNet、ShuffleNet彻底解决BN的局限和缺点

PP-YoLoE | PP-YoLov2全面升级Anchor-Free,速度精度完美超越YoLoX和YoLov5

Aug-ShuffleNets | ShuffleNetV2参数和FLOPs降低,性能却提升,简单暴力有效!

相关文章
|
1月前
|
机器学习/深度学习 存储 人工智能
【科普向】我们所说的AI模型训练到底在训练什么?
人工智能(AI)模型训练类似于厨师通过反复实践来掌握烹饪技巧。它通过大量数据输入,自动优化内部参数(如神经网络中的权重和偏置),以最小化预测误差或损失函数,使模型在面对新数据时更加准确。训练过程包括前向传播、计算损失、反向传播和更新权重等步骤,最终生成权重文件保存模型参数,用于后续的应用和部署。理解生物神经网络的工作原理为人工神经网络的设计提供了灵感,后者广泛应用于图像识别、自然语言处理等领域。
|
14天前
|
人工智能 物联网 开发者
Oumi:开源的AI模型一站式开发平台,涵盖训练、评估和部署模型的综合性平台
Oumi 是一个完全开源的 AI 平台,支持从 1000 万到 4050 亿参数的模型训练,涵盖文本和多模态模型,提供零样板代码开发体验。
204 43
Oumi:开源的AI模型一站式开发平台,涵盖训练、评估和部署模型的综合性平台
|
13天前
|
机器学习/深度学习 人工智能 计算机视觉
MILS:无需对LLM进行额外训练就能处理多模态任务,Meta AI提出零样本生成多模态描述方法
MILS 是 Meta AI 推出的零样本生成高质量多模态描述方法,支持图像、视频和音频的描述生成,无需额外训练。
102 34
MILS:无需对LLM进行额外训练就能处理多模态任务,Meta AI提出零样本生成多模态描述方法
|
5月前
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
|
1月前
|
人工智能 物联网
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
82 10
|
2月前
|
机器学习/深度学习 存储 人工智能
【AI系统】感知量化训练 QAT
本文介绍感知量化训练(QAT)流程,旨在减少神经网络从FP32量化至INT8时的精度损失。通过在模型中插入伪量化节点(FakeQuant)模拟量化误差,并在训练中最小化这些误差,使模型适应量化环境。文章还探讨了伪量化节点的作用、正向与反向传播处理、TensorRT中的QAT模型高效推理,以及QAT与PTQ的对比,提供了实践技巧,如从良好校准的PTQ模型开始、采用余弦退火学习率计划等。
118 2
【AI系统】感知量化训练 QAT
|
2月前
|
机器学习/深度学习 存储 人工智能
【AI系统】训练后量化与部署
本文详细介绍了训练后量化技术,涵盖动态和静态量化方法,旨在将模型权重和激活从浮点数转换为整数,以优化模型大小和推理速度。通过KL散度等校准方法和量化粒度控制,文章探讨了如何平衡模型精度与性能,同时提供了端侧量化推理部署的具体实现步骤和技术技巧。
111 1
【AI系统】训练后量化与部署
|
2月前
|
人工智能 智能硬件
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
SPAR 是智谱团队推出的自我博弈训练框架,旨在提升大型语言模型在指令遵循方面的能力,通过生成者和完善者的互动以及树搜索技术优化模型响应。
74 0
SPAR:智谱 AI 推出自我博弈训练框架,基于生成者和完善者两个角色的互动,提升了执行准确度和自我完善能力
|
2月前
|
人工智能 PyTorch 测试技术
【AI系统】并行训练基本介绍
分布式训练通过将任务分配至多个节点,显著提升模型训练效率与精度。本文聚焦PyTorch2.0中的分布式训练技术,涵盖数据并行、模型并行及混合并行等策略,以及DDP、RPC等核心组件的应用,旨在帮助开发者针对不同场景选择最合适的训练方式,实现高效的大模型训练。
88 8
|
4月前
|
Python 机器学习/深度学习 人工智能
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
【10月更文挑战第1天】本文通过构建一个简单的强化学习环境,演示了如何创建和训练智能体以完成特定任务。我们使用Python、OpenAI Gym和PyTorch搭建了一个基础的智能体,使其学会在CartPole-v1环境中保持杆子不倒。文中详细介绍了环境设置、神经网络构建及训练过程。此实战案例有助于理解智能体的工作原理及基本训练方法,为更复杂应用奠定基础。首先需安装必要库: ```bash pip install gym torch ``` 接着定义环境并与之交互,实现智能体的训练。通过多个回合的试错学习,智能体逐步优化其策略。这一过程虽从基础做起,但为后续研究提供了良好起点。
466 4
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣

热门文章

最新文章