Google Colaboratory:关于其GPU的误导性信息(一些用户只能使用5%的RAM)

更新:这个问题与Google Colab的“笔记本设置:硬件加速器:GPU”有关。该问题是在添加“TPU”选项之前提出的

读到关于谷歌合作实验室(Google Colaboratory)提供免费特斯拉K80 GPU的多条激动人心的公告,我试着在上面快速运行.ai课程,让它永远无法完成——快速耗尽内存。我开始调查原因

底线是,“免费特斯拉K80”并不是对所有人都“免费”——对一些人来说,只有一小部分是“免费”的

我从加拿大西海岸连接到谷歌Colab,我只得到了0.5GB的24GB GPU内存。其他用户可以访问11GB的GPU RAM

显然,对于大多数ML/DL工作,0.5GB GPU RAM是不够的

如果你不确定你得到了什么,这里有一个我拼凑的小调试功能(只适用于笔记本电脑的GPU设置):

#内存占用支持库/代码
!ln-sf/opt/bin/nvidia smi/usr/bin/nvidia smi
!pip安装gputil
!pip安装psutil
!pip安装人性化
导入psutil
导入人性化
导入操作系统
将GPUtil作为GPU导入
GPUs=GPU.getGPUs()
#XXX:Colab上只有一个GPU,不保证
gpu=gpu[0]
def printm():
process=psutil.process(os.getpid())
打印(“Gen RAM空闲:+人性化.naturalsize(psutil.virtual_memory().available),”;进程大小:“+人性化.naturalsize(process.memory_info().rss))
打印(“GPU内存可用:{0.0f}MB |使用:{1.0f}MB | Util{2:3.0f}%|总计{3.0f}MB”。格式(GPU.memoryFree、GPU.memoryUsed、GPU.memoryUtil*100、GPU.memoryTotal))
printm()

在运行任何其他代码之前,在jupyter笔记本中执行它会让我:

无内存:11.6 GB进程大小:666.0 MB
GPU可用内存:566MB使用:10873MB使用率95%总计11439MB

访问完整卡的幸运用户将看到:

无内存:11.6 GB进程大小:666.0 MB
GPU可用内存:11439MB已使用内存:0MB可用内存0%总计11439MB

在我从GPUtil借用的GPU RAM可用性计算中,您是否看到任何缺陷

如果你在Google Colab笔记本上运行此代码,你能确认得到类似的结果吗

如果我的计算是正确的,有没有办法在空闲盒上获得更多的GPU RAM

更新:我不知道为什么我们中的一些人得到的是其他用户的20分之一。e、 帮我调试的那个人来自印度,他得到了全部信息

注意:请不要再发送任何关于如何杀死可能会消耗GPU部分的卡住/失控/并行笔记本电脑的建议。无论您如何分割它,如果您与我处于同一条船上,并且要运行调试代码,您将看到您仍然获得总共5%的GPU RAM(截至此次更新)

所以为了防止另外十几个答案提示无效,在这个帖子的上下文中建议去!kill-9-1,让我们关闭这个线程:

答案很简单:

在撰写本文时,谷歌只给了我们中的一些人5%的GPU,而给了其他人100%。期间。

2019年12月更新:问题仍然存在——该问题的投票仍在继续

2019年3月更新:一年后,一名谷歌员工@AmiF对情况发表了评论,称问题不存在,任何似乎有此问题的人都需要简单地重置运行时以恢复内存。然而,投票仍在继续,对我来说,这表明问题仍然存在,尽管@AmiF提出了相反的建议

2018年12月更新:我有一个理论,当谷歌的机器人检测到非标准行为时,谷歌可能会有特定账户的黑名单,或者浏览器指纹。这可能完全是巧合,但在相当长的一段时间里,我在任何需要重新验证码的网站上都遇到了谷歌重新验证码的问题,在我被允许通过之前,我必须通过几十个谜题,通常需要10多分钟才能完成。这持续了好几个月。突然,从这个月起,我一点谜题都没有了,任何谷歌重新验证码都只需点击一次鼠标就能解决,就像一年前一样

我为什么要讲这个故事?嗯,因为同时我在Colab上得到了100%的GPU内存。这就是为什么我怀疑如果你在理论上的谷歌黑名单上,那么你就不会被信任免费获得大量资源。我想知道你们中是否有人发现有限的GPU访问和重新验证码噩梦之间存在同样的相关性。正如我所说,这也可能完全是巧合

发表评论