Skip to main content

最佳实践

简而言之 - 自动化一切 :) 从训练模型到数据处理再到部署到生产环境。

开发 - 准备自动化

基本上,跟踪一切。没有什么是不值得关注的。 如果你担心杂乱,可以使用归档选项,并设置你自己的清理服务

  • 跟踪代码库。没有理由不将指标添加到工作流程中的任何过程中,即使它不直接涉及机器学习。可见性是代码/工作流程迭代改进的关键。
  • 创建每个项目的排行榜,基于自定义列(超参数和性能准确度),并对其进行书签标记(完整URL将始终重现相同的视图和表格)。
  • 与您的同事和团队领导分享实验。 邀请更多人查看您的项目进展,并建议他们为自己的项目添加指标报告。 这些指标以后可以成为您内部监控解决方案的一部分,不要让好的数据浪费掉 :)

克隆任务

使用以下选项之一定义一个ClearML任务:

  • 使用Task.init()调用运行实际代码。这将在CleaML中创建并自动填充任务(包括Git仓库/Python包/命令行等)。
  • 使用clearml-task注册本地/远程代码库。参见详情

一旦你在ClearML中有了一个任务,你可以在用户界面中克隆并编辑其定义,然后使用ClearML Agent在你的一个节点上启动它。

高级自动化

  • 创建每日/每周的定时任务,用于重新训练表现最佳的模型。
  • 创建数据监控和调度,并启动推理作业以测试任何新数据集上的性能。
  • 一旦有两个或更多的实验连续运行,将它们分组到一个pipeline中。

管理您的数据

使用ClearML Data来版本化您的数据,然后将其链接到正在运行的实验中以便于复现。 使数据集与机器无关(即,将原始数据集存储在共享存储位置,例如共享文件夹/S3/Gs/Azure)。 ClearML Data支持高效的数据集存储和缓存,可微分和压缩。

扩展您的工作

使用 ClearML Agent 来扩展工作。在机器(远程或本地)上安装代理,并使用它管理训练工作负载。

通过透明的资源监控提高团队协作,始终了解什么在何处运行。