下载模型的时候看到bf16的模型,是否可以下载?

引申的问题是,经常看到什么全精度啊、半精度啊、fp16、fp32、bf16等等各种各样的模型,那这些模型到底是个啥意思?

虽然csdn这种大牛丛生的地方应该大家都了解,但是对于学AI设计的朋友们可能就一头雾水了,这里结合下我自己的理解做一下记录。

这里先引用一张图,图片源地址:深度学习模型轻量化方法总结 - SCUTVK

这里做了下翻译:

没错,fp32、bf16、fp16这些都是数据存储的位数。存储的方式结合上图就很好理解了。

简单来说,就是fp32是比较早期的模型参数存储方式,精度高,存储数据数据大,但是比较占显存,fp16呢,直接砍了一半的存储,但是能存储的数值上限降低了很多,也就意味着,如果某个权重特别大,超出了阈值,就直接崩了。

为了解决这个问题,又提出了bf16的存储方式,好处是存储的数值上限跟fp32一样大,基本避免了崩溃的情况,但带来的问题是小数存储的位数少了,也就意味着没那么精确了。

但在大模型领域,大多时候,精度没那么高,问题也不大,所以bf16这种方式就比较流行了。

接下来就是相对严谨的说法了,让gpt帮忙写的,我看了下应该意思是对的:

FP16(Half Precision Floating Point)和BF16(Bfloat16,也称为Brain Floating Point)都是16位的浮点数表示方法,它们在深度学习和高性能计算中用于优化内存使用和计算效率。尽管它们都占用相同的内存空间,但在精度和表示范围上有显著差异:

  1. 精度和范围

    • FP16:由1位符号位、5位指数位和10位尾数位组成。这种结构使得FP16在表示小数时具有较高的精度,但在表示大数时范围有限。FP16的表示范围大约是6.55 x 10^-5到6.55 x 10^4。
    • BF16:由1位符号位、8位指数位和7位尾数位组成。BF16牺牲了一些尾数位以增加指数位,从而扩大了表达数值的范围,但相应地降低了精度。BF16的表示范围与FP32(单精度浮点数)相似,大约是1.4 x 10^-45到1.7 x 10^38。
  2. 应用场景

    • FP16:通常用于需要较高数值精度的场景,如图形处理和一些深度学习任务,尤其是在显存有限的情况下。
    • BF16:由于其更宽的表示范围,BF16在训练大型神经网络时更为稳定,因为它减少了由于数值范围限制导致的溢出问题。这使得BF16在训练大型模型时不需要使用损失缩放(loss scaling)技术。
  3. 性能

    • FP16:在支持FP16的硬件上,可以提供与FP32相似的性能,同时减少内存占用和带宽需求。
    • BF16:在某些情况下,BF16可以提供与FP32相似的性能,同时减少内存占用。然而,由于其尾数精度较低,可能需要额外的精度校正策略。
  4. 兼容性

    • FP16:已经被广泛支持,包括NVIDIA的GPU和一些CPU。
    • BF16:虽然最初由NVIDIA提出,但现在也被其他硬件供应商如Intel支持,并且正在逐渐被更多的深度学习框架和库所采纳。

总的来说,FP16和BF16的选择取决于具体的应用需求。如果对数值精度要求较高,FP16可能是更好的选择;而如果需要处理大型模型并且希望减少内存占用,BF16可能更合适。

好了,问题来了,哪些显卡才能支持bf16呢?

BF16是一种16位浮点数表示方法,它在NVIDIA的Ampere架构(即30系列显卡)中首次得到硬件支持。这意味着只有基于Ampere架构的GPU,如RTX 30系列(例如RTX 3060、RTX 3070、RTX 3080等)和RTX40系才具备BF16的支持。

20系列显卡以及更老的显卡,主要支持FP32(单精度浮点数)和FP16(半精度浮点数),但它们没有专门的硬件支持来处理BF16格式。如果你的应用场景需要BF16支持,你应该考虑使用基于Ampere架构的30系列显卡或者40系显卡。

比如说stable diffusion 新出的 cascade这一大堆的模型,如果你的显卡不是30系或者40系n卡,最好红框框里边这些就还是不要下载了,下载了也不能正常用的。

 这里是聚梦小课堂,如果你想了解更多AIGC相关内容的话,记得关注我哦

聚梦小课堂的个人空间-聚梦小课堂个人主页-哔哩哔哩视频

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聚梦小课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值