开源机器学习模型管理工具DVC介绍

算法工程师往往在使用算法的过程中要不断地调整参数去找到最好的效果,俗称“调参民工”。在不断的调参过程中,会产生各种各样的模型,如何记录好这些参数与模型效果对应的关系,往往另算法工程师很头疼。所以大家都在呼唤一款实用的模型管理工具,因为有了版本管理机制才能更好的做效果比对,甚至多人协同开发。

今天就介绍一款开源的模型管理工具-DVC:https://dvc.org/doc/tutorials/get-started/experiments

模型版本控制的误区

在设计模型版本管理功能的时候有一个误区,就是只管理模型文件。模型版本管理这件事,要从整个机器学习pipline的角度去思考,要考虑到每次训练的数据可能不同、算法参数可能不同、评价指标metrics可能不同。

所以模型管理更是一个机器学习全链路工程的管理,这一点DVC和MLflow的设计理念都是比较好的。

DVC的设计理念

DVC是一个创业团队维护的开源模型管理SDK,跟客户的交互基本上是通过命令行的形式,只要“pip install dvc”就可以快速安装。

DVC可以看做是对git的一种二次封装,如下图所示,dvc checkout底层调用的就是git checkout

DVC把数据+算法脚本+Metrics当成一次代码checkout,这样就可以天然的利用git的能力进行版本管理。

DVC具体使用

(1)创建环境

(2)上传数据

(3)配置数据,设置训练和验证集

(4)设置metrics和生成结果

(5)产出结果

(6)不同版本的模型效果比较

baseline-experiment和bigrams-experiment是不同版本的模型,可以通过checkout不同的版本去控制不同的训练数据和模型参数版本。

猜你喜欢

转载自blog.csdn.net/gshengod/article/details/106576141