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

TensorFlow 模型优化工具包:模型大小减半,精度几乎不变!

在计算中,半精度是二进制浮点计算机数字格式,占用计算机存储器中的 16 位。...它将模型常量(如权重和偏差值)从全精度浮点(32 位)量化为减少精度的浮点数据类型(IEEE FP16)。...模型中的所有常量值都存储在 16 位浮点数而不是 32 位浮点数中;由于这些常量值通常在整个模型尺寸中占主导地位,因此通常会将模型的尺寸减小约一半。 精确度损失可忽略不计。...深度学习模型通常能够在使用相较于最初训练时更少精确度的情况下,产生良好的推理结果。并且在我们对多个模型的实验中,我们发现推理质量几乎没有损失。...默认情况下,模型将在 CPU 上运行,通过将 16 位参数「上采样」为 32 位,然后在标准 32 位浮点运算中执行操作。

1.7K30

模型压缩一半,精度几乎无损,TensorFlow推出半精度浮点量化工具包,还有在线Demo

鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 近日,TensorFlow模型优化工具包又添一员大将,训练后的半精度浮点量化(float16 quantization)工具。 ?...有了它,就能在几乎不损失模型精度的情况下,将模型压缩至一半大小,还能改善CPU和硬件加速器延迟。 这一套工具囊括混合量化,全整数量化和修剪。 ? 如何量化模型,尽可任君挑选。...在分布式深度学习中,模型可能会有成千上万个参数,体积一个赛一个的大,如果能把所有常量值都用16位浮点数而不是32位浮点数来存储,那么模型大小就能压缩至一半,还是相当可观的。...在ILSVRC 2012图像分类任务上分别测试标准的MobileNet float32模型和float16模型变体,可以看到,无论是MobileNet v1还是MobileNet v2,无论是top1还是...默认情况下,模型是这样在CPU上运行的:把16位参数“上采样”为32位,并在标准32位浮点运算中执行操作。 这样做的原因是目前很多硬件还不支持加速fp16计算。

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

    模型压缩一半,精度几乎无损,TensorFlow推出半精度浮点量化工具包,还有在线Demo

    点击上方↑↑↑“OpenCV学堂”关注我 来源:公众号 量子位 授权转载 近日,TensorFlow模型优化工具包又添一员大将,训练后的半精度浮点量化(float16 quantization)工具。...有了它,就能在几乎不损失模型精度的情况下,将模型压缩至一半大小,还能改善CPU和硬件加速器延迟。 这一套工具囊括混合量化,全整数量化和修剪。 ? 如何量化模型,尽可任君挑选。...在分布式深度学习中,模型可能会有成千上万个参数,体积一个赛一个的大,如果能把所有常量值都用16位浮点数而不是32位浮点数来存储,那么模型大小就能压缩至一半,还是相当可观的。...在ILSVRC 2012图像分类任务上分别测试标准的MobileNet float32模型和float16模型变体,可以看到,无论是MobileNet v1还是MobileNet v2,无论是top1还是...默认情况下,模型是这样在CPU上运行的:把16位参数“上采样”为32位,并在标准32位浮点运算中执行操作。 这样做的原因是目前很多硬件还不支持加速fp16计算。

    2.1K50

    EfficientNet-lite详解:当前最强移动端轻量神经网络

    EfficientNet-lite 具体的精度和延时、参数的关系如下图所示。可见其已经把MobileNet V2,ResNet 50,Inception v4等模型远远甩在背后。 ? ?...原理 EfficientNet-lite进行了一系列的优化: 量化。定点运算的速度要比浮点运算快很多,在移动设备算力有限的场景下,量化必不可少。...但量化使用了定点数,表示范围相对于浮点数小很多,必然存在精度的损失。借助 TensorFlow Lite 中提供的训练后量化流程来对模型进行量化处理,尽可能地降低了对准确率的影响。...通过量化,模型大小减少为1/4,推理速度提升近2倍。 EfficientNet-lite0 浮点模型float32与int8量化版本在模型尺寸、精度及时延的对比: ? 结构和算子优化。...使用 对于用户个性化的数据集,建议使用 TensorFlow Lite Model Maker,在已有 TensorFlow 模型上使用迁移学习。

    4.4K30

    TensorFlow 模型优化工具包  —  训练后整型量化

    凭借这一量化方案,我们可以在许多模型中获得合理的量化模型准确率,而不必重新训练依靠量化感知 (quantization-aware) 训练的模型。...这样可使转换过程顺利进行,并会生成始终在常规移动 CPU 上执行的模型,鉴于 TensorFlow Lite 将在只使用整型的加速器中执行整型运算,并在执行浮点运算时回退到 CPU。  ...模型仅需少量数据 实验中发现,使用数十个可表明模型在执行期间所见内容的代表性示例,足以获得最佳准确率。...准确率 仅使用 ImageNet 数据集中的 100 张校准图像,完全量化的整型模型便获得了与浮点模型相当的准确率(MobileNet v1 损失了 1% 的准确率)。 ?...我们会使用所记录的推理值,以确定在整型算法中执行模型全部张量所需的缩放比例参数。 Int8 量化方案 需要注意的是,我们的全新量化规范已实现这一训练后用例,且该用例可针对某些运算使用每轴量化。

    1.6K50

    模型量化与量化在LLM中的应用 | 得物技术

    一、模型推理优化 随着模型在各种场景中的落地实践,模型的推理加速早已成为AI工程化的重要内容。...因而当我们将权重量化改为对称量化时(zW=0),则上式简化为如下,即时计算时,只需要计算第一项的矩阵乘法,第二项是预先算好的偏置项: 而当两者都是对称量化时的表达式,则简化如下: 对比原模型中的浮点计算...W{x},W{int}x{int}是整型与整型之间的乘法,后者在Nvidia GPU上的运算速度远快于前者,这是量化模型的推理速度大大加快的原因。...而如何取舍outliers通常是量化工作中的一大难点,若过分考虑之,则会因量化范围过大而降低量化的表达范围,若过分截断之,通常会因这些绝对值较大的值,在模型推理中对结果有较大影响,而导致模型效果变差,而后者在...从而在保证乘法运算的积保持不变的前提下,降低张量X的量化难度。而在实际工程中,这种量化方案引起的量化误差对大模型的推理效果仍然有比较明显的影响,即使在int-8精度量化亦有明显的误差。

    98910

    高效终端设备视觉系统开发与优化

    作为最流行的模型优化方法之一,模型量化将浮点系数转换为整数。通常,量化可以使模型大小减少4倍,并使执行时间加快10-50%。...从图中可以发现由TFLite自带量化工具量化的模型显著减少了类MobileNet模型和Inception V3模型的推理时间。此外,采用后期量化开发人员可以利用最新模型而无需从头开始重新训练模型。...从总体上看CPU在MobileNet Vv1上运行浮点,推理一帧数据大约需要124毫秒。...在CPU上运行量化的MobileNet Vv1比浮点模型快1.9倍,在GPU上运行浮点模型的速度比CPU快7.7倍,每帧仅使用16毫秒左右。 最后,在Edge TPU上运行量化模型仅需2毫秒。...在实际部署中,我们使用微型版本的TensorFlow来实现在设备上的模型训练,精心安排的时间表可确保仅在设备闲置插入电源和免费无线连接时进行训练,因此不会影响终端的使用性能。

    66420

    高效终端设备视觉系统开发与优化

    作为最流行的模型优化方法之一,模型量化将浮点系数转换为整数。通常,量化可以使模型大小减少4倍,并使执行时间加快10-50%。...从图中可以发现由TFLite自带量化工具量化的模型显著减少了类MobileNet模型和Inception V3模型的推理时间。此外,采用后期量化开发人员可以利用最新模型而无需从头开始重新训练模型。...从总体上看CPU在MobileNet Vv1上运行浮点,推理一帧数据大约需要124毫秒。...在CPU上运行量化的MobileNet Vv1比浮点模型快1.9倍,在GPU上运行浮点模型的速度比CPU快7.7倍,每帧仅使用16毫秒左右。 最后,在Edge TPU上运行量化模型仅需2毫秒。...在实际部署中,我们使用微型版本的TensorFlow来实现在设备上的模型训练,精心安排的时间表可确保仅在设备闲置插入电源和免费无线连接时进行训练,因此不会影响终端的使用性能。

    70120

    边缘计算 | 在移动设备上部署深度学习模型的思路与注意点 ⛵

    图片如果要让 AI 能覆盖现实生活中的场景问题,我们希望可以在资源有限的设备上运行的更小的模型。...图片 网络量化神经网络中使用的默认类型是 32 位浮点数,高精度浮点数使得模型在训练阶段可以准确地梯度传播,得到更好的效果。但是在推理过程中就没有这个必要了。...网络量化的关键思想是减少每个权重参数的存储位数。例如从 32 位浮点压缩到 16 位浮点、16 位定点、位定点等。...很典型的一种思路是,在多个模型中重复使用来自浅层的特征,而是用不同的深层结构来应对特定的任务。...图片开发移动深度学习应用程序的另一个挑战是每个移动生产商的标准不同,有些人会在 Tensorflow 中运行他们的模型,有些人会在 Pytorch 中运行他们的模型,有些人甚至会使用自有框架。

    1.4K41

    数据驱动型阿尔法模型在量化交易中的应用

    推荐阅读时间:5min~6min 文章内容:数据驱动型阿尔法模型的介绍 上一篇:解读量化交易中的理论驱动型阿尔法模型 数据驱动型策略的优缺点 数据驱动型策略一般是指通过使用机器学习算法,数据挖掘技术对选定的数据进行分析来预测未来市场的走向...这类模型有两大优势: 与理论型策略相比,数据挖掘明显具有更大的挑战性,并且在实业界使用较少,这意味着市场上竞争者较少。 数据型策略可以分辨出一些市场行为,无论该行为目前是否可以用理论加以解释。...数据驱动型策略的几个关键点 通常使用数据挖掘策略的宽客都是首先观察目前市场环境,然后在历史数据中寻找类似的环境,来衡量市场接下来的几种走势的出现概率,并基于这种可能性进行交易。...在这一流程中,至少需要搞明白以下几个问题。 如何定义“目前的市场环境” 需要牢记一点:在量化交易策略中不允许存在任何模糊的余地。...相关推荐: 解读宽客和量化交易的世界 解读量化交易中的理论驱动型阿尔法模型 作者:无邪,个人博客:脑洞大开,专注于机器学习研究。

    1.4K100

    资源 | 让手机神经网络速度翻倍:Facebook开源高性能内核库QNNPACK

    模型训练完成之后,浮点数及运算就会显得过分:许多类型的模型可以在调整后使用推理用的低精度整数运算,不会出现明显的准确率损失。...低精度整数表征在单精度、甚至是半精度浮点上提供一些益处:内存占用减小 2/1 或 3/4,有助于将神经网络模型保存在移动处理器的小缓存中;提高内存带宽受限的运算性能;提高能源利用率;在许多类型的硬件上提高计算吞吐量...除了 QNNPACK 之外,Facebook 还开源了 Caffe2 quantized MobileNet v2 模型,其 top-1 准确率比相应的 TensorFlow 模型高出 1.3%。...研究者在 MobileNetV2 分类模型的量化版上对比基于 QNNPACK 的 Caffe2 算子和 TensorFlow Lite 实现。...使用的量化 Caffe2 MobileNetV2 模型已开源,量化 TensorFlow Lite 模型来自官方库:https://github.com/tensorflow/tensorflow/blob

    1.6K40

    面向嵌入式 AI 芯片上视觉任务的神经网络设计

    其实在计算机中,所有的数值表示都是离散化的,包括浮点数等,但是神经网络中的量化,是指用更低 bit 的数字去运行神经网络,而是不是直接使用 32bit 的浮点数(去运行神经网络)。...这个在 GPU 以及 Google 的 TPU 第二代中已经被广泛采用。此外,我们甚至发现,用半精度浮点数去训练数据,有时候还能得到更好的识别性能。...Tensorflow Lite 已经支持训练时模拟 8bit 整数的运算,部署时真正采用 8 bit 整数去代替,其在浮点和图像分类的性能上相当。...下面这个表,是在 Image Net 数据集上的进行的量化结果的评测,也是 Google Tensorflow Lite 的量化方案与我们地平线内部的量化方案的一个对比。 ?...我们可以看到,无论是哪一家的方案,损失其实都非常小,其中,小模型 MobileNet 0.25 在 Image Net 的损失方面,Google 在 1.6% 左右,而我们的量化方案能够维持在 0.5%

    1.2K60

    轻量化网络 | MobileNet论文解析

    不同于Deep Compression,因为网络在定义时结构简单,因此我们可以简单地搜索网络的拓扑结构,从头直接训练出一个效果很好的轻量化网络。...算法效果分析 由之前的分析,若只考虑浮点数运算,则一组二维卷积核完成逐深度卷积的运算量为: D_{k} \times D_{k} \times N \times M \times D_{F} \times...D_{F} 而随后的逐点1×1卷积的浮点运算量为: N \times M \times D_{F} \times D_{F} 综上,一次深度可分离卷积的总计算量为: D_{k} \times D_...MobileNet模型训练过程: 使用tensorflow或pytorch 与inception v3相似的异步梯度下降 使用较少的正则和数据增强,因为小模型过拟合的概率不大。...我们不使用侧头或标签平滑 限制在inception中的小尺寸剪裁的数量。 权重衰减(l2正则化)使用较少或没有使用,因为该模型参数本来就不多。

    62010

    深度学习500问——Chapter17:模型压缩及移动端部署(5)

    可扩展的模型设计,支持8bit 量化和半精度浮点存储。 支持直接内存引用加载网络模型。 可注册自定义层实现并扩展。...具体分析: 常规实现:在量化矩阵-矩阵乘法中,8位整数的乘积通常会被累加至 32 位的中间结果中,随后重新量化以产生 8 位的输出。...除了 QNNPACK 之外,Facebook 还开源了 Caffe2 quantized MobileNet v2 模型,其 top-1 准确率比相应的 TensorFlow 模型高出 1.3%。...研究者在 MobileNetV2 分类模型的量化版上对比基于 QNNPACK 的 Caffe2 算子和 TensorFlow Lite 实现。...使用的量化 Caffe2 MobileNetV2 模型已开源,量化 TensorFlow Lite 模型来自官方库:https://github.com/tensorflow/tensorflow/blob

    10210

    精度 VS 效率:模型越小,精度就一定越低吗?

    基于 Iandola 等人(SquezeNet)、Howard 等人(MobileNet3)和 Chen 等人(DeepLab V3)的实验,一些答案存在于模型的宏观和微观结构中。...Frankle 等人发现,在许多网络中,80-90% 的网络权值可以被移除,同时这些权值中的大多数精度也可以被移除,而精度损失很小。 寻找和移除这些参数的策略主要有三种:知识蒸馏、剪枝和量化。...这里也有一些技术可以对模型进行更多的优化。通常,模型的权重存储为 32 位浮点数,但对于大多数应用程序,这远比所需的精度高。我们可以通过量化这些权重来节省空间和时间,同时对精度产生最小的影响。...量化将每个浮点权重映射到一个固定精度的整数,该整数包含的 bit 数少于原始值。虽然有许多量化技术,但最重要的两个因素是最终模型的 bit 深度和训练期间或之后是否量化权重。...最后,量化权重和激活对于加快模型的运行是很重要的。激活函数是自然产生浮点数的数学运算,如果不修改这些函数来产生量化的输出,那么由于需要转换,模型甚至可能运行得更慢。

    2K10

    HMM模型在量化交易中的应用(R语言版)

    函数形式:X(t+1) = f( X(t) ) HMM由来 物理信号是时变的,参数也是时变的,一些物理过程在一段时间内是可以用线性模型来描述的,将这些线性模型在时间上连接,形成了Markov链。...因为无法确定物理过程的持续时间,模型和信号过程的时长无法同步。因此Markov链不是对时变信号最佳、最有效的描述。 针对以上问题,在Markov链的基础上提出了HMM。...HMM在波动率市场中的应用 输入是:ATR(平均真实波幅)、log return 用的是depmixS4包 模型的输出并不让人满意。 HS300测试 去除数据比较少的9支,剩291支股票。...训练数据:上证指数的2007~2009 测试数据:沪深300成份股2010~2015 交易规则:longmode在样本内收益最大对应的隐状态 & shortmode在样本内收益最大对应的隐状(交集)...,然后在每天入选的股票中平均分配资金 (注:0票就相当于平均分配资金在投票>0的股票上) n=5 n=15 50个HMM模型里10-18个投票,结果都挺理想了!

    2.9K80

    GPU加持,TensorFlow Lite更快了

    虽然可以采用一种加速途径:转换为定点数模型,但用户已经要求作为一种选项,为加速原始浮点模型推理提供GPU支持,而不会产生额外的复杂性和潜在的量化精度损失。...在Pixel 3上的纵向模式下,Tensorflow Lite GPU推理相比具有浮点精度的CPU推断,将前景 - 背景分割模型加速4倍以上,新的深度估计模型加速10倍以上。...我们发现,对于各种各样的深度神经网络模型,新的GPU后端通常比浮点CPU实现快2-7倍。...下面,我们对4个公开模型和2个内部模型进行了基准测试,涵盖了开发人员和研究人员在Android和Apple设备中遇到的常见用例: 公开模型: MobileNet v1(224x224)图像分类[...猫、汽车)分配给输入图像中的像素级图像分割模型) MobileNet SSD目标检测[下载] (使用边界框检测多个对象的图像分类模型) Google私有案例: MLKit中使用的面部轮廓 Playground

    1.3K20

    轻量化神经网络综述

    深度神经网络模型被广泛应用在图像分类、物体检测等机器视觉任务中,并取得了巨大成功。然而,由于存储空间和功耗的限制,神经网络模型在嵌入式设备上的存储与计算仍然是一个巨大的挑战。...1基本卷积运算 手工设计轻量化模型主要思想在于设计更高效的“网络计算方式”(主要针对卷积方式),从而使网络参数减少,并且不损失网络性能。...3、目前的NAS发展是以分类任务为主,在分类任务设计的模型迁移到目标检测语义分割模型中。...工业界不仅在设计轻量化模型(MobileNet V1&V2,ShuffleNet V1&V2系列),也在不断实践如何进一步压缩模型,在便携式终端设备实现准确率、计算速率、设备功耗、内存占用的小型化。...4.4TensorFlow Lite TensorFlow Lite近日发布了一个新的优化工具包,引入post-training模型量化技术[9], 将模型大小缩小了4倍,执行速度提升了3倍!

    4.2K51

    TensorFlow Lite发布重大更新!支持移动GPU、推断速度提升4-6倍

    而将GPU作为加速原始浮点模型的一种选择,不会增加量化的额外复杂性和潜在的精度损失。...GPU 与 CPU 性能 在Pixel 3的人像模式(Portrait mode)中,与使用CPU相比,使用GPU的Tensorflow Lite,用于抠图/背景虚化的前景-背景分隔模型加速了4倍以上。...在能够为视频增加文字、滤镜等特效的YouTube Stories和谷歌的相机AR功能Playground Stickers中,实时视频分割模型在各种手机上的速度提高了5-10倍。 ?...对于不同的深度神经网络模型,使用新GPU后端,通常比浮点CPU快2-7倍。...在小型模型中,加速效果效果可能略差,但 CPU 的使用可以降低内存传输固有的延迟成本。 如何使用?

    1.3K20

    TensorFlow在移动设备与嵌入式设备上的轻量级跨平台解决方案 | Google 开发者大会 2018

    在终端 / 设备上运行机器学习日益重要 今天,机器学习的发展日新月异,机器学习不仅部署在服务器端,运行在个人电脑上,也存在于我们生活中许许多多的小设备上,比如移动设备和智能手机。...TensorFlow Lite的优化 相较于TensorFlow,TensorFlow Lite进行了如下优化: 压缩模型:缩小模型体积 量化 (Quantization):TensorFlow模型中包含大量的矩阵...,矩阵数值通常采用32bit的float数据类型,量化就是将这些32bit的浮点数采用8bit的byte表示。...CPU ops融合:比如特别为ARM Neon指令集优化 优化的SIMD运算核心 ?...量化会造成模型精确度的损失,但据观察,对图像、音频模型预测精确度影响很小。经过量化,CNN模型可增加10~50%的性能提升,RNN可以增加到3倍性能提升。

    2.2K30
    领券