客户概览

挑战
Photomath 应用的核心功能依赖于计算机视觉来读取数学方程式——无论是手写、来自教科书还是在线的——分析它们,并根据视觉模型的输出提供分步解决方案和解释,以帮助用户不仅获得解答,还能在此过程中学习和理解步骤。
“我们以前用 Google 表格来跟踪实验元数据和性能。但这很容易出错,” Photomath 的初级 AI 工程师 Marijan Smetko 说。“有时候,由于‘CUDA 内存不足’错误或其他不可预测的原因,我们会终止彼此的实验。有好几次使用了错误的数据。” 事实是,不使用 MLOps 平台降低了 Photomath 的开发速度。
他指出,代码存在一些细微改动但几乎没有跟踪的情况。“理论上很多实验无法比较,这还只是我们所知问题的一部分。我们效率低下,浪费时间和资源,而且迭代之间存在很大摩擦,”他说。
鉴于这些挑战,团队意识到他们需要一个 MLOps 解决方案来跟踪和协调远程执行的实验,于是开始寻找一个能够实现以下功能的系统:
- 允许用户在公司硬件上远程执行实验,无需手动 SSH 连接
- 使 AI 工程师能够跟踪他们的实验训练运行进度和相关指标
- 帮助他们比较先前的实验并做出更明智的决策

解决方案
“知道我们需要解决一个问题,我们准备自己编写解决方案,但在那之前,我们上网开始寻找更多资源和灵感,”Marijan 说。“我们想看看别人已经构建了什么可以帮助我们实现目标。”
Photomath 的 AI 工程师 Tomislav Filipović 补充说:“我们想要一个即插即用的东西。然后有一天,我们找到了 ClearML,它具备我们正在寻找的一切功能。”
ClearML 是一个开源 MLOps 平台,为数据科学家、ML 工程师和 DevOps 人员提供协同实验管理、强大的协调能力、易于构建的数据存储等——所有功能都集中在一个地方。
Photomath 指出使用 ClearML 的八个明显优势:
1. 易于设置
从写得很好的部署步骤到一次 Docker Compose 调用,ClearML 的上手非常容易。
2. 易于集成
Photomath 的大部分代码已经写成运行在裸机上的独立训练脚本。Photomath 很容易编写另一个小脚本,将实验运行代码包装在 ClearML 任务中并附带一些元数据。
3. 提供实验跟踪
为了快速迭代,对 Photomath 来说,他们的实验也要运行得快非常重要。“ClearML 的实验跟踪功能允许我们停止那些看起来没有机会胜过最佳实验的,以及停止任何进展缓慢的实验,”Marijan 说。

4. 使比较实验变得简单
ClearML 对 Photomath AI 团队影响最大的功能之一是其实验比较功能。以前,当团队使用 Google 表格时,更新它们——找到正确的表格,更新信息,分析数据——是一个繁琐、耗时且容易出错的过程。现在有了 ClearML,这个手动过程变得自动化,只需在浏览器中点击几下即可完成。
5. 易于访问实验产物
ClearML 可以配置为将所有实验产物存储在云中,从而非常容易找到特定 epoch 的检查点,尤其是最后一个和性能最佳的 epoch。这些模型随后成为部署的候选对象。“这使得可以将实验产物用于新的实验,这种做法称为热启动训练,”Marijan 说。“ClearML 轻松允许我们的 AI 工程师定义可以从中继续实验的模型检查点,通过自动下载和加载来完成。”
6. 支持数据管理
ClearML 将下载并使用正确的数据版本运行实验,并缓存版本和版本差异。Photomath 还使用 ClearML Datasets 存储数据集元数据。
7. 使报告结果变得容易
尽管 Photomath 团队使用 ClearML 运行和评估实验,然后选择最佳实验,但他们也将这些结果分享给管理团队。“我们的大多数高管都来自工程背景,他们对我们的结果感兴趣。我们曾有过我们的 CEO 直接打开 ClearML 链接查看他感兴趣的实验的情况,”Tomislav 说。
8. 易于使用
“我们从来不需要为 UI 寻求帮助,这意味着 ClearML 很好地完成了它的工作。它尽可能轻松地解决了一个非常实际的问题。事实上,它提供了我们需要的一切,并允许我们按照自己想要的方式工作,”Tomislav 总结道。
结果
1200%
1500%
事实
通过 使用我们的免费层服务器 或 自行托管 开始使用 ClearML。 在此阅读文档。如果您需要大规模运维深度学习,请 申请 ClearML 企业版的演示。
—
编者注: 本案例研究的部分内容改编自 Photomath 的一篇文章,该文章最初发布于此: https://medium.com/photomath-engineering/new-horizons-of-mlops-1579e4d8b45f