加入收藏 | 设为首页 | 会员中心 | 我要投稿 萍乡站长网 (https://www.0799zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

关于DevOps,数据科学家需要了解这些

发布时间:2021-12-22 16:56:28 所属栏目:大数据 来源:互联网
导读:随着机器学习(ML)在过去几年的快速发展,开始ML实验变得非常容易。多亏了像scikit-learn和Keras这样的库,用几行代码就可以创建模型。 但是,将数据科学项目转化为有意义的应用程序比以往任何时候都更加困难,比如将模型转化为团队决策或成为产品的一部分。典

    run: |       
 
       # train.py outputs metrics.txt and confusion_matrix.png   
       pip3 install -r requirements.txt           
       python train.py                     
 
       # copy the contents of metrics.txt to our markdown report
       cat metrics.txt >> report.md           
       # add our confusion matrix to report.md
       cml-publish confusion_matrix.png --md >> report.md  
       # send the report to GitHub for display   
       cml-send-comment report.md
你可以在这里看到整个项目存储库。注意,我们的.yaml现在包含更多的配置细节,比如一个特殊的Docker容器和一个环境变量,以及一些要运行的新代码。容器和环境变量细节在每个CML项目中都是标准的,而不是用户需要操作的东西,所以请关注代码。
 
在工作流中添加了这些CML功能后,我们在CI系统中创建了一个更完整的反馈循环:
 
创建一个Git分支并更改该分支上的代码。
自动训练模型并产生度量(准确性)和可视化(混淆矩阵)。
将这些结果嵌入到Pull请求的可视报告中。
现在,当你和你的团队成员决定你的变更是否对你的建模目标有积极的影响时,你就有了一个可以检查的仪表板。另外,Git还将此报告链接到你的确切项目版本(数据和代码)、用于训练的跑步器以及那次运行的日志。很彻底,不再有那些很久以前就失去了与代码的任何连接的图形在你的工作空间中浮动。
 
这就是数据科学项目中CI的基本思想。明确地说,这个示例是使用CI的最简单方法之一。在现实生活中,你可能会遇到相当复杂的场景。CML还有一些功能可以帮助你使用存储在GitHub存储库之外的大型数据集(使用DVC),并在云实例上进行训练,而不是使用默认的GitHub动作运行器。这意味着你可以使用GPU和其他专门的设置。
 
例如,我做了一个使用GitHub Actions部署EC2 GPU的项目,然后训练一个神经类型的传输模型。以下是我的CML报告:
 
 
你还可以使用自己的Docker容器,这样就可以在生产中紧密地模拟模型的环境。以后我将更多地介绍这些高级用例。
 
关于ML的CI的最后思考
 
总结一下我们到目前为止所说的:
 
DevOps不是一种特定的技术,而是一种哲学、一套原则和实践,用于从根本上重构创建软件的过程。它之所以有效,是因为它解决了团队如何工作和试验新代码的系统瓶颈。
 
随着数据科学在未来几年的成熟,懂得如何将DevOps原则应用到他们的机器学习项目中的人将成为一种有价值的商品——无论是从薪水还是从组织影响的角度。持续集成是DevOps的主要内容,也是构建具有可靠自动化、快速测试和团队自治的文化的最有效的已知方法之一。
 
CI可以通过GitHub Actions或GitLab CI等系统实现,你可以使用这些服务来构建自动模型培训系统。好处很多:
 
你的代码、数据、模型和培训基础设施(硬件和软件环境)都是Git版本化的。
你正在自动化工作,频繁地进行测试并获得快速的反馈(如果使用CML,则使用可视化的报告)。从长远来看,这几乎肯定会加速项目的开发。
CI系统使你的工作对团队中的每个人都可见。没有人需要非常费力地搜索你的最佳运行的代码、数据和模型。
我保证,一旦你进入最佳状态,通过一个Git提交自动启动你的模型训练、记录和报告是非常有趣的。

(编辑:萍乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读