首页 > 其他分享 >量化及定点化模型压缩常见方法、特定及优缺点整理

量化及定点化模型压缩常见方法、特定及优缺点整理

时间:2023-06-22 22:32:45浏览次数:41  
标签:Training 训练 压缩 优缺点 定点 量化 Fixed Example


量化及定点化模型压缩常见方法、特定及优缺点整理_神经网络

    模型压缩简答说就是将庞大的深度学习模型进行压缩,常见方法包括五大类,分别是剪枝、量化、正则化、知识蒸馏、条件计算。

    量化是模型压缩常用方法之一,本文不完全包括了一些神经网络Fixed-Point Training(定点化训练)相关的方法进行了详细整理,拆分,并对优缺点进行了对比分析。

  

    本文的最终目的是面向FPGA等嵌入式设备的NN 部署/训练,的一个软件仿真工具。为了Scalability,会尝试实现一些较为General的定点训练技巧现方式

    以及诸如MobileNet, ShuffleNet 等轻量化网络设计

    

    Quantization的两种主要方式

    基于CodeBook的(Deep Compression) :实际参数还是高精度的,无法利用定点计算进行加速,仅能减少存储

    基于定点数(Fixed Point表示),(IBM的FP8也可以归入此类) :可利用定点计算加速,故本文主要采取该方式

    目前预计的几种场景

    Post-Training Quantization : 在完成FP训练之后的压缩,产生定点的W/A进行部署

    Example:Distillation,EntropyConstraintQ, IncrementalQ

    Quantize-Aware Training : 在训练过程中考虑定点的影响,在训练中采取Fixed,产生定点的W/A进行部署

    Example:StraightThroughActivation的方法(训练时用Fixed Inference,但是梯度是对应的全精度副本做)

    Fixed-Point Training: 训练过程中进行纯定点(W/G/A),模拟在纯定点设备上进行训练

    Example:WAGE

    有点激进,不知道是否能实现

    Binary-Network

量化及定点化模型压缩常见方法、特定及优缺点整理_fpga开发_02

量化及定点化模型压缩常见方法、特定及优缺点整理_Network_03

量化及定点化模型压缩常见方法、特定及优缺点整理_Network_04

量化及定点化模型压缩常见方法、特定及优缺点整理_fpga开发_05

标签:Training,训练,压缩,优缺点,定点,量化,Fixed,Example
From: https://blog.51cto.com/u_13046751/6535870

相关文章

  • YOLO Int8量化模块实现
    什么是量化?量化是一种将浮点数转换为整数的方法,可以减少计算量和存储空间,提高模型的运行效率和部署能力。量化的过程可以表示为:\[Q(x)=round(\frac{x}{s})+z\]其中,\(x\)是浮点数,\(s\)是缩放因子(scalefactor),\(z\)是零点(zeropoint),\(Q(x)\)是量化后的整数。缩放因子\(s......
  • MySQL查询缓存的优缺点
    1.MySQL查询缓存的优缺点目录1.MySQL查询缓存的优缺点1.1.前言1.2.工作原理1.3.查询缓存对什么样的查询语句,无法缓存其记录集,大致有以下几类:1.4.查询缓存的优缺点:1.5.查询缓存的配置1.6.维护1.6.1.查询缓存区的碎片整理1.6.2.清空查询缓存的数据1.7.性能监控1.8.适合......
  • 二十二、区块量化 其它常用分析指标
    talib不是万能的、有些其它指标如:BBI、PSY、BIAS等这些指标是没有的defBBI(df,n1=3,n2=6,n3=12,n4=24):"""多空指数"""bbi=(MA(df["close"],n1)+MA(df["close"],n2)+MA(df["close"],n3)+MA(df["close&quo......
  • 十九、区块量化 形态策略
    1、形态指常用的K线形态如:早晨之星、黄昏十字星、乌云盖顶、三只乌鸦、白三兵、刺透形态等常用的几个主要形态下面看代码:新增cross_modal_order.py#!/usr/bin/envpython#-*-coding:utf-8-*-importtalibimportcross_orderasorderimporttimedefmain():print("任务......
  • 1. CS和BS的优缺点
    1.CSCS:客户端服务器架构模式优点:充分利用客户端机械的资源,减轻服务器的符合缺点:需要安装;升级维护成本较高‍2.BS‍优点:客户端不需要安装;维护成本较低缺点:所有的计算和存储任务都是放在服务器端的,服务器的负荷较重在服务端计算完成之后把结果再传输......
  • 不同相似度计算方法的特点和优缺点
    相似度计算方法有很多种,以下是一些常用的算法:1.余弦相似度(CosineSimilarity):用于计算向量之间的相似度,常用于文本数据的相似度计算。它通过计算两个向量之间的夹角余弦值来衡量它们的相似程度,取值范围为[-1,1],值越接近1表示越相似。2.欧氏距离(EuclideanDistance):用于计算向量......
  • 借助ChatGPT,7天入门量化投资
    ChatGPT是很好的学习助手。如果是零基础,想快速入门量化投资,该怎么做呢?首先,可以让ChatGPT帮忙制定一个系统的7日学习计划:然后让ChatGPT推荐一些学习资源:有哪些量化交易的入门学习资源推荐,比如视频、论坛、网站等?然后,不懂的地方,可以让ChatGPT做出通俗易懂的讲解;需要编程的时候,可以让......
  • 十七、区块量化 鳄鱼线策略
    #-*-coding:utf-8-*-importtalibimportcross_orderasorderimporttimeimportnumpyasnp"""鳄鱼线原理:鳄鱼线是根据几何学以及非线性动力学总结出来的一套技术分析方法,当鳄鱼的下巴、牙齿和上唇闭合,或者相互纠缠时,代表鳄鱼睡着啦。这时我们通常待在市场外面,直到碎......
  • 十八、区块量化 CCI策略
    #-*-coding:utf-8-*-importtalibimportcross_orderasorderimporttimeCCI_TIMEPERIOD=20#CCI计算周期CCI_OVER_SOLD_THRESH=-250#超卖阈值CCI_OVER_BOUGHT_THRESH=350#超买阈值defmain():print("任务开始时间:",time.strftime('%Y-%m-%d%H:%M:%S'......
  • 十六、区块量化 MACD策略
    新增cross_macd_order.py#-*-coding:utf-8-*-importtalibimportcross_orderasorderimporttimedefmain():print("任务开始时间:",time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time())))forsymbolinorder.symbol_pool:#设置杠杆倍数......