Facebook推出8比特优化器,可以节省75%的显存

举报
AI浩 发表于 2021/12/22 23:57:07 2021/12/22
【摘要】 Facebook 推出 8 比特优化器,可以节省75%的显存 最近,Facebook 推出了支持 pytorch 的 8 位优化器,在减小内存占用的同时,竟然还能保持和32位优化器相当的准确性。 fa...

Facebook 推出 8 比特优化器,可以节省75%的显存

最近,Facebook 推出了支持 pytorch 的 8 位优化器在减小内存占用的同时,竟然还能保持和32位优化器相当的准确性

facebook yyds!!!!

论文链接:

https://arxiv-download.xixiaoyao.cn/pdf/2110.02861.pdf

开源链接:

https://github.com/facebookresearch/bitsandbytes

微信图片_20211112171851

安装

硬件要求:NVIDIA Maxwell GPU 或更新版本 (>=GTX 9XX) 支持的 CUDA 版本:9.2 - 11.3

# choices: {cuda92, cuda 100, cuda101, cuda102, cuda110, cuda111, cuda113}
# replace XXX with the respective number
pip install bitsandbytes-cudaXXX

  
 
  • 1
  • 2
  • 3

很简单吧! 等着安装完成。。。。

image-20211112172307537

使用

使用也很简单,直接用bitsandbytes替换原来的优化器即可。

import bitsandbytes as bnb

# adam = torch.optim.Adam(model.parameters(), lr=0.001, betas=(0.9, 0.995)) # comment out old optimizer
adam = bnb.optim.Adam8bit(model.parameters(), lr=0.001, betas=(0.9, 0.995)) # add bnb optimizer
adam = bnb.optim.Adam(model.parameters(), lr=0.001, betas=(0.9, 0.995), optim_bits=8) # equivalent


torch.nn.Embedding(...) ->  bnb.nn.StableEmbedding(...) # recommended for NLP models

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

总结

关于优化器的论文还是比较少的,目前主流的还是Adam和SGD。今天看到这个我测试了一下。
首先用win10 的电脑测试,发现不能用。
在这里插入图片描述
报错了,应该是不支持,.so是linux的文件,所以更换到Ubuntu16.04上尝试,环境:Ubuntu16.04、CUDA10.2。
安装命令:

pip install bitsandbytes-cuda102

  
 
  • 1

我先使用AdamW尝试,模型是TextRNN,16个BatchSize显存占用是9G左右,测试了1个epoch。
然后在使用Adam8bit,16个BatchSize显存占用也是9G左右,并没有减少。
有点遗憾!本想着能解决显卡不够的问题,看来还是不行!
唉!!!!!!!
也需是使用的姿势不对吧!希望有人能做更详细的解答!
(图片在服务器上,明天补上图!)

文章来源: wanghao.blog.csdn.net,作者:AI浩,版权归原作者所有,如需转载,请联系作者。

原文链接:wanghao.blog.csdn.net/article/details/121292505

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。