核心组件概述
视频教程
欢迎来到ClearML!本视频将作为ClearML完整堆栈的概述。我们将向您介绍最重要的概念,并向您展示所有内容如何相互配合,以便您可以深入了解接下来的视频,这些视频将更详细地介绍ClearML的功能。
ClearML 旨在让您在不到10分钟和2行神奇的代码内启动并运行。但如果您开始深入研究,您很快会发现它提供了许多功能。那么,让我们来分解一下,好吗?
ClearML的核心是实验管理器。它由clearml
pip包和ClearML服务器组成。
在运行pip install clearml
之后,我们可以在现有的代码库中添加2行简单的python代码。这两行代码将捕获代码生成的所有输出:日志、源代码、超参数、图表、图像,你能想到的都可以。
pip 包还包括 clearml-data
。它可以帮助您跟踪不断变化的数据集,并提供一种简单的方式来存储、跟踪和版本控制您的数据。它也是一种在多台机器上与同事共享数据集的简便方法,同时跟踪谁拥有哪个版本。ClearML Data 甚至可以跟踪您的数据的来源,确保您始终能够弄清楚数据的特定部分来自何处。
两条魔法线和数据工具都会将其所有信息发送到ClearML服务器。该服务器随后会随着时间的推移保持对您的实验运行和数据集的概览,因此您可以随时回到之前的实验,查看它是如何创建的,甚至可以精确地重新创建它。通过根据您自己的指标创建排行榜来跟踪您的最佳模型,您甚至可以直接比较多个实验运行,帮助您找出模型的最佳前进方向。
要立即开始使用服务器,您可以利用免费层级。当您的需求增长时,我们也能满足您的需求!只需查看我们的网站,找到最适合您组织的层级。但是,因为我们是开源的,您也可以完全免费地托管自己的服务器。我们有AWS镜像、Google Cloud镜像,您可以在本地使用docker-compose运行,或者,如果您真的不喜欢自己,可以使用我们的helm图表在自托管的kubernetes集群上运行。
所以,回顾一下:要开始,你只需要一个pip包和一个服务器来存储所有内容。很简单,对吧?但MLOps不仅仅是实验和数据管理。它还涉及自动化和编排,这正是clearml-agent
发挥作用的地方。
clearml-agent
是一个守护进程,你可以在1台或多台机器上运行它,并将它们转变为工作节点。代理通过将代码的状态从原始机器复制到远程机器来执行实验或其他工作流程。
现在我们有了这种远程执行能力,可能性几乎是无限的。
例如,无论是在CPU还是GPU机器上设置代理都非常容易,因此您可以轻松地在任何可用的计算资源上运行所有实验。如果您在云端启动代理,它们甚至支持开箱即用的自动扩展。
您可以设置多台机器作为代理,以支持大型团队处理复杂项目,并轻松配置排队系统,以充分利用您可用的硬件。
谈到使用多台机器,假设你有一个实验并希望优化你的超参数。ClearML 可以轻松自动地克隆你的实验,无论你想要多少次,根据你的策略即时更改一些超参数,并将任务发送到你的任何一个代理。
你甚至可以使用Google Colab实例作为ClearML代理来获得免费的GPU资源,只是说说而已!
作为如何使用代理功能的最后一个示例,ClearML 提供了一个 PipelineController
,它允许您通过将一个任务的输出作为另一个任务的输入来链接任务。当然,每个任务都在您的代理大军上运行,以实现完全自动化。
正如你所见,ClearML 是一个大型工具箱,装满了对数据科学家和 MLOps 工程师最有用的组件。如果你需要更多细节,我们将在以下视频中深入探讨每个组件,但请随时在 clear.ml 上开始使用。