前言
1913 年,亨利-福特的公司建立了第一条移动装配线,生产出传奇的 T 型车,将每辆车的制造时间从 12 小时缩短到 3 小时。这大大降低了成本,使 T 型车成为历史上第一辆平价汽车。这也使得大规模生产成为可能:很快,T 型车就充斥了道路。
由于现在的生产流程是一连串明确定义的步骤(又称流水线),其中一些步骤可以实现自动化,从而节省更多的时间和金钱。如今,汽车大多由机器制造。
但这不仅仅是时间和金钱的问题。对于许多重复性工作,机器会比人类产生更一致的结果,使最终产品更可预测、更一致、更可靠。最后,通过让人类远离重型机械,安全性大大提高,许多工人继续从事更高级别的工作(不过公平地说,还有许多人只是失去了工作)。
另一方面,建立一条装配线可能是一个漫长而昂贵的过程。而且,如果你想生产小批量或高度定制化的产品,这种方式并不理想。福特有句名言:"任何客户都可以把汽车涂成他想要的任何颜色,只要是黑色就行"。
过去几十年来,汽车制造的历史在软件行业重演:如今,每一个重要的软件通常都是通过 Jenkins 或 Travis 等自动化工具来构建、测试和部署的。然而,T 型车的比喻已经不够充分了。软件不仅仅是部署后就会被遗忘,还必须定期监控、维护和更新。软件管道现在看起来更像是动态循环,而不是静态生产线。能够快速更新软件(或流水线本身)而不损坏软件是至关重要的。而且,软件的可定制性比 T 型车要强得多:软件可以涂上任何颜色(例如,试着数一数 MS Office 的变体数量)。
遗憾的是,"经典 "自动化工具并不适合处理完整的机器学习管道。事实上,机器学习模型并不是一个普通的软件。
首先,它的大部分行为都是由训练数据驱动的。因此,训练数据本身必须被视为代码(例如,版本化)。这是一个相当棘手的问题,因为每天都会有新的数据出现(通常数量很大),通常会随着时间的推移而演变和漂移,通常包括私人数据,而且在将其输入到监督学习算法之前必须对其进行标注。
其次,模型的行为通常很不透明:它可能在某些数据上通过了所有测试,但在另一些数据上却完全失败。因此,您必须确保您的测试涵盖了生产中将使用模型的所有数据域。尤其是,您必须确保它不会歧视您的用户子集。
由于这些(以及其他)原因,数据科学家和软件工程师最初开始 "在自己的车库里 "手动构建和训练 ML 模型,其中许多人现在仍在这样做。但在过去几年里,人们开发出了新的自动化工具来应对 ML 管道的挑战,例如 TensorFlow Extended (TFX) 和 Kubeflow。越来越多的企业开始使用这些工具来创建 ML 管道,从而将构建和训练 ML 模型的大部分(或全部)步骤自动化。这种自动化的好处大多与汽车行业相同:节省时间和金钱;构建更好、更可靠、更安全的模型;将更多时间用于执行更有用的任务,而不是复制数据或盯着学习曲线。然而,建立 ML 管道并非易事。那么,应该从哪里开始呢?
就在这里
在本书中,Hannes 和 Catherine 提供了开始自动化 ML 管道的清晰指南。作为一个坚信实践方法的人,尤其是对于这样一个技术性话题,我特别喜欢这本书从头到尾一步步指导你完成一个具体示例项目的方式。有了大量的代码示例和简洁明了的解释,您应该很快就能建立并运行自己的 ML 管道,并掌握所有必要的概念工具,以便将这些 ML 管道调整到您自己的使用案例中。我强烈建议你拿起笔记本电脑,边读边实际尝试;这样你会学得更快。
我第一次见到 Hannes 和 Catherine 是在 2019 年 10 月于加州圣克拉拉举行的 TensorFlow ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access