NVIDIA A100跑DeepFaceLab,日迭代破百万,像素上800!
昨天用滴滴云的A100做了下TenorFlow的基准测试,可能略显抽象!今天来跑跑DeepFaceLab,整体来说A100还是挺强! A100也应该未来一两年最强的深度学习显卡了,毕竟是单张七八万,一套DGX 一百多万的卡!
已经连续看了两天命令行和数字了,头围有所增加!
环境配置:
主角:A100-SXM4-40GB,
配套:CUDA11,Tensorflow 1.15.2 NV特别版,
系统:Ubuntu 18.04
安装注意点:
显卡相关支持和深度学习框架已经安装好了,只需要获取DeepFaceLab源代码,演示素材,安装相关依赖,这些操作可以参考之前的文章。
特别注意点:
安装依赖的时候记得把requirement文件里面的Tensorflow去掉。因为是新显卡,新驱动,必须要用特定版Tensorflow 。我本来打算按NV的官方指导自己在Conda上安装一个,以失败告终,为了节省时间就直接用滴滴云官方提供的环境来跑了。
按流程操作后遇到两个问题!
错误1:缺少so文件
ImportError: libSM.so.6: cannot open shared object file: No such file or directory
这种错误可大可小,有时候一条命了解决,有时候是无限套娃,A依赖B,B依赖CD,CD依赖EFG…
万幸,这一次只需要一个命令就能解决
apt-get install libsm6
错误2 :诡异的编码问题
UnicodeEncodeError: ‘ascii’ codec can’t encode character ‘\u200b’ in position 454: ordinal not in range(128)
这个错误之前遇到过,所以也很快解决了,解决方法为找到报错的源代码,将其中的乱码删除,手动输入一次保存就正常了。
跑起来吧!!!
下面就开始跑模型了,我会贴几个常见参数的模型,大家可以对比下自己的机器和A100的差距。要看结论的直接拉到最后,今天陪跑的选项是V100,2080ti,1070。
先跑个轻量级Quick96,参数如下。
这个自然是快的飞起,大概是45ms一个迭代。
接下来重点来了,跑跑重量级的SAEHD模型。这里废话就不说了,直接贴参数和迭代数据。先做一个DF结构下不同像素RES的对比,比如 128,192,256,512 等。
参数:df-f-128-bs8
参数:df-f-192-bs8
参数:df-f-256-bs8
参数:df-f-512-bs8
木有办法,只能降降bs,试试看了
参数:df-f-512-bs4
接下来我们做一个DFUD结构下不同像素模型的对比,640×640的极限像素了能跑到么?
dfud-f-128-bs8
dfud-f-192-bs8
dfud-f-256-bs8
dfud-f-512-bs8 ,没有炸!
此时nvidia-smi一下
dfud-f-512-bs4 (这个主要是为了后面和V100 16G比较)
dfud-f-640-bs8 (依旧没有炸,能跑起来)
dfud-f-1024-bs4 (解锁软件上线,拉到1024像素跑跑看)
dfud-f-800-bs4
单个迭代时间已接近3秒。
模型文件大小,大概3G多点!
对比环节
A100的情况大概就是这个样子。对于跑过各种设备的人,看到这些数据,不用多说应该心里有数了。对于不少人来说,我贴了一堆图,可能没啥直观感受。下面就用A100和V00以及GTX1070做一个对比。
参数/显卡 | A100-SXM4-40GB | V100-SXM2-16GB | RTX2080ti 11G | GTX1070 8G |
df192 bs8 | 185ms | 380ms | 440ms | 900ms |
df256 bs8 | 330ms | 640ms | 800ms | x |
df512 bs4 | 900ms | x | x | x |
dfud256 bs8 | 190ms | 315ms | 340ms | 720ms |
dfud512 bs4 | 610ms | 800ms | x | x |
dfud640 bs4 | 1250ms | x | x | x |
dfud800 bs4 | 2600ms | x | x | x |
A100 Vs V100 Vs GTX1070
PS:不晓得什么情况,Colab的 V100数字飘到不行,只能勉强用了! 其中的x代表跑不了,数字越小越强!
从数据中不难看出:
1. A100面前都是弟弟,二弟,三弟,四弟…
2. A100在模型像素比较小的时候优势比较大,DF192的情况下,A100比V100快一倍多!
3. A100能跑到800×800的像素,V100只能512,2080TI跑不了512。
4. 2080TI其实有点强的,深度学习卡V100并没有甩他很远。
下面来个更加直观的假设:
假如我用A100跑一个DFUD512,一天能跑14万迭代!
假如我用A100跑一个DF256,一天能跑26万迭代!
假如我用A100跑一个DF128,一天能跑86万迭代!
假如我用A100跑一个DFUD128,一天能跑130万迭代
有钱真的可以买时间啊!我流下了贫穷的眼泪^_^!
============
GPU A100 由滴滴云提供,目前可以申请测试! 滴滴云大师码:8888 !!