Colaboratory

常见问题解答

基础知识

什么是 Colaboratory?

Colab 是一项托管式 Jupyter 笔记本服务,无需设置即可使用,并可让您免费使用包括 GPU 和 TPU 在内的计算资源。Colab 尤其适合机器学习、数据科学和教育用途。

它真的可以免费使用吗?

是的。Colab 可免费使用。

这有点好得令人难以置信。有什么限制吗?

为了向全球尽可能多的学生和资源不足的群体开放,Colab 会优先考虑积极使用笔记本编程的用户。Colab 还会限制对他人产生负面影响或旨在规避 Google 反滥用政策的操作。如需查看禁止的操作列表,请参阅 Colab 中哪些活动受到限制?。Colab 的资源供应没有保证,也不会无限量供应,用量限额有时会变化。只有这样,Colab 才能免费提供资源。如需了解详情,请参阅资源限制

Colab 中哪些活动受到限制?

Colab 管理的运行时禁止对他人造成负面影响的滥用行为以及旨在规避 Google 政策的行为。所有 Colab 管理的运行时中都不允许执行下列操作:

遗憾的是,由于作恶方试图利用 Colab 提供的计算补贴,因此我们无法更具体地说明我们的滥用检测系统的工作原理。

除了这些限制外,为了向全球的学生和资源不足的群体开放,Colab 会优先考虑积极使用笔记本编程的用户。如果没有 Colab 计算单元余量正值,那么在免费运行 Colab 管理的运行时时不允许执行下列操作,并且可能会在没有警告的情况下随时被终止:

您可以在此处购买我们的某个付款方案,并保持计算单元余量为正值,即可解除这些类型的限制。您可能会发现,并非所有与说明相符的运行时都会被终止;我们会在合理范围内尽我们所能提供支持,让全球社区受益。

您可以通过 GCP MarketplaceColab Enterprise 购买有保证的资源,而不受 Colab 强制执行的用量限额的影响,也可以通过由您控制的本地运行时使用您自己的计算资源。请注意,这些方法不支持在运行时文件系统中装载 Google 云端硬盘。

为什么我的 Colab 运行时总是提前终止?

为了向全球的学生和资源不足的群体开放,Colab 会优先考虑积极使用笔记本编程的用户。

免费使用层级的用户在尝试绕过笔记本界面,并在 Colab 管理的运行时上使用网页界面生成内容时,通常会遇到运行时终止的情况。虽然这些体验广受欢迎且令人印象深刻,但属于计算密集型,导致我们无法将资源优先提供给免费使用者,协助他们编写程序。

您可以点击此处购买我们的某个付款方案,解除这些类型的限制。

您可以通过 GCP MarketplaceColab Enterprise 购买有保证的资源,而不受 Colab 强制执行的用量限额的影响,也可以通过由您控制的本地运行时使用您自己的计算资源。请注意,这些方法不支持在运行时文件系统中装载 Google 云端硬盘。

Jupyter 和 Colab 有什么区别?

Jupyter 是一个开放源代码项目,而 Colab 是在 Jupyter 基础之上开发的。通过 Colab,您无需下载、安装或运行任何软件,就可以使用 Jupyter 笔记本并与他人共享。

使用 Colab

我的笔记本存储在什么地方?可以共享吗?

Colab 笔记本存储在 Google 云端硬盘上,也可以从 GitHub 加载。您可以共享 Colab 笔记本,就像使用 Google 文档或表格一样。只需点击任一 Colab 笔记本右上角的“共享”按钮,或按照相关 Google 云端硬盘文件共享说明操作。

共享笔记本时,具体会共享哪些内容?

如果您选择共享笔记本,笔记本的全部内容(包括文本、代码、输出项和注释)都会被共享。您可以通过依次选择修改 > 笔记本设置 > 保存此笔记本时忽略代码单元格输出项,将代码单元格输出项排除在保存或共享范围之外。系统不会共享您正在使用的虚拟机(包括您已设置的所有自定义文件和库)。因此,对于那些会安装和加载任何您笔记本需要的自定义文件的单元格,最好将它们纳入其中。

我可以将现有的 Jupyter/IPython 笔记本导入 Colab 吗?

可以。只需从“文件”菜单中选择“上传笔记本”即可。

如何搜索 Colab 笔记本?

您可以使用 Google 云端硬盘搜索 Colab 笔记本。点击笔记本视图左上方的 Colab 徽标将显示云端硬盘中的所有笔记本。您还可以依次选择文件 > 打开笔记本,搜索您最近打开过的笔记本。

我的代码在哪里执行?如果关闭浏览器窗口,我的执行状态会怎样?

代码会在专供您的账号使用的虚拟机中执行。虚拟机闲置一段时间后会被删除,并且 Colab 服务为虚拟机强制设置了最长有效期。

如何获取数据?

您可以按照相关说明从 Google 云端硬盘下载您已创建的任何 Colab 笔记本,也可以通过 Colab 的“文件”菜单下载笔记本。所有 Colab 笔记本均以开放源代码 Jupyter 笔记本格式 (.ipynb) 存储。

运行我的代码的虚拟机要如何重置?为什么这项设置有时用不了?

您可以依次选择运行时 > 断开连接并删除运行时,将分配给您的所有托管虚拟机恢复到原始状态。在虚拟机运行状况不佳的情况下(例如,在意外覆盖系统文件或安装了不兼容软件的情况下),重置操作会非常有用。Colab 会限制重置操作的频率,以免不必要的资源消耗。如果重置失败,请稍后再试。

为什么 drive.mount() 有时会失败,并提示“超时”?为什么在通过 drive.mount() 装载的文件夹中执行的 I/O 操作有时会失败?

当文件夹中的文件或子文件夹数量太多时,Google 云端硬盘操作可能会出现超时问题。如果有成千上万个项目直接包含在“我的云端硬盘”顶级文件夹中,那么装载该云端硬盘可能会超时。如果重复尝试,最后有可能会成功,因为在超时之前,失败的尝试会在本地缓存部分状态。如果您遇到此问题,请尝试将直接包含在“我的云端硬盘”中的文件和文件夹移至子文件夹。如果在 drive.mount() 运行成功后从其他文件夹中读取数据,可能会出现类似问题。访问含有许多项目的任何文件夹中的项目都可能会导致错误,例如 OSError: [Errno 5] Input/output error。同样,您只需将直接包含的项目移至子文件夹中,便可解决此问题。
请注意,通过将文件或子文件夹移入回收站来将其“删除”可能还不够;如果执行上述操作后问题仍未解决,请务必再清空回收站

为什么“装载 Google 云端硬盘”操作有时会在笔记本中插入代码?

在 Colab 中装载 Google 云端硬盘可允许笔记本中的任何代码访问 Google 云端硬盘中的任何文件。通常,每当用户连接到新的运行时时,我们都会要求用户向笔记本添加一个代码单元格,以手动方式授予此权限。这可以确保用户完全了解向笔记本授予的权限。
在某些情况下,我们只需要获得一次 Google 云端硬盘授权,并在日后的会话中自动重新装载 Google 云端硬盘。为了保护您的文件,我们仅在笔记本通过了多个检查后允许执行此操作。例如,由其他用户修改过的任何笔记本都不会自动装载 Google 云端硬盘。

为什么云端硬盘操作有时会因配额问题而失败?

Google 云端硬盘强制执行各种限制,包括每位用户的操作次数、对每个文件的操作次数以及带宽配额。超出这些限制就会触发上面提到的 Input/output error,并会在 Colab 界面中显示一则通知。常见原因包括:访问常用共享文件,或过快访问太多不同的文件。临时解决办法包括:

为什么云端硬盘操作有时会因存储空间配额问题而失败?

Google 云端硬盘对每位用户可在其中存储的数据量施加了限制。如果云端硬盘操作因 Input/output error 而失败,并且系统通知已超出存储空间配额,请通过 drive.google.com 页面删除一些文件,然后清空回收站以回收存储空间。可能需要过一段时间,回收的存储空间才可供在 Colab 中使用。

如果您想购买更多云端硬盘存储空间,请访问 Google 云端硬盘。注意,购买更多云端硬盘存储空间并不能增加 Colab 虚拟机中的可用磁盘空间,而订阅 Colab Pro 可以。

资源限制

为什么 Colab 不能保证资源供应?

为了能够以较低价格动态提供大量强大的 GPU,Colab 需要保持动态调整用量限额和硬件供应情况的灵活性。

在免费版 Colab 中,用户对 GPU 等高昂资源的访问权限会受到严格限制。对于付费版 Colab,我们的目标是为用户的消费提供高价值的产品和服务。

您可以通过 GCP MarketplaceColab Enterprise 购买有保证的资源,而不受 Colab 强制执行的用量限额的影响,也可以通过由您控制的本地运行时使用您自己的计算资源。请注意,这些方法不支持在运行时文件系统中装载 Google 云端硬盘。

Colab 的用量限额是多少?

Colab 之所以能够免费提供资源,部分原因在于它的用量限额是时有变化的动态限额,并且它不会保证资源供应或无限供应资源。也就是说,总体用量限额、空闲超时时长、虚拟机生命周期上限、可用 GPU 类型以及其他因素都会不时变化。Colab 不会公布这些限额,原因之一是它们可能会随着时间变化。

您可以点击此处购买我们的某个付款方案,获享更高的计算能力和更长的运行时。对于这些方案,资源可用性同样可能会随时间而动态变化。如果付费用户的计算单元余额已用尽,就必须遵守免费方案的政策与限额,直到余额增加为止。

您可以通过 GCP MarketplaceColab Enterprise 购买有保证的资源,而不受 Colab 强制执行的用量限额的影响,也可以通过由您控制的本地运行时使用您自己的计算资源。请注意,这些方法不支持在运行时文件系统中装载 Google 云端硬盘。

Colab 提供哪些类型的 GPU?

Colab 中的可用 GPU 类型会不时变化。只有这样,Colab 才能免费提供这些资源。

此处购买我们的某个付费方案,即可使用高级 GPU(具体以实际可用情况为准)。

如果您想使用特定的专用硬件,请通过 GCP Marketplace Colab 进行探索。

Colab 中的笔记本可以运行多久?

Colab 会优先处理交互式计算。如果您的系统处于空闲状态,运行时将超时。

在免费版 Colab 中,笔记本最长可以运行 12 小时,具体取决于实际可用情况和您的使用模式。Colab Pro、Pro+ 和随用随付方案会基于您的计算单元余量为您提供更多可用的计算资源。

通常,笔记本最长可以运行 12 小时,具体取决于实际可用情况和您的使用模式。购买 Pro、Pro+ 或随用随付方案后,如果您的可用计算单元已用尽,那么代码执行可在后端终止。

如果您有足够的计算单元,Colab Pro+ 支持代码连续执行长达 24 小时。只有在代码执行终止后才会应用空闲超时。

您可以在 GCP Marketplace 购买专用虚拟机,以充分缓解运行时限制和空闲超时设置。

Colab 提供多大内存?

在免费版 Colab 中,您可以访问具有标准系统内存配置文件的虚拟机。

在付费版 Colab 中,您可以访问具有高内存系统配置文件的虚拟机(具体以实际可用情况和计算单元余量为准)。

请注意,内存是指系统内存。所有 GPU 芯片具有相同的内存配置文件。

如何才能充分利用 Colab?

请在完成工作后关闭 Colab 标签页,并在没有实际工作需求时避免选用 GPU 或额外的内存。这样,您在 Colab 中遇到用量限额的情况就会减少。通过随用随付方案,您可以在达到限额时随时购买更多计算资源。

如要详细了解如何充分利用付费版 Colab,请参阅充分利用您的 Colab 订阅

系统显示一条消息,提示我没有使用 GPU。我该怎么办?

Colab 提供可选的加速计算环境,包括 GPU 和 TPU。在 GPU 或 TPU 运行时中执行代码不一定代表将使用 GPU 或 TPU。为了避免达到 GPU 使用量上限,我们建议如果没有使用 GPU,请切换为标准运行时。切换方法是:依次选择运行时 > 更改运行时类型,然后将“硬件加速器”设为“无”

要查看如何在 Colab 中利用 GPU 和 TPU 运行时的示例,请参阅支持 GPU 的 TensorFlowColab 中的 TPU 示例笔记本。

AI 编码

如何才能在 Colab 中使用 AI 编码功能?

我们正逐步推出 AI 编码功能,例如依托 AI 技术的自动补全、自然语言编码,还有以 Google 最先进的编码协助模型为基础的聊天机器人。

特定语言区域的付费订阅者现在就可以使用这些功能。

此外,未订阅用户能在限定时间内使用代码生成功能。

遗憾的是,我们目前不支持 Google Workspace 账号。我们正在努力,希望能尽快为这些类型的账号启用相应功能。

我可以依靠 Colab 中的 AI 编码功能来完成达到生产质量的工作吗?

Colab 可以帮助您进行编码和有关编码的主题,但 Colab 中的 AI 编码功能仍处于实验阶段,如果您使用其提供的代码或编码说明,则需要自行承担责任。请不要完全依赖这项功能,而要谨慎使用,并仔细测试和检查所有代码是否存在错误、bug 和漏洞。

如果生成的任何代码受开源许可的约束,Colab 将会注明。

我可以问 Colab AI 聊天机器人哪些问题?

请仅使用 Colab AI 聊天机器人询问与 Colab 或 Colab 中的编码功能相关的问题。如果您想问聊天机器人有关其他主题的问题(以及关于 Java 等其他语言的问题),建议您使用 Bard 进行一般查询。

Colab 可以提供哪些语言方面的帮助?

对于 Python,Colab 中的 AI 编码功能效果最佳,并已针对该语言进行优化。

Colab 是否会给出准确且安全的回复?

Colab 中的 AI 编码功能仍在实验阶段,部分回复可能不准确,因此请仔细检查 Colab 的回复。Colab 中的 AI 编码功能会根据您的反馈不断改进。

使用生成式 AI 加速实现人们的想法真的非常令人振奋,但这项技术仍处于早期阶段,AI 编码只是一项实验。Colab 内置了多种安全控制功能和明确的反馈机制,这符合我们的 AI 原则。但请注意,它可能会显示不准确的信息、链接或令人反感的陈述内容。

我如何提供有关特定 AI 回复内容的反馈?

如果您认为 AI 回复内容不安全、不实用、不准确,或因任何其他原因而认为 AI 回复内容不佳,可以提交反馈告知我们。

在回复的右下角,点击“我喜欢”或“不喜欢”图标。

如何在 Colab 中停用 AI 编码功能?

如果您希望在 Colab 中停用 AI 编码功能,请从“工具”菜单中选择“设置”,然后选择“Colab AI”。

在随即显示的界面中,您可以撤消同意并隐藏 AI 编码功能。

Colab 如何以及何时在其回复内容中注明引用来源?

与其他一些独立的 LLM 体验一样,Colab 中的 AI 编码功能旨在生成原创内容,而不是长篇复制现有内容。我们对系统进行了精心设计,会尽量避免发生这种情况,而且我们将继续改进这些系统的运作方式。如果 Colab 确实直接引用了某个来源的长篇内容,就会注明引用来源。

Google 会收集哪些数据?会如何使用收集到的数据?

当您在 Colab 中使用生成式 AI 功能时,Google 会收集您输入的提示内容、相关代码、生成的输出、相关功能使用情况信息以及您的反馈。Google 会利用这些数据提供、改进和开发 Google 产品、服务和机器学习技术,包括 Google 的企业用产品,如 Google Cloud。

为了帮助提高质量和改进我们的产品,人工审核者可能会查看和处理您输入的提示内容、生成的输出、相关功能使用情况信息以及您的反馈,并添加注释。请勿在提示或反馈中添加可用于识别您或他人身份的敏感信息(例如机密信息)或个人信息。我们将按以下方式存储您的数据:Google 无法判断数据提供者的身份,并且无法再满足任何删除要求。数据保留时间最长可达 18 个月。

“在代码单元格中生成”和 Colab AI 聊天机器人有什么区别?

“在代码单元格中生成”能够提供上下文帮助,以便为您编写代码段。代码是根据您的提示以及附近的笔记本内容生成的,用于为模型提供上下文。

Colab AI 聊天机器人可用于回答较常见的 Python 相关问题。在提供代码段时,它还会提供相关说明。

其他问题

Colab 支持哪些浏览器?

Colab 支持大多数主流浏览器,并且在 ChromeFirefoxSafari 的最新版本上进行了最全面的测试。

Colab 与 colaboratory.jupyter.org 有什么关系?

2014 年,我们与 Jupyter 开发团队合作发布了该工具的早期版本。自此以后,在内部使用反馈的指引下,Colab 得以不断改进。

是否支持其他编程语言?

Colab 主要支持 Python 及其第三方工具生态系统。据悉,用户希望 Colab 支持其他 Jupyter 内核(例如 R 或 Scala)。我们打算支持这些 Jupyter 内核,但还无法提供预计实现时间。

如果我发现错误或遇到问题,我该联系谁?

您可以打开任意一个 Colab 笔记本,然后转到“帮助”菜单并选择“发送反馈…”。

为什么提示我启用第三方 Cookie?

为了安全地显示各种输出项,Colab 会使用 HTML iframe 和托管在多个单独来源的 Service Worker。只有第三方 Cookie 处于启用状态时,浏览器才能在 iframe 中使用 Service Worker。要启用所有网站的第三方 Cookie 还有另一个方法,就是在浏览器设置中允许以下主机名:googleusercontent.com。

如何更改编辑器的字体?

Colab 对编辑器会使用一般的等宽字体。在大多数现代浏览器中,您都可以配置对哪些字体系列使用等宽设置。下面是一些常见字体系列:

Colab 支持 Python 2 吗?

Colab 已不再支持 Python 2。要了解将代码从 Python 2 迁移到 Python 3 的相关信息,请参阅将 Python 2 代码迁移到 Python 3 一文。

在哪里可以详细了解付费版 Colab?

请参阅注册页面上的常见问题解答部分。

Colab 的付费版本是怎么计费的?

请访问注册页面,了解 Colab Pro、Pro+ 以及随用随付方案的相关信息,包括定价和升级处理方式。

如何使用 Workspace 账号访问 Colab?

Workspace 用户对 Colab 的访问权限由贵组织的管理员通过 Workspace 开/关控件控制。

Workspace 教育版组织必须征得相应家长同意,才能让未满 18 周岁的学生通过其 Google Workspace 教育版账号使用附加服务。您可以利用此通知模板向学生家长征求同意。请务必在附加服务列表中添加 Colab。

如需了解详情,请参阅我们的帮助中心文章与家长和监护人就 Google Workspace 教育版的使用进行沟通