图书前言

前    言

我在十几岁时,对人工智能产生了浓厚的兴趣。13岁时,我训练了我的第一个人工神经网络。我从零开始,用C和C++实现了简单的训练算法,这是20世纪90年代时探索该领域的唯一方法。此后,我继续学习了计算机科学、数学和心理学,以更好地理解这一庞大主题的基础。当时,机器学习(数据科学这个术语还不存在)的应用方式有时似乎更像魔术,而不是真正的科学或原理工程。

后来,我从学术界转向大公司和初创公司,此后,我一直在构建支持机器学习的系统。Linux等开源项目和当时新兴的Python数据生态系统对我的影响很大。Python数据生态系统提供了NumPy等包,与C或C++相比,这些包使得构建高性能代码更容易。除了开源的技术优势,我还发现围绕这些项目形成了十分创新、充满活力且广受欢迎的领域。

当我在2017年加入Netflix,受命从零开始构建新的机器学习基础设施时,我秉持着3个原则。首先,我们需要对全栈有一个原则性的理解——数据科学和机器学习不是魔术,而需要成为一门真正的工程学科。其次,无论是出于技术角度还是因为其庞大的包容性领域,我都确信Python是新平台的基础。最后,归根结底,数据科学和机器学习是人类使用的工具。使用工具的唯一目的是提高工作效率,成功的工具还可提供令人愉悦的使用体验。

工具是由孕育其诞生的文化塑造的。我创建了开源工具Metaflow后,Netflix的文化对其产生了巨大的影响,该工具后来成为一个强劲的开源项目。Netflix的发展压力确保了Metaflow和我们对整个数据科学堆栈的理解都是基于数据科学家的实际需求。

Netflix给予其数据科学家高度的自主权,而这些数据科学家通常不是经过训练的软件工程师。这使我们要仔细考虑数据科学家在开发项目并最终将其部署到生产中时面临的所有挑战。Netflix的顶尖工程团队已使用云计算超过十年,已充分了解了云计算的优缺点,我们对堆栈的理解也深受他们的影响。

我撰写本书旨在与更多人共享这些经历。无论是开源领域、深有远见又无私共享的个人,还是聪明绝顶的数据科学家,都教会了我很多,我觉得我有义务回馈他们。本书肯定不是我学习旅程的终点,只是一个里程碑。因此,我很期待反馈。不要犹豫,赶快与我联系吧,分享你的经历、想法和反馈!