• 2024-11-18LLM的不同精度详解和显存占用,FP16,FP32,BF16
    目录前言1、FP162、BF163、FP324、不同精度的显存占用5、不同精度之间的转换总结前言本文主要介绍LLM的三种不同精度FP16,FP32,BF16的概念和计算,并用pytorch进行演示;不同精度下的显存占用,以及不同精度的相互转换。1、FP16FP16也叫 float16,全称是Half-precisionflo
  • 2024-09-22fp16 的累加误差有多大
    本文地址:https://wanger-sjtu.github.io/fp16-err/最近在项目中需要实现fp16的数据类型做FFN的计算,算子实现的同学反馈误差与x86上得到的golden数据有比较大误差。开始以为是x86侧做数值模拟仿真的问题。后面也实现了对比了一下,发现误差累计确实挺大。实测结果对比intmain(){
  • 2024-08-30一文读懂:使用混合精度(Mixed-Precision)技术加速LLM
    训练和推理使用那些大型语言模型,真是挺烧钱的,主要是因为它们太能吃计算资源和内存了。不过啊,我最近发现,用点儿小技巧,就是低精度格式,咱们可以大幅提升训练和推理的速度,快到三倍呢,而且一点儿都不影响模型的准确度。咱们主要聊的虽然是大型语言模型,但这些技巧其实挺万能的,用在
  • 2024-01-21程序员数学之-IEEE754规范
    1定点数与浮点数在现实生活中,不仅要有整数,还需要小数,计算机怎么表示小数呢?有两种方式:定点数与浮点数定点数(FixedPointNumber):顾名思义,小数点位置固定,例如常见的Qm.n表示法,共需1(符号位)+m(整数位)+n(小数位)bit位来表示数据,如Q7,Q15,Q31等数据类型。其优点是:计算速度快;缺点
  • 2023-11-30SIMD笔记-ARM NEON
    参考资料https://blog.csdn.net/fuhanga123/article/details/120673795概述对于处理半精度浮点数(float16)的加法,我们可以使用ARMNEON指令集,因为IntelSIMD指令集(SSE和AVX)不直接支持float16运算。ARMNEON指令集中有专门用于float16运算的指令。以下是一个使用ARM
  • 2023-04-15unordered_map和map的耗时
    在实际生产环境中,遇到使用map还是unordered_map的场景。一方面,有unordered_map需要自定义hash函数,导致构建时比较复杂。而map使用的是比较运算符来判断元素在map中的位置,std::vector有比较运算符,所以构建map比较简单。另一方面,unordered_map时hash表,查找时间复杂度为o(1),map
  • 2022-10-12float32 和float16互转
    //intmain()//{//inti=0;//floatfVal=-255.123456789;//char*pChar;//pChar=(char*)&fVal;////for(i=0;i<4;i++)//{/
  • 2022-10-06减小运行内存的方法
     1、写成函数的形式,通过调用函数,返回想要的结果,中间变量在返回后会清空函数返回值越少越好,_虽然不会显示变量,但会占内存2、清除中间变量函数ifhasattr(torch.cuda