ClearML Agent - MLOps/LLMOps 变得简单
支持 Linux、macOS 和 Windows 的 MLOps/LLMOps 调度程序和编排解决方案
? ClearML is open-source - Leave a star to support the project! ?
它是一个零配置的即发即忘执行代理,提供完整的 ML/DL 集群解决方案。
只需 5 步即可实现完全自动化
pip install clearml-agent
(在任何 GPU 计算机上安装 ClearML Agent:本地/云/...)“你的研究需要所有深度/机器学习 DevOps,然后还有一些......因为没有人有时间这样做”
立即尝试 ClearML自托管或免费套餐托管
ClearML Agent 旨在满足 DL/ML 研发 DevOps 需求:
使用 ClearML Agent,您现在可以使用 *epsilon DevOps 设置动态集群
*epsilon - 因为我们是?没有什么是真正的零工作
我们认为 Kubernetes 很棒,但是远程执行代理和集群管理并不是必须入门的。我们设计了clearml-agent
以便您可以以适合您环境的任何组合在裸机和 Kubernetes 上运行。
您可以在 docker 文件夹中找到 Dockerfile,并在 https://github.com/allegroai/clearml-helm-charts 中找到 helm Chart
在 Kubernetes Glue 模式下运行代理,将 ClearML 作业直接映射到 K8s 作业:
是的! Slurm 集成可用,请查看文档以获取更多详细信息
只需单击一下按钮即可实现全面 HPC
ClearML Agent 是一个作业调度程序,用于侦听作业队列、拉取作业、设置作业环境、执行作业并监控其进度。
任何“草稿”实验都可以安排由 ClearML 代理执行。
可以通过以下两种方法之一将先前运行的实验置于“草稿”状态:
使用 ClearML UI 中实验右键单击上下文菜单中的“入队”操作并选择执行队列来计划执行实验。
请参阅创建实验并将其排队以供执行。
一旦实验入队,监控该队列的 ClearML 代理就会拾取并执行该实验。
ClearML UI Workers & Queues 页面提供持续执行信息:
ClearML Agent 使用以下过程执行实验:
pip install clearml-agent
完整的接口和功能可用
clearml-agent --help
clearml-agent daemon --help
clearml-agent init
注意:ClearML Agent 使用缓存文件夹来缓存 pip 包、apt 包和克隆存储库。默认的 ClearML Agent 缓存文件夹是~/.clearml
。
请参阅配置文件~/clearml.conf
中的完整详细信息。
注意: ClearML Agent扩展了ClearML配置文件~/clearml.conf
。它们被设计为共享相同的配置文件,请参阅此处的示例
为了进行调试和实验,请在foreground
模式下启动 ClearML 代理,所有输出都会打印到屏幕上:
clearml-agent daemon --queue default --foreground
对于实际服务模式,所有标准输出将自动存储到临时文件中(无需管道)。注意:使用--detached
标志, clearml-agent将在后台运行
clearml-agent daemon --detached --queue default
GPU 分配通过标准操作系统环境NVIDIA_VISIBLE_DEVICES
或--gpus
标志控制(或使用--cpu-only
禁用)。
如果未设置标志,并且NVIDIA_VISIBLE_DEVICES
变量不存在,则所有 GPU 都将分配给clearml-agent
。
如果设置了--cpu-only
标志,或NVIDIA_VISIBLE_DEVICES="none"
,则不会为clearml-agent
分配 GPU。
示例:在同一台机器上运行两个代理,每个 GPU 一个:
注意:使用--detached
标志, clearml-agent将在后台运行
clearml-agent daemon --detached --gpus 0 --queue default
clearml-agent daemon --detached --gpus 1 --queue default
示例:旋转两个代理,从专用的dual_gpu
队列中拉取,每个代理两个 GPU
clearml-agent daemon --detached --gpus 0,1 --queue dual_gpu
clearml-agent daemon --detached --gpus 2,3 --queue dual_gpu
为了进行调试和实验,请在foreground
模式下启动 ClearML 代理,所有输出都会打印到屏幕上
clearml-agent daemon --queue default --docker --foreground
对于实际服务模式,所有标准输出将自动存储到文件中(不需要管道)。注意:使用--detached
标志, clearml-agent将在后台运行
clearml-agent daemon --detached --queue default --docker
示例:在同一台计算机上运行两个代理,每个 GPU 一个,默认为nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
docker:
clearml-agent daemon --detached --gpus 0 --queue default --docker nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
clearml-agent daemon --detached --gpus 1 --queue default --docker nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
示例:旋转两个代理,从专用的dual_gpu
队列中拉取,每个代理两个 GPU,默认为nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
docker:
clearml-agent daemon --detached --gpus 0,1 --queue dual_gpu --docker nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
clearml-agent daemon --detached --gpus 2,3 --queue dual_gpu --docker nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04
还支持优先级队列,示例用例:
高优先级队列: important_jobs
,低优先级队列: default
clearml-agent daemon --queue important_jobs default
ClearML Agent将首先尝试从important_jobs
队列中拉取作业,只有当该队列为空时,代理才会尝试从default
队列中拉取作业。
使用 Web UI 可以添加队列、管理队列内的作业顺序以及在队列之间移动作业,请参阅我们的免费服务器上的示例
要停止在后台运行的ClearML 代理,请运行用于启动代理的同一命令行,并附加--stop
。例如,要停止上面显示的第一台同一台机器、单 GPU 代理:
clearml-agent daemon --detached --gpus 0 --queue default --docker nvidia/cuda:11.0.3-cudnn8-runtime-ubuntu20.04 --stop
将 ClearML 与您的代码集成
在您的机器上执行代码(手动/PyCharm/Jupyter Notebook)
当您的代码运行时, ClearML创建一个实验,记录所有必要的执行信息:
您现在拥有了实验的“模板”,其中包含自动执行所需的一切
在 ClearML UI 中,右键单击实验并选择“克隆”。将创建您的实验的副本。
您现在已经从原始实验克隆了一个新的实验草稿,可以随意编辑它
安排执行新创建的实验:右键单击该实验并选择“入队”
ClearML-Agent 服务是 ClearML-Agent 的一种特殊模式,它能够启动以前必须在本地/专用计算机上执行的持久作业。它允许单个代理针对不同的用例启动多个泊坞窗(任务):
ClearML-Agent 服务模式将旋转任何排队到指定队列中的任务。 ClearML-Agent Services 启动的每个任务都将注册为系统中的新节点,提供跟踪和透明功能。目前,services-mode 下的clearml-agent 支持仅CPU 配置。 ClearML-Agent 服务模式可以与 GPU 代理一起启动。
clearml-agent daemon --services-mode --detached --queue services --create-queue --docker ubuntu:18.04 --cpu-only
注意:用户有责任确保将正确的任务推送到指定的队列中。
ClearML Agent 还可以与 ClearML 包结合使用来实现 AutoML 编排和实验管道。
示例 AutoML 和 Orchestration 示例可以在 ClearML 示例/自动化文件夹中找到。
AutoML 示例:
实验管道示例:
Apache 许可证,版本 2.0(有关详细信息,请参阅许可证)