标记数据和开发准确的机器学习模型对于数据科学家来说可能很困难,而在生产中管理模型可能更加令人生畏。识别模型漂移、通过更新数据集来重新训练模型、提高性能和维护底层技术平台都是重要的数据科学实践。如果没有这些纪律,模型可能会产生错误的结果,从而严重影响业务。开发可用于生产的模型绝非易事。根据机器学习研究,55%的公司没有将模型部署到生产中,40%或更多的公司需要30多天才能部署模型。甚至成功也会带来新的挑战,41%的受访者承认机器学习模型的版本控制和可重复性存在困难。这里的教训是,一旦机器学习模型部署到生产中并用于业务流程,就会出现新的障碍。模型管理和操作曾经是更高级数据科学团队的挑战。现在的任务包括监控生产机器学习模型的漂移、自动重新训练模型、在漂移明显时发送警报,以及确定何时需要升级模型。随着越来越多的组织投资于机器学习,建立模型管理和操作意识变得越来越必要。好消息是,开源MLFlow和DVC等平台和库,以及来自Alteryx、Databricks、Dataiku、SAS、DataRobot、ModelOp等的商业工具,正在使数据科学团队的模型管理和操作变得更加容易.公共云提供商也分享了一些实践,例如AzureMachineLearning提供的MLops。模型管理和devops之间有一些相似之处。许多人将模型管理和操作称为MLops,并将其定义为开发和维护机器学习模型所需的文化、实践和技术。理解模型管理和操作为了更好地理解模型管理和操作,有必要考虑软件开发实践与科学方法的整合。作为软件开发人员,您知道最终确定应用程序的版本并将其部署到生产环境并非易事。而且,一旦应用程序投入生产,更大的挑战就开始了。最终用户期望定期增强,底层基础设施、平台和库需要修补和维护。现在让我们转向科学世界,它的问题也导致多重假设和重复实验。你在科学课上学会了维护这些实验的日志,并能够跟踪从一个实验到下一个实验调整不同变量的进度。实验会带来更好的结果,记录过程有助于让同事放心,您已经探索了所有变量并且结果是可重现的。试验机器学习模型的数据科学家必须结合软件开发和科学研究的学科。机器学习模型是用Python和R等语言开发的软件代码,使用TensorFlow、PyTorch或其他机器学习库构建,在ApacheSpark等平台上运行,并部署在云基础设施上。机器学习模型的开发和支持需要大量的实验和优化,数据科学家必须证明其模型的准确性。与软件开发一样,机器学习模型需要不断维护和增强。其中一些可能来自维护代码、库、平台和基础设施,但数据科学家也必须关注模型漂移。简单地说,当有新数据可用并且机器学习模型提供的预测、聚类、分割和推荐偏离预期结果时,就会发生模型漂移。成功的模型管理始于开发最佳模型我与Alteryx的首席数据和分析官AlanJacobson谈到了组织如何在机器学习模型开发方面取得成功。“为了简化模型开发,大多数数据科学家面临的第一个挑战是如何确保他们有一个强有力的问题陈述。许多复杂的业务问题可以通过非常简单的分析来解决,但这始于数据和分析,将问题构建在一个帮助回答这个问题的方法。即使使用最复杂的模型,过程中最困难的部分通常是构建数据并确保使用的正确输入具有正常质量水平。”我同意Jacobson的观点。太多的数据和技术实施都是从糟糕的或没有问题的陈述开始的,并且没有足够的时间、工具和专业知识来确保足够的数据质量。组织必须首先从问一个关于大数据的聪明问题开始,投资于数据操作,然后使用数据科学中的敏捷方法迭代解决方案。监控机器学习模型的模型漂移获得准确的问题定义对于持续管理和监控生产中的模型至关重要。Jacobson继续解释说:“监控模型是一种重要的过程,但正确地执行它需要对需要监控的内容和潜在的不利影响有充分的了解。虽然大多数人谈论监控模型性能和时间,但在该领域更重要和更具挑战性的是对意外结果的分析。”理解模型漂移和意外结果的一个简单方法是考虑COVID-19对那些使用大流行前训练数据对开发的机器学习模型的影响。基于人类行为、自然语言处理、消费者需求模型或欺诈模式的机器学习模型都受到大流行期间行为变化的影响,这些变化扰乱了人工智能模型。随着越来越多的组织开始获取价值并使他们的数据科学计划成熟,技术提供商正在发布新的MLops功能。例如,SAS引入了一个特征贡献指数,帮助数据科学家评估没有目标变量的模型。Cloudera最近宣布了一项ML监控服务,该服务可捕获技术性能指标并跟踪模型预测。MLops还解决了开发机器学习模型和在生产中对其进行监控之间的自动化和协作,以及使数据科学实践能够扩展的额外工具、流程、协作和功能。一些自动化和基础设施就像devops,包括基础设施即代码和机器学习模型的CI/CD(持续集成/持续部署)。还有一些其他的开发人员功能,例如使用底层训练数据对模型进行版本控制,以及搜索模型存储库。MLops更有趣的一面是为数据科学团队带来科学方法和协作。例如,DataRobot启用了冠军挑战者模型,该模型并行运行多个实验模型来挑战生产版本的准确性。SAS希望帮助数据科学家提高上市速度和数据质量。Alteryx最近推出了AnalyticsHub,以帮助数据科学团队之间的协作和共享。所有这些都表明,管理和扩展机器学习需要更多的纪律和实践,而不是简单地要求数据科学家用Python编写和测试随机森林、k-means或卷积神经网络。
