如何评价 Google Colab 提供的免费 GPU?
56 个回答
坐标美国,PhD穷苦学生党,2年前开始使用Colab(免费用户),2020年9月起升级到了Colab Pro用户好几个月了。也是Google Drive的付费用户(200GB)。(奈何实验室死活不采购新的GPU)。
Colab Pro4月之前很容易约到Tesla V100 (16GB),但是,目前可能由于显卡短缺的原因,不容易预约到Tesla V100,经常是Tesla P100 (16GB),而且有时候不能多开3个GPU窗口了。训练网络时候,Tesla V100速度是P100的近3倍。
我自己上周买了个RTX 3060 的电脑,训练transformer模型时候,速度是Colab Pro P100 GPU的1.5倍。虽然RTX 3060和Tesla P100的cores都是3584个,但是RTX 3060快了不少,应该是里面的架构不一样。代码源:Keras documentation: Image Classification with Vision Transformer。
Colab Pro的优势:
- 之前最多开了4个页面;
- 可能分到Tesla V100,即便是Tesla P100,一个月9.99美金也值;
- 可以连接Google Drive,Google Drive里可以先存数据集,再解压到Colab的Content下;
- 所有的写的代码都在Google Drive里保存着,如果在自己电脑上可能时间长会乱;
- 所有模型可以自动保存到Google Drive里;
- 常用的包不用自己安装;
- 内存从免费的12GB增加到了25.5GB;
- Colab Pro用户还可以开terminal。
Colab Pro的劣势:
- 最长时间是24小时断1次;
- 如果网络不好,可能会频繁断开。目前网上有解决方案;
- 数据集比较大时候(>10GB),下载到Colab的Content里可能比较慢,但刚试了从Google Drive解压2.2 GB的图片文件到colab需要不到30秒时间;
- 分配的RAM可能不足,显示的是25.5GB,可能实际远低于这个内存。
今后我还会RTX 3060和 Colab Pro一起用(甚至多开几个Colab Pro用户),毕竟每个用户9.99美金1个月不贵,多开几个程序相当于同一时间多完成了很多网络的训练,这钱花的值。
只希望,Colab Pro多弄点Tesla V100,并且一次训练的时间延长下,比如2天。
有人私聊我问采购显卡事情,若是学生党,如果要采购GPU训练深度学习模型,30系列中性能最好的是RTX 3090,性价比最高的RTX 3060,如果没多少钱,建议入手RTX 3060,深度学习最重要的是显卡的显存,其次才是速度,显存不够的话,稍微大的模型都训练不了,显存够时,即便速度慢些多花点时间也能完成任务。当初买RTX 3060时候看重的是12GB显存,在30系列中仅次于RTX 3090,比神卡RTX 2080 Ti的11GB显存还多1GB。11 GB的显存可以在不用调过小的batch size训练YOLO V5最大的模型yolov5x:ultralytics/yolov5 。YOLO V5 是最新的物体识别的项目。假如以后感觉RTX 3060在显存和速度上跟不上,可以等显卡降价时候再并联1个RTX 3060显卡,这样也不贵。至于RTX 3090,目前美国是3000刀左右,土豪随便,非土豪还是500刀收个RTX 3060,若等RTX 3090降价才购买显卡,那顶会不发了吗?1篇顶会1作的价值超过了显卡的钱,即便是RTX 3090。
更新:RTX 3060使用了2个星期,真得太香了,24小时不间断训练模型,采集了很多模型,实验室远程开会时候直接当场选模型做预测。至于传言说锁算力,是指锁了挖矿的哈希,不是锁深度学习的算力,别被那些挖矿人造谣骗了。比特币这玩意跟赌博没区别,纯属投机和洗钱性质,导致需要显卡去工作或娱乐的人买不到正常价格的显卡,还浪费电力,对生产力毫无提升可言,使得社会滋生了不劳而获心理。央行封杀比特币实在是大快人心,现在新的显卡也在封杀比特币。请大家一起祝比特币早日完全完蛋,祝比特币早日完全完蛋,祝比特币早日完全完蛋,阿弥陀佛,阿门。
远程桌面这玩意最近应该是用不了了
开启 Colab 远程桌面
作为一个正在学习强化学习的学生,时常需要跑数十个小时的来训练模型。奈何自己电脑的性能不过好,而谷歌 Colab 又没有GUI而且还限时。就在我一筹莫展的时候,突然发现了一个可以开启 Colab 桌面版的方法。白嫖高性能带GPU的虚拟机生活就此开始!下面我把这个方法也教给大家
首先感谢 Tomohiro 大佬的代码,使得远程获取 Colab 桌面变成可能。大佬的 主页 以及大佬的 Github
本文的 Github 以及 Colab
1. 准备软件
- 安装 Cloudflare。
- 安装 TurboVNC。往下翻可以找到适用于不同系统的安装包。如果是 Linux 版本,下载完 .deb 文件后,请在文件目录下使用
sudo apt-get install -f
来安装该文件。 - 安装 SSH Client,这个一般来说系统自带的都有,如果 windows 用户不确定自己有没有这个软件,可以在开始菜单里搜索
添加可以选功能
->OpenSSH Client
2. 修改运行时
在 Colab 笔记本上面的菜单栏里点击 修改
-> 笔记本设置
-> 硬件加速
-> GPU
3. 创建远程连接
完成上诉任务后在 Colab 里运行下面的代码:
- 该段代码会设置好服务器端的 OpenSSH, VirtualGL 以及 TurboVNC。
- 运行完成后连接方式以及密码会在下方显示。
注意当成功运行完一次下面的代码后,再次运行可能会报错。原因是一台服务器在运行时只能设置一次,如果本地电脑提示连接失败,要想再次连接则需要将服务器端先关闭后再连接。
具体方法是先将点击右上角 RAM,磁盘 右边向下的三角 -> 管理会话 -> 终止当前的会话。
!pip install git+https://github.com/demotomohiro/remocolab.git
import remocolab
remocolab.setupVNC()
下面为输出
# 前面这里都是没用的部分,只是给大家看一下运行效果,在有用部分会有提醒
Collecting git+https://github.com/demotomohiro/remocolab.git
Cloning https://github.com/demotomohiro/remocolab.git to /tmp/pip-req-build-vzejlrco
Running command git clone -q https://github.com/demotomohiro/remocolab.git /tmp/pip-req-build-vzejlrco
Collecting pyngrok
Downloading pyngrok-5.1.0.tar.gz (745 kB)
[K |████████████████████████████████| 745 kB 27.5 MB/s
[?25hRequirement already satisfied: PyYAML in /usr/local/lib/python3.7/dist-packages (from pyngrok->remocolab.py==0.1) (3.13)
Building wheels for collected packages: remocolab.py, pyngrok
Building wheel for remocolab.py (setup.py) ... [?25l[?25hdone
Created wheel for remocolab.py: filename=remocolab.py-0.1-py3-none-any.whl size=7553 sha256=fbceba35daeb1cc70c6c2065eedaafb57e796e18014faa010aa6fefb258f5777
Stored in directory: /tmp/pip-ephem-wheel-cache-rylqg9c3/wheels/80/37/44/386e71ab0cd5aef5cefdb1926b710a42fdb4fe2d07c3b1b08f
Building wheel for pyngrok (setup.py) ... [?25l[?25hdone
Created wheel for pyngrok: filename=pyngrok-5.1.0-py3-none-any.whl size=19007 sha256=68752057affa9259e931daf5deb61483d2700ff0ae66ff0e162fa3ae1f95a02f
Stored in directory: /root/.cache/pip/wheels/bf/e6/af/ccf6598ecefecd44104069371795cb9b3afbcd16987f6ccfb3
Successfully built remocolab.py pyngrok
Installing collected packages: pyngrok, remocolab.py
Successfully installed pyngrok-5.1.0 remocolab.py-0.1
---
As ngrok doesn't work on colab for long time, default tunnel method has been changed to Argo tunnel.
Please read this for more details:
https://github.com/demotomohiro/remocolab/blob/master/README.md
Label(value='')
FloatProgress(value=0.0, layout=Layout(border='1px solid #118800'), max=1.0)
Install openssh-server
Label(value='')
FloatProgress(value=0.0, layout=Layout(border='1px solid #118800'), max=1.0)
Install xfce4
Install xfce4-terminal
ED25519 key fingerprint of host:
256 SHA256:q1rf7t8/afFr4VX7XJavqAeuN/9U2665sraaUGxlOJE root@15020c66cbde (ED25519)
+--[ED25519 256]--+
| .. |
| Eo |
| o o |
| . + .|
| S + =|
| +. **|
| . o. . o+@|
| . o o+.++ O=|
| ... o=BO*=X*=|
+----[SHA256]-----+
# 有用的部分从这里开始
✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️
root password: mH6p2il8wSS27Vh74gk8qNLbHScZgo3qVKk2jnT-CkE
colab password: meL5OPTHwoG3YzHIeVZgZ6Oa20iuMMl2gLT_6i3_lE4
✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️
---
Execute following command on your local machine and login before running TurboVNC viewer:
✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️
ssh -o UserKnownHostsFile=/dev/null -o VisualHostKey=yes -oProxyCommand="cloudflared access ssh --hostname %h" -L 5901:localhost:5901 colab@find-lonely-wichita-ribbon.trycloudflare.com
✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️
VNC password: cl_C3l4e
VNC view only password: rsTIKXNR
✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️✂️
4. 连接 TurboVNC
- 使用 SSH 连接到 Colab
- 在命令行执行上方的 ssh 命令:
ssh -o UserKnownHostsFile...
开头的那个命令。但不知道为什么这个命令在我的 Windows 电脑上无法成功运行。Linux 系统可以。下面的演示图片为Windows 的 WSL 系统连接远程服务器的效果 - 使用上面显示的
colab password:
。
在完成这部操作后,我们的命令行就会变成 Colab 服务器的命令行。
- 运行 TurboVNC Viewer,如果你使用 Windows 就直接双节 TurboVNC Viewer 的图标,如果你使用的 Linux,则输入
/opt/TurboVNC/bin/vncviewer
来打开。
- 连接到地址
localhost:1
- 使用上面显示的
VNC password
在完成这步后就可以获取到服务器桌面了。
但 Colab 本身是一个临时的 VM,运行时产生的文件在关闭后都会消失。为了解决这个文件,我们可以将 Google Drive 安装到当前的 VM 上,将其作为数据盘。
from google.colab import drive
drive.mount('/content/drive')
5. 小技巧
为了获取更长的 Colab 使用时间,可以添加下面的Chrome 插件:
本文使用 Zhihu On VSCode 创作并发布