FP64、FP32、FP16、int8

430 篇文章 6 订阅

参考

全网最全-混合精度训练原理:https://zhuanlan.zhihu.com/p/441591808
FP64、FP32、FP16、FP8简介:https://blog.csdn.net/weixin_42330305/article/details/127518011

AI为何用fp32

你要搞清楚一点,深度学习场景下只要FP32就可以确保训练收敛,甚至目前还会进一步“退化”到FP16+FP32混合精度以提高效率,然后推理场景下因为不需要反向传播,FP16,INT8甚至INT4都可以。使用FP64在效果上几乎没有提升,反而会导致大量的算力和空间浪费.
那么AI4Science的目标是什么呢? 通过深度学习解决科学问题一一它本质上还是一个AI问题而非Science问题。很多问题的科学计算代价已经超过了硬件能承受的极限,所以才要使用深度学习方法,希望能找出一条结果准确性可以接受的“捷径”。

负数在计算机里面是怎么存储的

负数通常使用补码来存储的主要原因是它的计算方式更加简单和一致,而且可以使用相同的硬件电路来执行加法和减法操作。以下是补码的原理和如何得出它的简要说明:
原因:

  1. 一致性: 补码可以使计算机内部的运算在加法和减法时变得一致。这意味着计算机只需要一个加法电路来执行这两种操作,从而减少了硬件复杂性。
  2. 去除溢出问题: 补码的运算不需要考虑溢出问题,因为溢出时溢出的位被丢弃,这是因为加法和减法操作是相同的。
    如何得出补码:
    补码是通过对原码(二进制表示的正数)应用以下步骤来得出的:
  3. 取反(反码): 首先,将原码中的每个位取反,即0变为1,1变为0。
  4. 加1: 然后,在得到的反码上加1。
    举例来说,如果要得到 -3 的8位补码,首先需要将 3 的8位原码(00000011)取反得到反码(11111100),然后加1得到补码(11111101)。这就是 -3 的8位补码表示。
    这样的表示方式使计算机能够执行加法和减法,同时不需要额外的硬件逻辑来处理负数。另外,补码还可以简化计算机中的逻辑运算,因为负数的补码与正数的原码可以使用相同的逻辑门电路来执行。

补码的定义方式是来自于数学和计算机科学的数值表示和运算原理。它基于原码(正数的二进制表示)取反再加一的方式,是因为这种方式满足了一致性和计算的需要,以及在计算机硬件中的实施方便。以下是补码形成方式的解释:

  1. 一致性: 补码的设计目的之一是为了使负数的加法和减法操作在计算机中变得一致。当一个正数的原码(二进制表示)被取反再加一时,得到了这个正数的相反数的补码。这就使得计算机可以使用相同的加法电路来执行这两种操作,从而减少了硬件复杂性。

  2. 简化硬件: 这种取反再加一的方式也简化了计算机内部的硬件设计。减法操作可以直接使用加法电路来实现,而不需要特殊的减法电路。

  3. 消除溢出问题: 补码运算不需要特别处理溢出。当计算结果溢出时,溢出的位被简单地丢弃,不需要特殊的逻辑来处理。

  4. 模运算: 补码在模运算下是封闭的。这意味着如果您对一个补码整数加上其相反数,您将得到零,这在某些数学和计算上有优点。

总之,补码的形成方式取反再加一是基于数学和硬件设计原理的一种选择,它使计算机在处理负数和正数时变得一致和高效,同时简化了硬件设计,是计算机科学中广泛接受的标准方式。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
INT8、FP16和FP32是不同的数据类型用于表示数字的精度和存储方式。 INT8是指八位整型数据类型,占用1个字节,用8位二进制表示一个数字,它是一种定点计算方式,适用于对整数进行运算,虽然精度较低,但数据量小、能耗低,计算速度相对更快,适合在移动终端进行AI计算。 FP16是指半精度浮点数数据类型,占用2个字节,用16位二进制表示一个数字,其中1位为符号位,5位为指数位,10位为有效数字位。与FP32相比,FP16的访存消耗仅为1/2,因此在一些GPU中可以加速计算速度,但也容易造成溢出。 FP32是指单精度浮点数数据类型,占用4个字节,用32位二进制表示一个数字,其中1位为符号位,8位为指数位,23位为尾数位。FP32精度相对较高,但相应地需要更多的存储空间和计算资源。 因此,INT8适用于对整数进行计算的场景,FP16适用于移动终端等资源受限的场景,而FP32适用于需要较高精度的计算场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [FP32、FP16和INT8](https://blog.csdn.net/weixin_44942126/article/details/115014754)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [深度学习模型权重数值精度FP32,FP16,INT8数值类型区别](https://blog.csdn.net/baidu_39629638/article/details/121460896)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值