ClearML简介
ClearML是一个全面的机器学习开发和生产套件,旨在简化和自动化机器学习工作流程。它由多个核心模块组成,涵盖了从实验管理到模型部署的整个MLOps生命周期:
- 实验管理器:自动跟踪实验环境和结果
- MLOps/LLMOps:用于ML/DL/GenAI作业的编排、自动化和流水线解决方案
- 数据管理:基于对象存储的全差异化数据管理和版本控制解决方案
- 模型服务:可扩展的模型服务解决方案,支持快速部署新模型端点
- 报告:创建和共享富文本Markdown文档
- 编排仪表板:用于整个计算集群的实时仪表板
- 分数GPU:基于容器的驱动级GPU内存限制
ClearML的核心理念是"只需添加两行代码",即可获得强大的实验跟踪和MLOps功能。它设计用于无缝集成到现有工作流程中,让团队能够保持现有的方法和实践。
ClearML的主要功能
实验管理
ClearML的实验管理器提供了以下功能:
-
完整的实验设置日志:
- 全面的源代码控制信息,包括未提交的本地更改
- 执行环境(包括特定的包和版本)
- 超参数记录
- 初始模型权重文件
-
自动捕获实验输出:
- stdout和stderr
- 资源监控(CPU/GPU利用率、温度、IO、网络等)
- 模型快照(可选自动上传到中央存储)
- 工件日志和存储
- Tensorboard/TensorboardX标量、指标、直方图、图像、音频和视频样本
- Matplotlib和Seaborn可视化
- 灵活的ClearML Logger接口
-
广泛的平台支持和集成:
- 支持主流ML/DL框架:PyTorch、TensorFlow、Keras、FastAI、XGBoost等
- 与Jupyter Notebook和PyCharm远程调试无缝集成
MLOps和LLMOps
ClearML提供了强大的MLOps和LLMOps功能,支持在Kubernetes、云或裸机上编排和自动化ML/DL/GenAI作业。主要特性包括:
- 远程执行:一键将本地实验转为远程作业
- 自动化流水线:基于现有实验/作业构建流水线,支持嵌套流水线
- 超参数优化:使用黑盒方法和先进的贝叶斯优化算法优化任何代码
- AWS自动缩放:根据工作负载自动启动EC2实例,预配置预算
数据管理
ClearML Data提供了全面的数据管理和版本控制解决方案:
- 基于对象存储(S3/GS/Azure/NAS)的数据管理
- CLI工具用于管理和版本控制数据集
- 支持创建/上传/下载数据
- 数据透明性:在ClearML平台上编目所有数据
模型服务
ClearML Serving是一个云就绪的可扩展模型服务解决方案:
- 5分钟内部署新的模型端点
- 包括由Nvidia-Triton支持的优化GPU服务
- 内置模型监控功能
使用ClearML的优势
- 提高团队协作和可见性
- 一键创建远程作业
- 自动化流程和创建流水线
- 灵活的数据存储和管理
- 提高数据透明度
- 实验管理、MLOps和数据管理的无缝集成
ClearML致力于解决机器学习/深度学习领域研究人员和开发人员面临的共同问题:训练生产级深度学习模型是一个复杂而混乱的过程。ClearML通过关联代码版本控制、研究项目、性能指标和模型来源来跟踪和控制这一过程。
开始使用ClearML
-
注册免费的ClearML托管服务或自行搭建服务器
-
安装clearml Python包:
pip install clearml
-
连接ClearML SDK到服务器:
clearml-init
-
在代码中添加两行:
from clearml import Task task = Task.init(project_name='examples', task_name='hello world')
就是这么简单!现在您的所有进程输出都会自动记录到ClearML中。
社区和支持
ClearML是一个开源项目,欢迎社区贡献。如果ClearML是您开发过程/项目/出版物的一部分,请引用我们:
@misc{clearml,
title = {ClearML - Your entire MLOps stack in one open-source tool},
year = {2023},
note = {Software available from http://github.com/allegroai/clearml},
url={https://clear.ml/},
author = {ClearML},
}
总之,ClearML提供了一个全面而强大的MLOps解决方案,可以显著提高机器学习开发和部署的效率。无论您是个人研究者还是大型团队,ClearML都能为您的AI工作流程带来价值。