DevOps对数据科学的重大意义

数据科学以及机器学习通常是跟数学、统计学、算法学以及数据挖掘相关的,虽然这些技术对在一个组织中实施机器学习来说是十分重要的,但是数据科学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带来了新的维度,和开发者一起,运营者必须和数据科学家以及数据工程师共同来支持那些采用了机器学习的企业。 原文链接:The Growing Significance Of DevOps For Data Science(翻译:韦峻峰)

0 个评论

要回复文章请先登录注册