当前位置: 首页 > news >正文

[NeurIPS 2022] Leveraging Inter-Layer Dependency for Post-Training Quantization

Contents

  • Introduction
  • Method
  • Experiments
  • References

Introduction

  • 作者提出一种端到端的 PTQ 训练策略 Network-Wise Quantization (NWQ),并通过 Annealing Softmax (ASoftmax) 和 Annealing Mixup (AMixup) 改进了 AdaRound,降低了训练收敛难度

Method

  • Activation Regularization (AR). 采用端到端而非 layer/block-wise 优化每个 block 的量化损失
    在这里插入图片描述

  • Annealing Softmax (ASoftmax). 类似于 AdaRound,采用 Adaptive Rounding,但不同的是作者采用 Softmax 而非 Sigmoid,这使得 rounding 范围由 0~1 扩展到了 n n n~ m m m,但相应得训练参数量也增加到了原来的 m − n + 1 m-n+1 mn+1 倍 (不过作者默认采用 n = 0 , m = 1 n=0,m=1 n=0,m=1,所以 ASoftmax 的优势很大可能来自与 AdaRound 的第二点不同,也就是加速模型收敛;如果扩展 m , n m,n m,n,那么随着训练参数量的增加,如果校准数据比较少,模型容易过拟合)
    在这里插入图片描述在这里插入图片描述在这里插入图片描述此外,不同于 AdaRound 采用正则项促使 h ( V ) h(\mathbf V) h(V) 趋近 0/1,而作者认为这个正则项和量化损失其实是冲突的 (量化损失会促使 h ( V ) h(\mathbf V) h(V) 趋近 w s − ⌊ w s ⌋ \frac{\mathbf w}{s}-\lfloor\frac{\mathbf w}{s}\rfloor swsw),这会导致 AdaRound 不容易收敛;对此,作者借助 softmax temperature 帮助模型更好收敛
    在这里插入图片描述其中, τ t \tau^t τt 代表 iter t t t 时刻的 temperature,从 1 线性衰减到 0.01;作者还给出了 V i \mathbf V_i Vi初始化策略 V i = log ⁡ ( σ ′ ( V ) i ) \mathbf V_i=\log(\sigma'(\mathbf V)_i) Vi=log(σ(V)i),这样可以使得初始 rounding 与原始权重尽可能接近,证明可参考附录 A
    在这里插入图片描述

  • Annealing Mixup (AMixup). 采用 mixup 混合全精度模型输出和量化模型输出,作为 AR 中的优化目标 a l a_l al,其中全精度模型输出在 iter t t t 所占比例从 P s = 0.5 P_s=0.5 Ps=0.5 线性衰减到 P e = 0 P_e=0 Pe=0 从而帮助模型更好收敛
    在这里插入图片描述

Experiments

  • Comprehensive Comparison.
    在这里插入图片描述
  • Ablation Study. (1) AR.
    在这里插入图片描述(2) ASoftmax.
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述(3) AMixup.
    在这里插入图片描述在这里插入图片描述

References

  • Zheng, DanDan, Yuanliu Liu, and Liang Li. “Leveraging inter-layer dependency for post-training quantization.” Advances in Neural Information Processing Systems 35 (2022): 6666-6679.

相关文章:

[NeurIPS 2022] Leveraging Inter-Layer Dependency for Post-Training Quantization

Contents IntroductionMethodExperimentsReferences Introduction 作者提出一种端到端的 PTQ 训练策略 Network-Wise Quantization (NWQ),并通过 Annealing Softmax (ASoftmax) 和 Annealing Mixup (AMixup) 改进了 AdaRound,降低了训练收敛难度 Metho…...

ubuntu+ROS推视频流至网络

目录 概述 工具 ros_rtsp 接受流 web_video_server 源码安装 二进制安装 ros接收rtsp视频流 总结 概述 ros_rtsp功能包可以将ros视频流以rtsp形式推送 web_video_server功能包可以将ros视频话题推HTTP流 rocon_rtsp_camera_relay可以接受同一网段下的rtsp视频流输出为…...

PHP 去掉特殊不可见字符 “\u200e“

描述 最近在排查网站业务时,发现有数据匹配失败的情况 肉眼上完全看不出问题所在 当把字符串 【M24308/23-14F‎】复制出来发现 末尾有个不可见的字符 使用删除键或左右移动时才会发现 最后测试通过 var_dump 打印 发现这个"空字符"占了三个长度 &#xf…...

深度学习—BP算法梯度下降及优化方法Day37

梯度下降 1.公式 w i j n e w w i j o l d − α ∂ E ∂ w i j w_{ij}^{new} w_{ij}^{old} - \alpha \frac{\partial E}{\partial w_{ij}} wijnew​wijold​−α∂wij​∂E​ α为学习率 当α过小时,训练时间过久增加算力成本,α过大则容易造成越过最…...

elasticsearch8.16 docker-compose 多机器集群安装

在网上找了一圈, 发现要么就是单机版的部署了多个节点, 很少有多台机器部署集群的, 有些就拿官网的例子写一写, 没有实战经验, 下面分享一个教程, 实实在在的多台机器, 每台机器部署2个节点的例子 先上.env , docker-compose.yml文件, 这个文件是核心, 里面掺杂太多坑, 已经帮你…...

Flink--API 之 Source 使用解析

目录 一、Flink Data Sources 分类概览 (一)预定义 Source (二)自定义 Source 二、代码实战演示 (一)预定义 Source 示例 基于本地集合 基于本地文件 基于网络套接字(socketTextStream&…...

uniapp在小程序连接webScoket实现余额支付

webScoket文档:uni.connectSocket(OBJECT) | uni-app官网 /plugins/event.js const Dep function() {this.Evens Object.create(null); } class Event {constructor({dep new Dep()} {}) {if (dep.constructor Object && Object.keys(dep).length 0…...

Spring Boot【三】

自动注入 xml中可以在bean元素中通过autowire属性来设置自动注入的方式&#xff1a; <bean id"" class"" autowire"byType|byName|constructor|default" /> byName&#xff1a;按照名称进行注入 byType&#xff1a;按类型进行注入 constr…...

R 因子

R 因子 引言 在金融领域&#xff0c;风险管理和投资策略的优化一直是核心议题。传统的风险度量工具&#xff0c;如波动率、Beta系数等&#xff0c;虽然在一定程度上能够帮助投资者理解市场的波动和资产的相对风险&#xff0c;但它们往往无法全面捕捉到市场动态的复杂性。因此…...

【博主推荐】C# Winform 拼图小游戏源码详解(附源码)

文章目录 前言摘要1.设计来源拼图小游戏讲解1.1 拼图主界面设计1.2 一般难度拼图效果1.3 普通难度拼图效果1.4 困难难度拼图效果1.5 地域难度拼图效果1.6 内置五种拼图效果 2.效果和源码2.1 动态效果2.2 源代码 源码下载结束语 前言 在数字浪潮汹涌澎湃的时代&#xff0c;程序开…...

深入解析 MySQL 启动方式:`systemctl` 与 `mysqld` 的对比与应用

目录 前言1. 使用 systemctl 启动 MySQL1.1 什么是 systemctl1.2 systemctl 启动 MySQL 的方法1.3 应用场景1.4 优缺点优点缺点 2. 使用 mysqld 命令直接启动 MySQL2.1 什么是 mysqld2.2 mysqld 启动 MySQL 的方法2.3 应用场景2.4 优缺点优点缺点 3. 对比分析结语 前言 MySQL …...

【python】windows pip 安装 module 提示 Microsoft Visual C++ 14.0 is required 处理方法

参考链接&#xff1a;https://blog.csdn.net/qzzzxiaosheng/article/details/12511900 1.问题引入 在使用pip 安装一些module经常会出现报错&#xff1a; Microsoft Visual C 14.0 is required. Get it with “Microsoft Visual C Build Tools很明显这是缺少C的编译的相关依…...

python爬虫案例——猫眼电影数据抓取之字体解密,多套字体文件解密方法(20)

文章目录 1、任务目标2、网站分析3、代码编写1、任务目标 目标网站:猫眼电影(https://www.maoyan.com/films?showType=2) 要求:抓取该网站下,所有即将上映电影的预约人数,保证能够获取到实时更新的内容;如下: 2、网站分析 进入目标网站,打开开发者模式,经过分析,我…...

go sync.WaitGroup

1、数据结构 type WaitGroup struct {noCopy noCopystate atomic.Uint64 // high 32 bits are counter, low 32 bits are waiter count.sema uint32 } 计数器&#xff1a;原子变量&#xff0c;高32位用于为协程计数&#xff0c;低32位为等待计数&#xff08;被Wait阻塞等待&a…...

Libevent库-http通信不同请求方式的处理

做项目的时候用到了http通信&#xff0c;同事用libevent库写的&#xff0c;特此记录后端从前端拿到消息后的处理方式 void CHTTPTest::request(const std::any & data) {// data 是从前端拿到的数据void *obj std::any_cast<void *>(data); // std::any是C17新标准…...

关于node全栈项目打包发布linux项目问题总集

1.用pm2部署nest 说明&#xff1a;如果一开始将nest直接打包放到linux服务器上用pm2执行则会报错&#xff0c;这是因为tsconfig.build.tsbuildinfo文件的路径以及相关依赖问题。 报错会为&#xff1a;什么东西找不到.... 所以建议以下为步骤一步一步配置 将整个nest添加压缩包直…...

常见的上、下采样方法

常见的‌上采样方法‌ ‌‌反卷积&#xff08;Deconvolution&#xff09;或‌转置卷积&#xff08;Transpose Convolution&#xff09;‌&#xff1a;通过学习可逆卷积核来进行上采样&#xff0c;增加特征图的尺寸。‌‌插值&#xff08;Interpolation&#xff09;‌&#xff…...

如何解决 java.rmi.NotBoundException: RMI 中没有绑定的对象问题?亲测有效的解决方法!

java.rmi.NotBoundException 是 Java RMI&#xff08;Remote Method Invocation&#xff09;中的一个常见异常&#xff0c;它通常出现在远程方法调用过程中&#xff0c;表示在 RMI 注册表中找不到指定的绑定对象。换句话说&#xff0c;当客户端尝试查找一个远程对象&#xff08…...

设计模式:14、抽象工厂模式(配套)

目录 0、定义 1、抽象工厂模式的四种角色 2、抽象工厂的UML类图 3、示例代码 0、定义 提供一个创建一系列或相互依赖对象的接口&#xff0c;而无须指定它们具体的类。 1、抽象工厂模式的四种角色 抽象产品&#xff08;Product&#xff09;&#xff1a;一个抽象类或接口&a…...

Linux环境基础开发工具使用

目录 1. Linux软件包管理器yum 1.1 什么是软件包 1.2 Linux软件生态 1.3 关于rzsz 1.4 注意事项 1.5 查看软件包 2. Linux编辑器-vim使用 2.1 vim的基本概念 2.2 vim的基本操作 2.3 简单vim配置 3. 编译器gcc/g 3.1 背景知识 3.2 gcc编译选项 3.2.1 预处理…...

古基因组学:降解DNA的损伤模式、污染评估与群体历史推断

点击 “AladdinEdu&#xff0c;你的AI学习实践工作坊”&#xff0c;注册即送-H卡级别算力&#xff0c;沉浸式云原生集成开发环境&#xff0c;80G大显存多卡并行&#xff0c;按量弹性计费&#xff0c;教育用户更享超低价。 摘要&#xff1a;古基因组学通过对古代生物遗骸中高度降…...

Heritrix3源码深度解析:从CrawlURI到ProcessorChain的执行流程

Heritrix3源码深度解析&#xff1a;从CrawlURI到ProcessorChain的执行流程 【免费下载链接】heritrix3 Heritrix is the Internet Archives open-source, extensible, web-scale, archival-quality web crawler project. 项目地址: https://gitcode.com/gh_mirrors/he/herit…...

新手福音:用快马平台将vmware官网概念转化为可交互的虚拟机演示代码

作为一名刚接触虚拟化技术的新手&#xff0c;我最近在VMware官网上看到了关于虚拟机的基础概念介绍。虽然理论知识很全面&#xff0c;但总觉得少了点动手实践的环节。直到发现了InsCode(快马)平台&#xff0c;它让我能够把抽象的概念快速转化为可运行的代码&#xff0c;这种学习…...

MusePublic Art Studio效果展示:复杂提示词(多主体/空间关系/光照条件)解析能力

MusePublic Art Studio效果展示&#xff1a;复杂提示词&#xff08;多主体/空间关系/光照条件&#xff09;解析能力 1. 创作工具新体验 MusePublic Art Studio让AI图像生成变得像使用画笔一样简单。这个工具专门为创作者设计&#xff0c;不需要懂任何代码技术&#xff0c;通过…...

SystemVerilog实战:在Vivado 2023.1中实现跨文件clog2计算的3种方法

SystemVerilog实战&#xff1a;在Vivado 2023.1中实现跨文件clog2计算的3种方法 当我们将传统Verilog项目迁移到SystemVerilog环境时&#xff0c;经常会遇到$clog2函数的兼容性问题。这个看似简单的对数计算函数&#xff0c;在不同工具链和文件类型中的表现可能大相径庭。特别是…...

开源字体实用指南:Poppins字体家族的全方位应用策略

开源字体实用指南&#xff1a;Poppins字体家族的全方位应用策略 【免费下载链接】Poppins Poppins, a Devanagari Latin family for Google Fonts. 项目地址: https://gitcode.com/gh_mirrors/po/Poppins 价值定位&#xff1a;如何让开源字体成为项目的视觉资产&#x…...

老旧Mac重获新生:OpenCore Legacy Patcher如何突破苹果硬件限制

老旧Mac重获新生&#xff1a;OpenCore Legacy Patcher如何突破苹果硬件限制 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当你的Mac因官方不再支持而无法更新系统&#…...

误删Anaconda?3步极速抢救指南

Anaconda被误删后抢救手册技术文章大纲数据恢复的基本原理解释数据恢复的底层机制&#xff0c;包括文件系统如何处理删除操作&#xff0c;以及为何被删除的数据仍有可能恢复。涵盖不同操作系统&#xff08;Windows、macOS、Linux&#xff09;下的差异。立即停止使用受影响磁盘强…...

华中科大大突破:让AI拥有“空间感“,从此告别“方向感缺失症“

这项由华中科技大学和百度公司联合开展的研究发表于2026年3月&#xff0c;论文编号为arXiv:2603.19235v1&#xff0c;研究团队提出了一个名为VEGA-3D&#xff08;VideoExtracted Generative Awareness&#xff09;的创新框架。有兴趣深入了解的读者可以通过该论文编号查询完整论…...

听说读写画样样精通!美团开源LongCat-Next,给物理世界AI统一了语言

美团刚刚开源了最强原生多模态模型LongCat-Next&#xff0c;将物理世界AI的语言统一了。LongCat-Next模型能听&#xff0c;能说。比如语音问答&#xff0c;或者让它用指定音色说话&#xff0c;能读能写&#xff08;视觉理解和推理&#xff09;&#xff0c;还能画画和设计&#…...