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

深度探究深度学习常见数据类型INT8 FP32 FP16的区别即优缺点

定点和浮点都是数值的表示(representation),它们区别在于,将整数(integer)部分和小数(fractional)部分分开的点,点在哪里。定点保留特定位数整数和小数,而浮点保留特定位数的有效数字(significand)和指数(exponent)

1.FP与INT

FP代表浮点运算数据格式,包括双精度FP64 单精度FP32 半精度FP16和FP8

INT代表整数数据格式,包括INT8和INT4

后面的数字越高意味着精度越高能够支持的运算复杂度也就越高 适配场景也就越广,同样对推理端的计算资源要求也就越高;

2.FP64、FP32、FP8 和INT8、INT4 

双精度FP64 :浮点数使用64位表示,提供更好的精度和动态范围。通常应用在高精度计算的场景中,对存储空间以及计算资源要求较多  通常较少使用

单精度FP32:浮点数使用32位表示,适用于大多数科学计算和通用计算任务。通常我们训练神经网络模型的时候默认使用的数据类型为单精度FP32

半精度FP16:浮点数使用16位表示。相对于FP32提供了较低的精度,按照理论来说可以跑机器学习这些任务,但是FP16会出现精度溢出和舍入误差,所以很多应用都是使用混合精度计算的也就是FP16+FP32模式

浮点数在高精度图像处理有较大优势能够使图片中更多颜色、对比度、质感和清晰度得以保留。

但INT类型速度更快

  • 第一部分为 sign 符号位 s,占 1 bit,用来表示正负号;
  • 第二部分为 exponent 指数偏移值 k,占 5 bits,用来表示其是 2 的多少次幂;
  • 第三部分是 fraction 分数值(有效数字) M,占 10 bits,用来表示该浮点数的数值大小。

固定点数INT8:固定点数使用固定的小数点位置来表示数值,可以使用定点数算法进行计算。相对于浮点数计算,算力和内存资源要求更低。


 

相关文章:

  • 数据分析实战 | 多元回归——广告收入数据分析
  • [Kettle] 记录处理
  • 【广州华锐视点】海外制片人VR虚拟情景教学带来全新的学习体验
  • 【 云原生 | K8S 】kubectl 详解
  • classification_report分类报告的含义
  • 如何在 macOS 中删除 Time Machine 本地快照
  • Linux SSH免密登录
  • npm install导致的OOM解决方案
  • 网络安全-学习手册
  • C#使用时序数据库 InfluxDB
  • WebSocket真实项目总结
  • 12. 机器学习——评价指标
  • 论文导读 | 融合大规模语言模型与知识图谱的推理方法
  • 初始MySQL(五)(自我复制数据,合并查询,外连接,MySQL约束:主键,not null,unique,foreign key)
  • STM32常见符号解释定义(持续更新)
  • HDU 1716:排列2 ← next_permutation()
  • YOLOv8-Seg改进:卷积变体系列篇 | DCNv3可形变卷积基于DCNv2优化 | CVPR2023
  • StackExchange.Redis 高并发下timeout超时问题如何解决?
  • 【万字长文】前端性能优化实践 | 京东云技术团队
  • 【java学习—十三】处理流之四和五:打印流和数据流(4)
  • 首次带人形机器人走科技节红毯,傅利叶顾捷:机器人行业没包袱,很多事都能从零开始
  • 张巍任中共河南省委副书记
  • 沃尔玛上财季净利下滑12%:关税带来成本压力,新财季价格涨幅将高于去年
  • 一周文化讲座|“我的生命不过是温柔的疯狂”
  • 刘晓庆被实名举报涉嫌偷税漏税,税务部门启动调查
  • 市场监管总局召开平台企业支持个体工商户发展座谈会