最佳实践
简而言之 - 自动化一切 :) 从训练模型到数据处理再到部署到生产环境。
开发 - 准备自动化
基本上,跟踪一切。没有什么是不值得关注的。 如果你担心杂乱,可以使用归档选项,并设置你自己的清理服务。
- 跟踪代码库。没有理由不将指标添加到工作流程中的任何过程中,即使它不直接涉及机器学习。可见性是代码/工作流程迭代改进的关键。
- 创建每个项目的排行榜,基于自定义列(超参数和性能准确度),并对其进行书签标记(完整URL将始终重现相同的视图和表格)。
- 与您的同事和团队领导分享实验。 邀请更多人查看您的项目进展,并建议他们为自己的项目添加指标报告。 这些指标以后可以成为您内部监控解决方案的一部分,不要让好的数据浪费掉 :)
克隆任务
使用以下选项之一定义一个ClearML任务:
- 使用
Task.init()
调用运行实际代码。这将在CleaML中创建并自动填充任务(包括Git仓库/Python包/命令行等)。 - 使用
clearml-task
注册本地/远程代码库。参见详情。
一旦你在ClearML中有了一个任务,你可以在用户界面中克隆并编辑其定义,然后使用ClearML Agent在你的一个节点上启动它。
高级自动化
- 创建每日/每周的定时任务,用于重新训练表现最佳的模型。
- 创建数据监控和调度,并启动推理作业以测试任何新数据集上的性能。
- 一旦有两个或更多的实验连续运行,将它们分组到一个pipeline中。
管理您的数据
使用ClearML Data来版本化您的数据,然后将其链接到正在运行的实验中以便于复现。 使数据集与机器无关(即,将原始数据集存储在共享存储位置,例如共享文件夹/S3/Gs/Azure)。 ClearML Data支持高效的数据集存储和缓存,可微分和压缩。
扩展您的工作
使用 ClearML Agent 来扩展工作。在机器(远程或本地)上安装代理,并使用它管理训练工作负载。
通过透明的资源监控提高团队协作,始终了解什么在何处运行。