数据科学以及机器学习通常是跟数学、统计学、算法学以及数据挖掘相关的,虽然这些技术对在一个组织中实施机器学习来说是十分重要的,但是数据科学DevOps却是变的越来越重要。
DevOps包括了基础设施架构供给,配置管理,持续集成部署,测试监控等,DevOps团队和部署团队紧密合作,可以对应用程序的生命周期进行更有效的管理.
数据科学为DevOps带来了额外的重任,数据工程是处理和转换数据复杂的作业流程的领域,同时也需要数据科学团队与DevOps团队的紧密合作。运营者需要提供高可用的Apache Hadoop、Apache Kafka、Apache Spark和Apache Airflow集群来解决数据抽取和转换问题。 数据工程师在利用大数据集群和复杂流水线进行数据转换之前,可以从各种来源获取数据。
数据科学家探研转换后的数据来研究其内在以及相关性,他们利用一整套不同的 工具 譬如Jupyter Notebooks、Pandas、Tableau以及Power BI等来对数据进行可视化。DevOps团队期望创建数据研究以及可视化的环境来支持数据科学的研究。
建立机器学习语言模型和传统的应用开发截然不同,这种开发不仅具有迭代性而且是异构的。数据科学家和开发人员使用了各种各样的开发语言、库、工具集、以及开发环境来打造机器学习模型。流行的机器学习语言有 Python 、R语言以及Julia等等,这些都是基于Jupyter Notebooks、PyCharm、Visual Studio Code、RStudio 以及Juno来使用的,解决机器学习问题的数据科学家和开发人员必须要掌握这些开发环境。
机器学习和深度学习需要运行在强大的CPU和GPU之上的大规模计算环境,诸如TensorFlow, Caffe, Apache MXNet 和 Microsoft CNTK这些框架利用GPU来运行用于训练机器学习模型的复杂计算。供给、配置、扩展和管理这些集群是典型的DevOps应用。DevOps团队可以创建脚本来自动管理不同环境下的基础设施架构的供给和配置,同时他们也需要在训练任务完成时自动结束实例。
与现代应用软件开发一样,机器学习开发也是迭代的。新的数据集带来了对用户面临的新机器学习模型的训练与使用。一些持续集成部署的最佳实践已经应用在了机器学习的生命周期管理中,每一个机器学习的版本都被打包并标记为不同的容器镜像。DevOps团队利用复杂的持续集成部署流水线在机器学习训练环境和模型部署环境间架起了一座桥梁。
当有一个训练到位的机器学习模型可用时,DevOps团队应该考虑在可扩展的环境中来部署模型,他们可以利用Apache Mesos或Kubernetes等编排引擎来扩展模型部署。
容器和容器管理工具的兴起使得机器学习的开发变得可管理和高效。DevOps团队正在使用容器来配置开发环境、数据处理流水线、训练基础架构以及模型部署环境。像Kubeflow和MlFlow等新兴技术同时也致力于帮助DevOps团队来应对机器学习基础架构处理所带来的新挑战。
机器学习为DevOps带来了新的维度,和开发者一起,运营者必须和数据科学家以及数据工程师共同来支持那些采用了机器学习的企业。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 重构的意义
- [开源项目]矩阵数据的意义
- TCP 封装的隧道对于拥塞控制的意义
- 运维自动化工具 Ansible 原理及意义
- 选择Serverless还是Kubernets?这种争辩并没有意义
- 程序员面试中徒手写代码的意义
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。