尽管机器学习系统在多个任务中展现出令人印象深刻的性能,但目前我们仍缺乏可扩展的方法来预测这些系统的成功表现、失败模式以及潜在偏差。这一现状限制了我们在合适的语境中部署这些系统的能力,也阻碍了我们构建能够在高风险环境下可靠运行的系统。 针对这一问题,本论文旨在提出用于构建可预测且可靠的机器学习系统的设计原则。我们的最终目标是让开发者能够明确知道模型何时会发挥作用、何时可能失败,并理解其背后的原因。为实现这一目标,本论文结合了大规模实证实验与理论分析,试图从训练数据(及其收集方式)、学习算法到实际部署,对整个机器学习“流水线”形成精确理解。若这一理解得以完善,我们将能够像建造楼宇或飞机那样构建机器学习系统——具备安全性、可扩展性,并深刻掌握其底层原理。 本论文聚焦于该流程中的四项关键设计决策:模型部署(第一部分)、数据集构建(第二部分)、数据采集(第三部分)以及算法选择(第四部分)。针对每一项设计,我们通过有针对性的实验揭示其背后真正驱动机器学习系统行为的基本原理,并将这些原理提炼为简洁的概念模型,从而既可以解释已有系统的行为,也可指导新系统的设计。在这一过程中,我们也将重新审视、挑战并完善关于机器学习模型开发的若干传统认知。