比Colab更方便的GPU平台-GPUlab

电子说

1.3w人已加入

描述

GPUlab是一个提供付费GPU的平台,其接口源自JupyterLab(一种升级版的Jupyternotebook),因此可透过网页接口提供完整的Python IDE接口,除了基本的Notebook,也有terminal、console可用,因此使用起来比起Colab更为方便。

该产品是由一家位于美国加州的Deasil Works公司所提供,主要业务提供AI、Data science等方面的技术咨询。

计费方式

python

目前提供三种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一半(参考下图)。

python

硬件规格与GTX 1080比较如下:

python

(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的使用接口

注册账号,选择要购买的方案种类,使用信用卡缴费后,便会自动设定好环境马上便能使用。

python

GPUlab environment的界面

python

点选Notebook中的Python3,会于目前目录(可从左侧窗口的档案总管切换)新建一个notebook。

python

点选Console中的Bash,会进入一个可下方命令栏输入bash command的窗口。

python

点选Others中的Terminal,出现一个类似putty接口的终端窗口。

python

输入nvidia-smi

python

输入ls -la /usr/local/cuda,发现CUDA版本是10.1

python

升级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。

python

Ps. 此方法仅对于terminal环境有效,在Jupyternotebook环境可在一开始就先执行:

!source ~/.bash_profile

python

之后,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。




审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分