机器学习和深度学习的区别
深度学习是机器学习中涉及深度神经网络的一个概念。
一般来说,深度学习与传统机器学习的显著区别在于,深度学习可以解决特征工程复杂或难处理的问题(最常见的是结构化数据与非结构化数据)。
假设您想区分鲨鱼和海豚。 如果您有关于动物的表格数据,您将很容易找出重量、长度,也许还有重量与长度的比率是必不可少的信息。 另一方面,如果你有一组图片,你就很难确定哪些像素、形状、颜色等是必不可少的信息。 在这些情况下,首选深度学习,因为“特征工程”留给机器。
可以肯定地说,深度学习模型比传统的机器学习模型更大,并且更倾向于定制。 除此之外,深度学习模型通常与其他深度学习模型协同工作,使模型架构和训练管道更加复杂。
这并不是因为深度学习本身,而是它主要应用于涉及复杂问题的场景,例如:自然语言处理、语音识别、计算机视觉等。
DLOps 与 MLOps
回到原来的话题,DLOps。
首先,机器学习运维 (MLOps) 是用于开发、发布和维护机器学习能力的流程和工具的总称。
那么深度学习模型(与其他模型相比)在开发、发布和维护方面有什么不同吗?
大多数情况下,没有。同样的最佳实践往往适用。对数据、代码和参数的所有内容进行版本控制同样重要,自动化工作流程将产生类似的好处。
然而,深度学习至少在三个领域有其独特之处:
- 数据基础设施:数据处理和管理可能完全不同。大多数数据区域都专注于解决结构化数据中的问题。例如,特征存储(在 MLOps 中非常流行)与深度学习无关。
- 训练基础设施:训练简单的机器学习可以用相对较少的数据在 CPU 上快速完成。另一方面,深度学习涉及大量大文件(例如:图像),因此需要更多的计算能力和时间。
- 模型服务:实时在线推理是服务于许多机器学习模型的常见范式。对于深度学习模型,这种范式要么更难以实现,要么完全无效。例如,人脸识别应该在边缘进行,以确保即使互联网连接不佳也能正常工作。
在为深度学习构建技术堆栈时,您的决定可能与使用传统机器学习的人不同。例如,并行化和 GPU 机器可能与机器学习无关,但它们却有助于从一开始开发深度学习。
另一方面,某些几乎事实上用于传统机器学习(和结构化数据)的技术,例如:AutoML 和 Spark,并没有真正用于开发深度学习模型。
那么有没有足够的差异来正当理由新的术语呢?可能没有,但时间会证明一切。
DLOps 和 Valohai
Valohai 最初是为深度学习而构建的。 我们发现,对于从事深度学习的数据科学家来说,访问计算资源是一个重要的绊脚石。 因此,我们非常重视机器编排。 今天,我们仍然看到灵活利用最强大和最具成本效益的机器对于深度学习场景更有价值。
然而,我们没有将自己定位为 DLOps 平台,而是认为 Valohai 是团队构建自定义模型的最佳平台。 我们强调技术不可知论、机器编排和所有场景自动化。