如何在超过使用限制后在Google Colab上使用GPU?

45

我正在使用 Google Colab 的免费版本来运行我的 TensorFlow 代码。大约在12小时后,它会给出以下错误信息:

"由于 Colab 中的使用限制,您目前无法连接到 GPU。"

我尝试过将运行时恢复出厂设置以再次使用 GPU,但并没有起作用。此外,我重启了所有会话,但这也不起作用。是否有任何方法让我能够在 Google Colab 的免费版本上再次使用 GPU?


你说的“我应用了工厂重置运行时以再次使用GPU,但它不起作用”是什么意思?请提供精确的错误信息,我可以帮忙,因为我之前也遇到过类似的问题。请更具体一些,添加图片也会有帮助。 - knoop
2
@knoop 我的意思是我在Google Colab上应用了“运行时”==>“恢复出厂设置运行时”==>“是”。幸运的是,现在我可以在GPU后端上运行我的代码。我想我需要等待一天才能再次工作。 - Mert Ege
7
我相当确定,你要么长时间闲置,要么在使用GPU实例时进行后台操作。Google对这些行为有严格的政策,会禁止你在几个小时到几天内使用GPU。另外,请每次退出时手动终止会话,以免影响其他用户并避免被锁定。 - knoop
5个回答

58
如果您经常使用GPU,运行时间将变得越来越短,断开连接的频率也会变得更加频繁。在您可以连接到另一个GPU之前的冷却期将从几个小时延长到数天甚至数周。谷歌跟踪一切。他们不仅知道您帐户的使用情况,还知道与您帐户相关的其他帐户的使用情况,并且如果他们怀疑某人试图滥用系统,他们将相应地调整使用限制。他们永远不会给您明确的原因,说明运行时断开连接或为什么不能连接到GPU,除了关于“使用限制”的通用消息外。他们也永远不会给用户一个直接的方式来跟踪他们的使用情况,因为这只会使人们更容易规避限制。如果您的帐户基本上被列入黑名单,他们永远不会告诉您的帐户已被列入黑名单,因为这会给他们带来更多麻烦。当您永远无法连接时,您将只收到有关使用限制的相同消息。他们更喜欢让用户感到困惑和猜测,因为这样可以保持所有权力在谷歌手中。对于一个免费服务,谁能说这有什么错呢。

编辑:对于Colab Pro而言,他们可能不会因为使用过度而致命地限制一个账户,但他们可以通过将冷却期延长到3-5天、将运行时间从24小时缩短至6-8小时等方式来显著限制它。请记住,这适用于每周多次运行多个账户达到最大持续时间的用户。如果您只是每周使用一个或两个账户,那就不应该有问题。


8
对于一个免费的服务,谁又能说有什么问题呢?这就是我对那些从我这里获取免费药物的用户的看法! - Michael Tamillow
6
无论如何,我正在进行一个学校项目,其中我使用了Colab开发。谷歌也使用各种免费软件,因此对于他们获取世界数据并将其销售成为全球最大公司的做法存在某种暗含的社会债务... - Michael Tamillow
2
虽然这个特定的服务似乎不需要预付费或任何隐含的基于数据的费用,但 Google 的东西远非免费,即使它们标价为 $0。它不可能是“真正”的免费。问题在于,当涉及到他们的产品支持时,人们认为这应该让他们免受可怕的透明度实践的影响。我希望这种观点有一天会消失。 - Noein

14

Colab的免费版工作在动态使用限制上,这个限制是不固定的,大小也没有文档记录,这就是免费版本不能保证无限资源的原因。
基本上,整体使用限制和超时时间、最大VM寿命、可用的GPU类型以及其他因素会随时间而变化。Colab并没有公布这些限制,部分原因是因为它们可以(有时会)迅速变化。

有时会优先为交互式使用Colab的用户提供GPU和TPU,而不是长时间运行计算的用户,或者为最近在Colab中使用较少资源的用户提供GPU和TPU。因此,长时间使用Colab进行计算的用户,或者最近在Colab中使用了更多资源的用户,更有可能遇到使用限制,并且暂时限制他们访问GPU和TPU。希望拥有更高和更稳定使用限制的用户可以使用Colab Pro


来源:https://research.google.com/colaboratory/faq.html以下是一些常见问题和解答:
  1. 什么是 Google Colaboratory?
Google Colaboratory(简称 Colab)是一种免费的 Jupyter Notebook 环境,可在云端运行。它不需要进行任何设置,只需拥有 Google 帐号即可使用。
  1. 我需要支付费用吗?
不需要。Colab 是完全免费的。
  1. 我可以在 Colab 中运行哪些语言?
Colab 支持 Python 和 Swift 语言。
  1. 我可以上传自己的数据集吗?
可以。您可以将数据集上传到 Google Drive,并从 Colab 中访问它们。
  1. 我可以在 Colab 中安装自己的软件包吗?
可以。您可以使用 pip 安装所需的软件包。
  1. 我可以在 Colab 中使用 GPU 吗?
可以。Colab 提供了免费的 GPU 和 TPU 资源,可用于加速模型训练。
  1. 我可以与他人共享我的 Colab 笔记本吗?
可以。您可以通过链接或 Google Drive 共享您的 Colab 笔记本。
- Stephen Ostermiller

10

[这不是解决方案而是一种权宜之计]

没有特别的方式来解决这个问题,建议如果有多个Google账户,将你的笔记本电脑或代码复制到使用另一个Google账户的Colab上继续工作。


1
很好,这真的起作用了!我原以为谷歌会追踪我的谷歌账户并使这种情况不可能发生,但更改我的账户让我再次使用GPU,谢谢。 - NeStack

6

我最近两次遇到了相同的问题。每次都会出现一个弹出窗口,就像这个图片中显示的信息。

"You cannot currently connect to a GPU due to usage limits in Colab. Learn More"

不要失望,放松心态,因为它只会在有效期内生效一天。你需要等待,到了第二天,你将像以前一样获得完全访问权限。这个意外的消息是由于长时间连接GPU而没有使用(即没有运行需要GPU的代码)引起的。更详细地说,原因可能是以下之一:
  1. 假设你连接了GPU,然后运行一个需要40分钟才能执行完的代码。但你离开电脑去睡觉2、3个或更多小时。那么这个意外的消息就会出现。
  2. 如果你不使用GPU,但仍然连接着GPU,一段时间后Colab会给你一个警告信息,如“警告:你已经连接了GPU运行时,但没有利用GPU。改变为标准运行时。”一个好的实践是在那个时候改变运行时,否则你可能会被封锁在当天。

1
似乎没有具体的信息可用。

enter image description here

Colab的使用限制是什么?

Colab能够提供免费资源,部分原因在于它具有动态使用限制,有时会波动,并且不提供保证或无限制的资源。这意味着整体使用限制以及空闲超时期、最大VM生命周期、可用的GPU类型和其他因素随时间变化。Colab不公布这些限制,部分原因是因为它们可能(有时确实)会迅速变化。

有时会优先为与Colab进行交互的用户分配GPU和TPU,而不是长时间运行计算的用户,或者最近在Colab中使用更少资源的用户。因此,长时间运行计算的用户或最近在Colab中使用更多资源的用户更有可能遇到使用限制,并且暂时限制他们对GPU和TPU的访问。有高计算需求的用户可能会对在自己的硬件上运行本地运行时的Colab UI感兴趣。对于希望拥有更高和更稳定使用限制的用户,可以考虑使用Colab Pro。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接