用Pants组织一个机器学习Monorepo
使用Pants组织ML Monorepo
MLOps
简化机器学习工作流管理
你是否曾经在项目之间复制和粘贴过一大段实用代码,导致同一段代码的多个版本存在于不同的代码库中?或者,也许你必须在你存储数据的GCP存储桶的名称更新后向数十个项目发起拉取请求?
上述情况在机器学习团队中经常发生,其后果从单个开发者的烦恼到团队无法按需发布代码不等。幸运的是,有一种解决方法。
让我们深入了解单一代码库(monorepos)的世界,这是一种广泛采用于谷歌等大型科技公司的架构,并看看它们如何增强你的机器学习工作流程。单一代码库提供了许多优势,尽管有一些缺点,但对于管理复杂的机器学习生态系统来说,它是一个令人信服的选择。
我们将简要讨论单一代码库的优点和缺点,研究为什么它是机器学习团队的优秀架构选择,并了解大型科技公司如何使用它。最后,我们将看到如何利用Pants构建系统的强大功能,将你的机器学习单一代码库组织成一个强大的CI/CD构建系统。
让我们一起开始这个旅程,优化你的机器学习项目管理。
本文首次发表在neptune.ai博客上。
什么是单一代码库?

单一代码库(缩写为monorepo,即单体代码库)是一种软件开发策略,其中多个项目的代码存储在同一个代码库中。这个想法可以是公司所有以多种编程语言编写的代码存储在一起(有人说过谷歌吗?),也可以是由小团队开发的几个Python项目被放入一个单一的代码库。
在本博文中,我们关注存储机器学习代码的代码库。