电子说
GPUlab是一个提供付费GPU的平台,其接口源自JupyterLab(一种升级版的Jupyternotebook),因此可透过网页接口提供完整的Python IDE接口,除了基本的Notebook,也有terminal、console可用,因此使用起来比起Colab更为方便。
该产品是由一家位于美国加州的Deasil Works公司所提供,主要业务提供AI、Data science等方面的技术咨询。
计费方式
目前提供三种plan,但主要在于购买周期的差异,硬件及执行环境完全相同。三种计费周期为日、周、月,信用卡付款,期限到自动扣款续约。
提供的GPU执行环境
比较值得关心的是GPU执行环境及配置:
1.GPU硬件:Tesla K80 x1,11MB
2.CUDA 10.02
3.Ubuntu 18.04
4.Tensorflow 2.3
5.PyTorch 1.8
6.无法sudo (无root权限)
7.可使用terminal或jupyternotebook来执行程序,或管理/安装移除相关套件。
8.Storage空间无论任何方案皆为25GB。
9.环境及档案可持久保持,不像Colab,Kaggle在超过时数后便自动清空。
Tesla K80其实是由两个K40核心所组成一片24GB的K80,在环境中看到的是两片各为12GB的GPU,由于其架构较老旧,速度在TF1.6测试下仅达GTX 1080一半(参考下图)。
硬件规格与GTX 1080比较如下:
(https://www.reddit.com/r/deeplearning/comments/5mc7s6/performance_difference_between_nvidia_k80_and_gtx/)
K80已是八-九年前的产品,使用的framework为Kepler(GTX 1080为差了两代的Pascal,3080以后系列为差了五代的Ampere),从Nvidia的规划(https://zh.wikipedia.org/wiki/CUDA)来看,Kepler只支持到CUDA 10.2,不支持最新的CUDA11.0之后版本。但测试结果,安装了CUDA 11.0之后,还是能在GPUlab的K80 GPU执行训练,这部份请参考后续说明。
GPUlab的使用接口
注册账号,选择要购买的方案种类,使用信用卡缴费后,便会自动设定好环境马上便能使用。
GPUlab environment的界面
点选Notebook中的Python3,会于目前目录(可从左侧窗口的档案总管切换)新建一个notebook。
点选Console中的Bash,会进入一个可下方命令栏输入bash command的窗口。
点选Others中的Terminal,出现一个类似putty接口的终端窗口。
输入nvidia-smi
输入ls -la /usr/local/cuda,发现CUDA版本是10.1
升级CUDA为最新版的11.03
如果想要使用较新的Tensorflow 2.5,那么必须要升级CUDA到最新版本11.X才行,不过目前GPUlab仅支持10.3,官方解释要等到下一版(约在2021年七月底或八月左右)才有支持。如果打算自己安装升级,会发现GPUlab并没有开放sudo root权限,想要升级到11.X版似乎有些困难。
但其实,CUDA/CUDNN安装也可以用户模式来安装,不一定需要root权限。
下载CUDA 11.4
URL//developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=18.04&target_type=runfile_local
$ wgethttps://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run
安装CUDA 11.4
$ chmod755 cuda_11.4.0_470.42.01_linux.run
# ./cuda_11.4.0_470.42.01_linux.run
安装时取消Nvidia driver的安装,并修改安装路径到个人家目录下。(例如:/home/jovyan/cuda-11.4)
安装结束后,于相同路径下新增soft link cuda指向cuda-11.4。
加入path到.bash_profile
exportCUDA_HOME=/home/jovyan/cuda
使用pip升级tensorflwo-gpu及pytorch
pipinstall -U tensorflow-gpu torch torchvision torchaudio
将下方三行加到~/.bash_profile
exportLD_LIBRARY_PATH=/home/jovyan/cuda/lib64:/home/jovyan/cuda/extras/CUPTI/lib64/:${LD_LIBRARY_PATH}
exportLIBRARY_PATH=${LIBRARY_PATH}:/home/jovyan/cuda/lib64:/home/jovyan/extras/CUPTI/lib64:/home/jovyan/cuda/targets/x86_64-linux/lib
从NVidia下载解压CUDNN,并将档案复制到 ~/cuda相对应路径下。
测试
开启一个terminal,import tensorflow,确认可使用11.x版的CUDA。
Ps. 此方法仅对于terminal环境有效,在Jupyternotebook环境可在一开始就先执行:
!source ~/.bash_profile
之后,PyTorch便能使用到新版CUDA了,但Tensorflow还不行。
心得
优点:
1.以每月不到三百元的价格,能使用不限时数11GBRAM的GPU,且已预先装好所有可用的模块,感觉相当划算。
2.若您仅需Jupyter Notebook接口进行基本的模型测试及训练,GPUlab所提供的环境已足敷使用。
3.可同时从不同PC登入portal(看到相同执行画面),亦可同时执行数个程序,只要Disk space及GPU usage没有超过用量。
4.从GPUlab环境存取internet的速度快,例如,从Kaggle透过API下载dataset比在自己PC快相当多。
5.提供的Terminal接口与Notebook搭配使用相当方便。
缺点:
1.提供的K80 GPU速度不是很令人满意,以训练一个参数为600,612的Keras UNet模型来说,在最新GTX 3080 GPU每epochs约117 s,K80则需要383 s,两者差距了三倍之多。
2.提供的Disk space仅有25GB,一次无法放置太多数量的dataset。
3.无sudo的root权限,因此,无法自行控制或修改更多的环境配置。
4.预载的CUDA仅支持到10.3,虽可自行升级到CUDA11.X,但会占用到disk quota(约8G)。
5.环境未安装libopencv-dev套件,且也无法透过sudoapt-get install libopencv-dev 自行安装,这使得训练YOLO的Darknetframe在编译时若enableOpenCV,会产生error。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !