深度学习--模型优化--模型的量化--92

目录
  • 1. 什么是量化
  • 2 位宽,高精度浮点数的表示
  • 3. K-means 聚类量化
  • 4. 均匀/线性量化(linear quantization)
  • 5. Thresholding量化

1. 什么是量化

量化可以理解为:从连续到离散,针对parameters(W)、activations(A)使用整数值取代浮点数值,

模型尺寸更小
改进inference时间
减小内存使用
更低的功耗/能量(单位焦耳)
一些GPUs支持
FPGAs和ASICs能够更激进的量化

量化技术的发展:

可量化的对象:输入值、特征值、权重\偏置项、误差\梯度值
量化位宽:1bit、8bit、3/4/6bit、float16、混合bit(不同层不同位宽)

神经网络的量化:高精度(位宽)转化成低精度(位宽),比如float32 -> float16, int8, int4, int2 等,缩小可表示的空间大小(位宽)bit width

2 位宽,高精度浮点数的表示

exponent / integer bits + fraction / precision bits

32位:

8位

64位:

如果我们从FP32减小位宽到FP16,或使用整数INT8,不就节省内存和计算资源了

3. K-means 聚类量化


将参数一维数组进行聚类


所下图所示权重矩阵的所有参数可以聚类为 4 个类别,不同的类别使用不同的颜色表示。
上半部分的权重矩阵可以取聚类中心,并储存在 centroids 向量中,
随后原来的权重矩阵只需要很少的空间储存对应的索引。

下半部是韩松等研究者利用反向传播的梯度对当前centroids 向量进行修正的过程。 注意这里有个根据weight颜色进程group的操作
这种量化过程能大量降低内存的需求,因为我们不再需要储存 FP64 或 FP32 的数据,而只需要储存INT8 或更少占位的数据。

4. 均匀/线性量化(linear quantization)

非对称量化与对称量化

非对称线性量化就是线性缩放肯定是需要bias偏置项的
量化权重为n-bit整数,公式如下:

当然量化之后如果要计算,还需要恢复成原始值进行运算,还原公式:

矩阵相乘-量化加速计算:

对称线性量化(Symmetric linear quantization):

还原公式:

注意这里没有bias

5. Thresholding量化

模型为了去拟合一些离群值或异常样本,很有可能学到一些不太常见的参数,从而使得过拟合,对测试集反而失去很大的精度。我们都知道weights越小越可以防止过拟合,将权重压制到-T到T之间。

这个T是权重里面的两端,一图胜千言:

如何选择合适的 threshold?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/736860.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Profibus DP主站转Modbus网关连接伺服与电机通讯

文章介绍了ProfibusDP主站转Modbus网关(XD-MDPBM20)在工业自动化中的应用,包括其定义、优势及连接伺服与电机通讯的步骤。Profibus DP主站转Modbus网关(XD-MDPBM20)是一种用于不同通讯协议之间转换的设备,它可以将Profibus DP主站的信号转换为Modbus协议,实现不同设备之…

Power BI实用技巧:轻松打造专业级甘特图

Power BI实用技巧:轻松打造专业级甘特图大家好,今天我们要一起探索Power BI中一个既实用又强大的功能——制作甘特图。甘特图以其直观展示项目时间线和任务进度的特点,在项目管理中扮演着重要角色,今天将为大家带来两种不同的甘特图制作方式——堆积条形甘特图、第三方视觉…

docker相关配置

避免 Docker Hub 限制,最好配置镜像 配置文件:/lib/systemd/system/docker.service 把文件里ExecStart=/usr/bin/dockerd-current替换成ExecStart=/usr/bin/dockerd-current --registry-mirror=https://a14c78qe.mirror.aliyuncs.com即可 配置成功后可查看docker运行状态:sy…

Power BI进阶秘籍,干货满满!如何将度量值转化为切片器(动态切换分析指标),实操指南来了!

Power BI进阶秘籍,干货满满!如何将度量值转化为切片器(动态切换分析指标),实操指南来了!想要在Power BI中让度量值也能像维度一样灵活筛选?没问题,这里就为你揭秘如何将度量值转化为切片器(动态切换分析指标)的实用方法!一、了解基础:首先,要知道Power BI原生不支…

SD中的VAE,你不能不懂

要想生成一幅美丽的图片,没有VAE可不行什么是VAE? VAE,即变分自编码器(Variational Autoencoder),是一种生成模型,它通过学习输入数据的潜在表示来重构输入数据。 在Stable Diffusion 1.4 或 1.5 模型中,通过VAE对模型进行部分更新,以提升模型渲染眼睛的能力。通过这种…

VSCODE 编辑markdown 文件

因为Obsidian版权问题,改用vscode编辑器 编辑markdown 文件 1.使用VSCODE 编辑markdown 文件 首先分别下载 Markdown 和markdown PDF 第三方插件 2.保存文件为md 格式,如果需要缓存图片,可以点击右上角的预览模块。就可以看图片了(window 和linux 服务器都是/ 分隔符) 如…

如何从服务器bios清除磁盘数据

解决问题并查找根源: 一、服务空间不足,服务无法部署或服务不可用 二、清理了大日志文件,但是空间还是不足 1.首先是通过df -h命令查看磁盘的使用情况,主演是看Avail(可用)和Use(已用)的占用百分比,如下所示: df -h Filesystem Size Used Avail Use% Mounted on /dev/m…

《安富莱嵌入式周报》第339期:单片机运行苹果早期Mac系统模拟器,2GHz示波器有源探头,下一代矩阵开关面包板,卡片式声音分贝器,HP经典示波器,ReRAM

周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频版 https://www.bilibili.com/video/BV1Kf421Q7Lh目录1、开源2GHz的示波器有源探头 2、模拟矩阵开关面包板Jumperless推出下一代Jumperless V5 3、软件相关…

IBM服务器SQL/ Oracle数据库修复

一、故障诊断: 1.使用IBM服务器管理工具(如IBM Storage Manager)连接到服务器,检查当前存储状态和数据库状态。 2.查看错误日志和系统日志,确定数据库损坏的具体原因,如硬盘故障、RAID阵列崩溃、文件系统损坏等。 风险评估: 1.评估数据库损坏的严重程度和恢复的可能性。…

对vue3中update:属性的理解

最近看到了一个项目中代码,类似于update:count。 对此不太明白用法,这里经过理解之后,记录一下。 大概是这样的这里的场景是父组件中引入了子组件,在父组件中有一个变量count,并将count传入到了子组件。 现在假设父组件上有个按钮,其作用是每次按下,就对父组件中的count…

Vue props的多类型定义报错的问题

报错内容:The "maxHeight" property should be a constructor vue/require-prop-type-constructor 代码中是这样实现的:解决办法: 改成数组型是就可以了

WPF进度条中间写百分比数字

我发现很多同学把思维固话了,通常我们需要实现的进度条是我在网上看到好多例子,但是都没有我的简单,他们不是重写ProcessBar就是使用模板, 可以将TextBlock提取出来啊,灵活一点单独绑定 然后一句代码Panel.ZIndex="1"就搞定了<StackPanel><Button Cont…

mysql连表查询出现数据重复

当我们连表查询遇见数据重复的时候 出现了 好多条 id一样的数据 是错误的 所以我们需要用到distinct关键字进行处理 保证我们数据的唯一性 接下来一个小知识 就是distinct关键字的使用 感谢观看 谢谢

Django中配置media媒体资源 - 存放用户上传的文件

1. 创建media文件夹 2. 配置settings.py# 指定媒体url MEDIA_URL = /media/ # 指定存放媒体文件的文件夹 MEDIA_ROOT = os.path.join(BASE_DIR, media)3. 在urls.py中添加from django.conf import settings from django.conf.urls.static import staticurlpatterns = [path(adm…

OMV数据恢复NAS阵列丢失

针对OMV数据恢复中NAS阵列丢失、RAID设备消失以及文件系统损坏的情况的操作。 一、确认故障现象: 1.检查OMV管理界面,确认RAID设备是否已消失,文件系统是否无法访问。 2.记录所有相关错误信息和日志,以便后续分析。 评估数据重要性: 确定丢失数据的重要性和紧急性,以便制…

联想服务器阵列数据恢复Raid5/0/6数据库RaidZ/虚拟机

针对联想服务器阵列数据恢复,特别是涉及RAID 5/0/6、数据库RAID Z以及虚拟机的情况 一、RAID 5/0/6 数据恢复故障诊断 确定故障类型:首先需要明确是RAID 5/0/6阵列中的哪一部分出现故障,如硬盘掉线、阵列卡损坏、意外断电等。 收集信息:记录服务器型号、RAID配置、硬盘序列…

NAS阵列恢复数据数据恢复开盘

NAS阵列数据恢复,尤其是涉及开盘(即物理层面打开硬盘外壳以进行内部修复或数据提取)的情况,是一个复杂且技术密集型的过程。 一、故障诊断: 1.确定NAS阵列中数据丢失或无法访问的具体原因,如硬盘物理损坏、RAID阵列崩溃、文件系统故障等。 2.记录所有硬盘的序列号、型号及…

2024 年人工智能和数据科学的五个主要趋势

引言 2023年,人工智能和数据科学登上了新闻头条。生成性人工智能的兴起无疑是这一显著提升曝光度的驱引言2023年,人工智能和数据科学登上了新闻头条。生成性人工智能的兴起无疑是这一显著提升曝光度的驱动力。那么,在2024年,该领域将如何继续占据头条,并且这些趋势又将如何…

线段树的基本知识和初级运用

主要介绍了线段树的基本知识点和初级运用前言 线段树绝对是出题人最爱考的高级数据结构了。它快、灵活、码量也大,相当考验 OIer 的综合能力。所以好好学习一下线段树是相当必要的。 基础 线段树是基于二叉树的。通过为二叉树的每个节点赋予线段的意义,线段树可以维护很多的区…

信息摘要技术

信息摘要 定义 信息摘要就是原数据通过某个算法生成一个固定长度的单向散列值。 特点 1、输出长度固定:无论输入的长度和值如何,计算得到的哈希值长度总是固定的。 2、不可逆性(单向):不可能使用散列值推出原文件内容 3、无碰撞性:想要找到两个不同的输入值,使它们哈希后…