【论文解析】HAQ: Hardware-Aware Automated Quantization With Mixed Precision

ops/2024/11/26 21:01:54/

作者及发刊详情

@inproceedings{haq,
author = {Wang, Kuan and Liu, Zhijian and Lin, Yujun and Lin, Ji and Han, Song},
title = {HAQ: Hardware-Aware Automated Quantization With Mixed Precision},
booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2019}
}

摘要

Motivation

  • DNN硬件加速器开始支持混合精度(1-8位)进一步提高计算效率,这对找到每一层的最佳位宽提出了一个巨大的挑战:它需要领域专家探索巨大的设计空间,在精度,延迟,能耗和模型大小之间权衡。
  • 当前有很多专用的神经网络专用加速器,但没有为这些加速器设计专用的神经网络优化方法。传统的量化算法忽视了不同的硬件架构,网络所有层都采用一种量化方式。

Contribution

1)自动化

提出了自动量化框架,无需领域专家或基于规则的启发式方法,将人力从探索位宽选择中解放出来

2)硬件感知

该框架在循环指令流中考虑了硬件架构,不依赖中间信号(proxy signal),可以直接减少延迟、能耗和存储

3)专用化

为不同的硬件架构都提出专门的量化策略,完全为目标硬件架构定制,以优化延迟和能耗。

4)设计视角

将计算和访存都考虑在内,为不同的硬件架构提供了不同的量化策略解释

Approach

引入了基于硬件感知的自动量化(HAQ)框架,该框架利用强化学习来自动确定量化策略,并在设计回路中获取硬件加速器的反馈。而不是依赖于代理信号,如FLOPS和模型大小,该文使用一个硬件模拟器来生成直接的反馈信号(延迟和能耗)到RL代理。

Experiment

实验验证平台:

选用模型:

训练数据集:

推理任务

工具:

实验评估

在这里插入图片描述

结论

框架有效地减少了1.4-1.95×的延迟和1.9×的能耗,而accu的损失可以忽略不计

参考文献

MIT开源开源项目链接

参考链接:
机器之心@知乎:寻找最佳的神经网络架构,韩松组两篇论文解读
KGback:人工智能和机器学习入门


http://www.ppmy.cn/ops/136923.html

相关文章

丹摩征文活动|实现Llama3.1大模型的本地部署

文章目录 1.前言2.丹摩的配置3.Llama3.1的本地配置4. 最终界面 丹摩 1.前言 Llama3.1是Meta 公司发布的最新开源大型语言模型,相较于之前的版本,它在规模和功能上实现了显著提升,尤其是最大的 4050亿参数版本,成为开源社区中非常…

CSS 样式入门:属性全知晓

CSS(层叠样式表)是一种用于控制网页样式和布局的语言。它包含了一系列属性,用于定义元素的外观和行为。下面将详细介绍一些常见的 CSS 属性,以及通过实例展示它们的使用方法和效果。 字体样式属性: font-family&…

【C++篇】深度解析 C++ List 容器:底层设计与实现揭秘

文章目录 须知 💬 欢迎讨论:如果你在学习过程中有任何问题或想法,欢迎在评论区留言,我们一起交流学习。你的支持是我继续创作的动力! 👍 点赞、收藏与分享:觉得这篇文章对你有帮助吗&#xff1…

可视化建模与UML《活动图实验报告》

你当像鸟飞往你的山。 一、实验目的&#xff1a; 1、熟悉活动图的基本功能和使用方法。 2、掌握使用建模工具软件绘制协作图的方法 二、实验环境&#xff1a; window7 | 10 | 11 EA15 三、实验内容&#xff1a; <1>绘制学生选课系统中添加课程(Add Course)用例的活动图…

es写入磁盘的过程以及相关优化

数据写入到内存buffer同时写入到数据到translog buffer,这是为了防止数据不会丢失每隔1s数据从buffer中refresh到FileSystemCache中,生成segment文件,这是因为写入磁盘的过程相对耗时,借助FileSystemCache,一旦生成segment文件,就能通过索引查询到了refresh完,memory bu…

STM32端口模拟编码器输入

文章目录 前言一、正交编码器是什么&#xff1f;二、使用步骤2.1开启时钟2.2配置编码器引脚 TIM3 CH1(PA6) CH2 (PA7)上拉输入2.3.初始化编码器时基2.4 初始化编码器输入2.5 配置编码器接口2.6 开启定时器2.7获取编码器数据 三、参考程序四、测试结果4.1测试方法4.2串口输出结果…

PD虚拟机启动后 Mac主机无法上网解决教程

部分用户在运行Parallels Desktop的Windows 11打开后&#xff0c;Windows上网没有问题 &#xff0c;但是Mac主机不能访问带域名的网站&#xff0c;而访问带ip的网站没问题&#xff0c;退出parallels虚拟机以后&#xff0c;mac网络恢复正常。 解决&#xff1a; 退出 Parallels D…

Pytorch使用手册-Build the Neural Network(专题五)

在 PyTorch 中如何构建一个用于 FashionMNIST 数据集分类的神经网络模型,并解析了 PyTorch 的核心模块 torch.nn 的使用方法。以下是具体内容的讲解: 构建神经网络 在 PyTorch 中,神经网络的核心在于 torch.nn 模块,它提供了构建神经网络所需的所有工具。关键点如下: nn.…