为什么要在本地计算机上运行ML训练,然后在服务器上运行常规执行?

作者: Roger Morrison
创建日期: 28 九月 2021
更新日期: 1 七月 2024
Anonim
GTC November 2021 Keynote with NVIDIA CEO Jensen Huang
视频: GTC November 2021 Keynote with NVIDIA CEO Jensen Huang

内容

问:

为什么要在本地计算机上运行机器学习(ML)培训,然后在服务器上运行常规执行程序?


A:

如何构建机器学习项目及其训练和测试阶段的问题与我们如何通过机器学习“生命周期”并将程序从培训环境引入生产环境有很大关系。

使用上述模型将ML训练放在本地计算机上,然后将执行转移到基于服务器的系统上,最简单的原因之一就是基本职责分离的好处。通常,您希望隔离训练集,以便清楚了解训练的开始和停止位置以及测试的开始位置。这篇KDNuggets文章以粗略的方式介绍了该原理,同时还介绍了一些其他原因来隔离本地计算机上的训练集。此模型的另一个基本价值主张是,通过在非常不同的体系结构上进行训练和测试集,您永远不会对联合训练/测试分配感到困惑!

另一个有趣的好处与网络安全有关。专家指出,如果您在本地计算机上进行初始培训,则不必将其连接到互联网!这从根本上扩展了安全性,“孵化”过程直到它进入生产环境,然后您必须在其中将足够的安全性构建到服务器模型中。

此外,其中一些“孤立的”模型可能会帮助解决诸如概念漂移和隐藏弊端之类的问题–“非平稳性”原则警告开发人员,数据不会随着时间的流逝而“保持不变”(取决于要测量的内容),并且要使测试阶段与训练阶段匹配可能需要很大的适应性。或者,在某些情况下,培训和测试过程融合在一起,造成混乱。

首次在服务器上部署测试阶段可以简化各种“黑匣子”模型,从而解决数据适应性问题。在某些情况下,它消除了将变更单置于多个平台上的冗余过程。

然后,服务器环境显然也为实时或动态过程提供服务,工程师将在其中希望访问最适合ML生产的数据传输和代码模型。例如,对于处理生产的微功能(或Lambda和S3对象存储的组合)并且没有连接(没有服务器)的情况,AWS Lambda可能是一个有吸引力的选择。

这些是开发人员在考虑如何将培训ML阶段与测试和生产区分开时可能会想到的一些问题。