学习 AutoML——AutoML 的兴起与现状

0 阅读34分钟

正如你在第 1 章中看到的,自动化机器学习代表了人工智能领域中的一次重要范式转变。本章将追踪 AutoML 经过三个不同代际的发展过程——从早期学术实验,到今天企业级可用的平台——并考察塑造这一领域的底层技术驱动因素、关键创新和有影响力的平台。

AutoML 的核心目标,是加速机器学习模型的开发与部署,使这些强大技术变得更加高效,并且让更广泛的用户能够使用,包括那些可能缺乏深厚数据科学专业能力的领域专家。这种自动化,正是为了解决传统机器学习工作流中固有的复杂性和高资源需求——无论是时间成本,还是专业知识要求。

AutoML 技术的演化经历了几个清晰阶段,每个阶段都体现出重要技术进步,以及对行业需求变化的回应。理解这种演化之后,实践者可以更好理解当前 AutoML 系统的能力与局限,同时也能预判这一快速发展领域的未来方向。图 2-1 在更广泛 AI 背景下,对这一演化过程进行了可视化呈现。

image.png

图 2-1:AI 演化的可视化历史

早期自动化(2010 年前):奠定基础

2010 年以前,是机器学习自动化的萌芽阶段,其特点是出现了一些工具和算法,用于解决更广泛 ML 工作流中的特定、孤立挑战。这个时期并没有提供集成式解决方案,而是专注于为数据科学家日常遇到的离散任务创造算法效率,这些任务往往耗时很长。

特征选择

一个主要关注点是 feature selection,即特征选择。随着数据集维度不断增加,尤其是在生物信息学和金融等领域,减少输入变量数量的方法变得至关重要,因为它可以提升模型性能和可解释性。Forward selection、backward elimination 和 LASSO(Least Absolute Shrinkage and Selection Operator,最小绝对收缩与选择算子)等技术开始流行起来,帮助实践者识别最相关特征,并缓解 “curse of dimensionality”,也就是维度灾难。早期的降维工作也包括 principal component analysis(PCA,主成分分析)等技术,它至今仍然是现代机器学习 pipeline 中的基础预处理步骤。

超参数搜索

早期自动化的另一个领域是 hyperparameter search,即超参数搜索。为机器学习模型找到最优参数配置,也就是那些不是从数据中学习而来的参数,因此称为 “hyperparameters”,过去和现在都是关键步骤。Grid search,即网格搜索,会穷举指定参数值的所有组合;random search,即随机搜索,则会从定义好的空间中随机抽取组合。它们成为早期 ML libraries 中的标准功能,包括 Scikit-learn。虽然这些方法直观,但在复杂模型和大量超参数场景下,往往计算成本高昂且效率低下。

元学习研究

与此同时,meta-learning 研究开始在学术界出现。其核心思想是利用过去解决机器学习任务所获得的经验,加速新任务,尤其是相关任务,的配置和训练过程。早期研究通常使用 benchmark datasets,探索关于不同数据类型上算法表现的知识,如何指导未来的模型选择或超参数设置。这些研究为后续 AutoML 系统中更复杂的 meta-learning 技术奠定了概念基础。

早期方法的局限

尽管这些单独工具和技术很有用,但它们的影响受到碎片化本质的限制。Feature selection algorithms、hyperparameter search routines 和 meta-learning concepts 都作为独立组件存在,需要熟练的数据科学家手动集成。没有统一框架或工作流可以自动化这些步骤。这个阶段主要聚焦于为 ML 流程中具体、已知的痛点开发算法解决方案,其驱动力既来自学术研究,也来自处理越来越复杂数据的实践需求。它为下一代 AutoML 铺平了道路,而下一代的重点将转向把这些分散组件整合成更连贯的系统。

第一代(2010–2015):解决 CASH 问题

2010 到 2015 年间,机器学习自动化出现了关键转变:它不再只是自动化离散任务,而是开始开发第一批集成 ML pipeline 多个阶段的系统。这一时期标志着现代 AutoML 在概念上的诞生,其特点是将 algorithm selection 和 hyperparameter optimization(HPO)统一到一个自动化过程中。

推动这一代发展的关键创新,是 Combined Algorithm Selection and Hyperparameter Optimization(CASH)问题的提出和解决。该方法认识到:最佳机器学习算法的选择,以及其超参数调优,是相互依赖的问题,应当联合求解,才能获得最优性能。几种开创性工具出现,证明了这种集成方法的可行性。

Auto-WEKA(2013)

Auto-WEKA 由 University of British Columbia 和 University of Freiburg 的研究人员开发,被广泛认为是第一个明确在单一框架中处理完整 CASH 问题的系统。它运行在流行的 WEKA(Waikato Environment for Knowledge Analysis)机器学习库之上,这是一个基于 Java 的数据挖掘和分析工具套件。

Auto-WEKA 使用 Bayesian optimization 技术,特别是 Sequential Model-based Algorithm Configuration(SMAC),来探索复杂搜索空间。这个搜索空间包括 WEKA 中可用的不同算法及其各自超参数。相比传统 grid search 方法,该方法提供了几个关键优势:

  • 它将算法选择和超参数调优视为统一优化问题。
  • 它使用对性能地形的复杂建模,更高效地引导搜索。
  • 它能够处理 categorical variables,例如算法选择,也能处理 continuous variables,例如超参数值。
  • 它能在 exploration,即尝试新配置,和 exploitation,即优化有前景配置,之间作出智能取舍。

在实践中,Auto-WEKA 允许用户指定数据集和要优化的指标,例如分类准确率,然后系统会自动探索预处理方法、学习算法和参数设置的组合,以最大化性能。实证评估表明,相比默认配置或非专家手动调优,它能取得更优结果,同时显著减少人工投入。

Auto-WEKA 对单指标优化的依赖,也预示了现代 AI 系统中类似问题的挑战。原作者记录了一些案例,其中 “Auto-WEKA 的 SMBO [Sequential Model-Based Optimization] 方法选择了训练表现极好的超参数,但最终泛化表现很差。” 为缓解这一问题,他们实现了 70/30 的训练—验证集划分,用于检测过拟合。不过他们也指出,“Auto-WEKA 在交叉验证性能上的提升仍然大于测试数据上的提升”,这暗示了持续存在的 metric-gaming 行为。

现代 AutoML 工具已经显著演进,以应对这种过拟合风险,采用了 validation loss 上的 early stopping、跨多个 folds 平均预测的 cross-validation ensembles,以及 automated holdout validation 等技术。这些方法显著降低了早期系统的脆弱性。这种在优化指定目标和实现真实泛化之间的张力,与当代强化学习中关于 reward hacking 的讨论相呼应:系统会学习利用指标漏洞,而不是发展稳健能力。这个教训影响深远:后续 AutoML 系统越来越多采用 multi-objective optimization 和 ensemble-based approaches,以降低这种脆弱性。

虽然 Auto-WEKA 具有开创性,但它对 Java-based WEKA library 的依赖,以及潜在可扩展性限制,也受到关注。其计算效率也受到顺序优化方法和 WEKA 框架开销的挑战。

Hyperopt(2013)

几乎同时出现的 Hyperopt,是一个强大的 Python library,用于优化复杂搜索空间,尤其适合涉及条件参数的场景,而这种参数结构在机器学习算法配置中非常常见。它引入了 Tree of Parzen Estimators(TPE)算法,这是另一种有效的 Bayesian optimization 策略。

Hyperopt 的关键特性包括:

  • 用于定义复杂、层级化参数空间的灵活框架
  • 支持条件参数,即某些参数只有在其他参数取特定值时才有意义
  • 能够将优化分布到多个 cores 或 machines 上执行
  • 与多种机器学习框架和库集成

Hyperopt 在 Python 科学计算社区获得了显著关注,尤其是通过 hyperopt-sklearn 项目得到应用,该项目将 Hyperopt 的优化能力与广泛使用的 Scikit-learn 库结合起来。对比研究表明,Hyperopt 相比简单 grid search 和 random search 方法,在效率和最终模型准确率方面都有优势。

NOTE

值得注意的是,虽然 Hyperopt 对在 Python 中建立 Bayesian HPO 影响很大,但 Optuna(2019 年发布)后来已经成为生产环境中超参数优化的事实标准。Optuna 提供了更现代的 API、define-by-run search spaces、高效 pruning 策略,以及更好的 deep learning framework 集成。今天开始新项目的实践者,应当将 Optuna 与 Hyperopt 一起评估,甚至优先考虑 Optuna。

Hyperopt 的影响超出了直接应用场景。它提供的是通用优化框架,而不是专门 AutoML 解决方案,因此使实践者可以将高级优化技术应用到广泛问题上,推动了该领域的创新和实验。

SMAC(Sequential Model-Based Algorithm Configuration)

虽然 SMAC 与 Auto-WEKA 密切相关,但它本身也是这一时期的重要贡献。作为一种 Bayesian optimization 方法,SMAC 通常利用 random forest models 来建模性能地形,在 CASH 问题中常见的高维、结构化且通常离散的搜索空间上表现出色。它在 Auto-WEKA 中的成功,使其在后续工具中得到采用和进一步发展,例如 Auto-sklearn 中的 SMAC3。

SMAC 的鲜明特征包括:

  • 使用 random forests 建模性能地形,使其对 objective function 中的不规则性更稳健。
  • 有效处理 algorithm selection 中常见的 categorical parameters。
  • 使用 intensification mechanism,将更多评估资源分配给有前景的配置。
  • 支持提前终止表现较差的配置,从而提升效率。

SMAC 的重要性不仅在于它在 AutoML 中的应用,也在于它为复杂混合参数空间中的高效优化方法奠定了基础,而这种问题是机器学习自动化多个方面的根本问题。

第一代的影响与遗产

第一代 AutoML 深受学术研究和 ML 竞赛兴起的影响。CodaLab 等平台托管了与 NeurIPS 和 ICML 等重要会议相关的挑战,为这些早期 AutoML 系统的基准测试和优化提供了重要试验场。这些挑战不仅推动了创新,也促进了开源解决方案的发展,而这些解决方案后来成为后续进展的基础。

这一时期的一个关键结论是:Bayesian optimization,特别是 SMAC 和 TPE 等方法,成为解决 CASH 问题的主导技术路径。相比过去的 brute-force 或 random search 方法,这是重大进步。此外,Auto-WEKA(Java / WEKA)和 Hyperopt / hyperopt-sklearn(Python / Scikit-learn)的出现,也体现了不同技术生态系统之间的早期分化。这种模式今天仍以多种形式存在。第一代成功证明了 integrated AutoML 的概念,主要是在学术和研究语境中,并发展出支撑许多当代系统的核心优化机制。表 2-1 列出了第一代工具。

表 2-1:第一代 AutoML 工具(2010–2015)

Tool NameKey Technique(s)Underlying Library / LanguageEase of UsePerformanceScalabilityIntegrationOpennessPrimary Focus
Auto-WEKABayesian optimization(SMAC)、CASH formulationWEKA / Java★★☆☆☆★★★☆☆★★☆☆☆★★☆☆☆★★★★★Combined algorithm selection & HPO
HyperoptBayesian optimization(TPE)Python(used with Scikit-learn)★★★☆☆★★★☆☆★★★☆☆★★★★☆★★★★★General hyperparameter optimization
SMACBayesian optimization(random forest–based)Language agnostic★★☆☆☆★★★★☆★★★☆☆★★★☆☆★★★★★Algorithm configuration(CASH)

第二代(2015–2020):解决可用性和企业化问题

第二代 AutoML 大约覆盖 2015 到 2020 年,标志着从学术原型向更稳健、更易访问、面向企业的解决方案的重要转变。这个阶段由计算能力提升、云计算基础设施成熟,以及行业对实用 AI 应用需求增长共同催化。AutoML 开始走出研究实验室,进入更广泛实践者手中,目标是民主化那些过去只属于专家的能力。

这一时期出现并流行了多个有影响力的 AutoML 框架,技术路径更加多样化,也服务于不同用户需求。

Auto-sklearn(2015)

Auto-sklearn 直接建立在流行 Python 库 Scikit-learn 之上,代表该生态中的重要进步。它扩展了 Auto-WEKA 开创的 CASH 问题求解方法,使用更新版本的 Bayesian optimization,即 SMAC3。Auto-sklearn 为该领域带来了几项重要创新:

Meta-learning capabilities:Auto-sklearn 整合了复杂的 meta-learning,利用大量先前数据集上的性能数据,为新任务 “warm-start” 优化过程,从而提升效率。当面对一个新数据集时,系统会从其 meta-learning database 中识别相似数据集,并优先考虑在这些相似问题上表现好的算法和配置。

Automated ensemble construction:系统会从搜索过程中识别出的最佳单模型中自动构建 ensemble models,通常可以提升稳健性和准确率。这种 ensemble 方法组合了多样化模型类型,相比任何单一模型通常能取得更优性能。

Comprehensive preprocessing support:Auto-sklearn 集成自动化预处理步骤,包括 missing values imputation、categorical features encoding 和 numeric variables normalization,从而形成更完整的端到端自动化。

它的开源属性和强表现,使其成为受欢迎的 benchmark 和工具,并在欧洲电信和物流公司中找到应用。Auto-sklearn 在标准 benchmarks 上持续展示 state-of-the-art 性能,往往匹配甚至超过专家设计 pipeline 的能力。

NOTE

Auto-sklearn 2.0 的开发已经基本停滞,上一次重要更新是在 2022 年。虽然它仍然是理解 AutoML 概念和处理简单 use cases 的可靠选择,但构建生产系统的实践者应考虑 AutoGluon 或 FLAML 作为活跃维护的替代方案,因为它们拥有更强社区支持和更新特性。

PyCaret(2020)

PyCaret 成为 AutoML 生态中的重要补充,强调极简和可访问性。它在 GitHub 上拥有超过九千 stars,已成为快速原型开发和教育场景中采用最广泛的开源 AutoML 库之一。

PyCaret 的关键特性包括:

Three-line API:PyCaret 的标志性特征是极其简单的工作流:

from pycaret.classification import setup, compare_models, finalize_model
setup(data, target='label')         # Automatic preprocessing
best_model = compare_models()       # Train and compare 15+ algorithms
final = finalize_model(best_model)  # Train on full dataset

Comprehensive model comparison:一次 compare_models() 调用即可训练和评估 15 个以上算法,生成按交叉验证分数排序的 leaderboard。使用其他框架通常需要大量样板代码才能实现类似功能。

Low-code philosophy:PyCaret 抽象掉几乎所有复杂性,使拥有最少 Python 经验的分析师和领域专家也能使用,同时仍然可以为高级用户扩展。

Educational value:该库会透明展示预处理步骤和模型对比,因此是理解 AutoML 工作流的优秀学习工具。

PyCaret 直接与 Auto-sklearn 和 TPOT 竞争,但在快速原型开发、hackathons 和教育场景这些目标 use cases 上,提供了显著更好的可用性。它在数据科学教育项目以及从业务分析转向 ML 的人群中尤其受欢迎。

TPOT(Tree-Based Pipeline Optimization Tool)(2016)

TPOT 由 University of Pennsylvania 的 Epistasis Lab 开发,引入了一种根本不同的优化范式:genetic programming。它不是为固定模型结构优化超参数,而是演化整个机器学习 pipeline,包括数据预处理步骤和模型选择,这些 pipeline 被表示为树结构。

TPOT 的关键特性包括:

Evolutionary pipeline design:TPOT 会根据 pipeline components 的表现,迭代组合和突变这些组件,模拟自然选择。该方法使它能够发现复杂、多步骤 pipelines,而这些 pipelines 可能并不容易被人类实践者想到。

End-to-end optimization:Genetic programming 方法不仅优化 algorithm selection 和 hyperparameters,也优化完整 workflow,包括 preprocessing steps 及其顺序。

Python code export:TPOT 在医疗数据分析领域尤其受欢迎,部分原因是它可以将优化后的 pipeline 导出为人类可读 Python code,使用与 Scikit-learn 兼容的组件,从而增强 interpretability 和教育价值。这个功能允许用户理解、修改并将发现的 pipelines 集成到更大系统中。

Customizable objectives:系统支持优化 accuracy 之外的多种目标,包括用于 imbalanced data 的 balanced accuracy,以及 custom scoring functions。

虽然 TPOT 很强大,但相比一些替代方案,其 genetic search 可能计算密集,尤其是在大数据集或复杂搜索空间中。TPOT 在较新的 1.x releases 中持续演进。其 evolutionary search 在 pipeline discovery 上仍然有用,但在大搜索空间中依旧相对计算密集。

H2O AutoML

H2O.ai 提供的这个平台明确面向企业需求设计。它提供可扩展且快速的 AutoML 解决方案,同时支持 R 和 Python interfaces。H2O AutoML 是首批专门为企业部署场景而非学术研究设计的 AutoML 框架之一。

H2O AutoML 的关键优势包括:

Enterprise focus:该平台优先考虑业务环境中的重要特性,包括可扩展性、与大数据平台集成、安全性和治理能力。

Strong interpretability tools:H2O AutoML 提供稳健的模型解释和透明性工具,包括 model leaderboards、variable importance measures 和 partial dependence plots,回应了业务采用中的关键关切。

Data type detection:H2O AutoML 会自动检测输入数据集中的 data types,减少其他 AutoML 系统通常需要的手动预处理步骤。

它提供了一定自动数据类型检测能力,相比 TPOT 等需要更显式数据准备的工具,简化了初始数据处理。

Stacked ensembles:H2O AutoML 生成 stacked ensembles。这是一种技术,会将多个多样化模型,即 “base learners” 的预测结果组合起来,通过训练一个 “meta-model” 学习如何以最优方式加权每个 base model 的贡献。这通常比任何单一模型都能产生更稳健的预测。对数学基础感兴趣的读者,我们将在后续章节更深入讨论 ensemble methods。

从技术上看,H2O AutoML 主要使用 random search 进行超参数探索,而不是其他框架中常见的 Bayesian optimization。不过,这种 random search 会与复杂的 early stopping mechanisms 和 intelligent resource allocation strategies 结合,使其在实践中非常有竞争力:如果实验没有展现出前景,就会被提前终止,从而允许在给定时间预算内探索更多配置。虽然理论上效率较低,但这种方法在并行化和简洁性方面有实际优势。它对企业实际需求的关注,使其在金融科技和零售等高要求行业获得采用。

NOTE

同样值得注意的是,H2O.ai 已经显著扩展了其关注范围,不再局限于传统 AutoML。该公司现在提供 H2O LLM Studio,用于 fine-tuning large language models,并且大力投入生成式 AI 能力,这反映了整个行业向 foundation models 的转向。

Google Cloud AutoML(现为 Vertex AI 的一部分)

Google 进入 AutoML 领域时,充分利用了其云平台的能力和可扩展性。

NOTE

Google 后来已经弃用独立的 Cloud AutoML 产品,例如 AutoML Vision、AutoML Natural Language、AutoML Tables,转而采用统一的 Vertex AI 平台。迁移截止日期已经过去,这些产品不再作为独立服务提供。下面讨论反映的是这些工具的历史重要性;实践者在当前实现中应使用 Vertex AI。

原始 Cloud AutoML 提供针对特定数据类型的独立、用户友好工具:AutoML Vision、AutoML Natural Language 和 AutoML Tables。这种领域特定方法,与 Auto-sklearn 或 TPOT 等通用框架代表的是不同哲学。

其一个关键差异化点,是强调易用性,提供需要极少编码的图形界面,使没有深厚 ML 专业知识的用户也能使用。在底层,Google Cloud AutoML 使用复杂技术,包括 neural architecture search(NAS),尤其是在 Vision 和 NLP 产品中。这些方法自动化了神经网络架构设计,将自动化从传统 ML 算法扩展到深度学习。

Google 的云集成带来了几个优势:

Seamless scalability:平台可以利用 Google 云基础设施处理海量数据集和复杂模型。

Managed infrastructure:用户不需要配置或维护自己的计算资源,降低了进入门槛。

Integration with Google’s ecosystem:这些工具可以与 Google Cloud 的其他数据存储、处理和部署服务连接。

它的可访问性和领域特定聚焦推动了广泛采用,尤其是在媒体和营销分析领域,非技术团队可以在不需要专业技能的情况下利用复杂 ML 能力。

第二代的影响与遗产

第二代在几个重要方面根本改变了 AutoML 格局:

Diversification of optimization techniques:该领域不再只依赖 Bayesian 方法,而是引入 genetic programming(TPOT)、stacked ensembles(H2O)和 neural architecture search(Google),为用户提供更多选择,以适配不同问题类型和计算约束。

Usability focus:用户体验和可访问性成为重要重点,工具提供更好文档、更简化界面,并与流行数据科学环境集成。

Scalability and enterprise features:框架开始回应生产规模问题,例如处理大数据集、满足企业安全要求,以及与业务系统集成。

Cloud integration:云平台在这一转变中发挥了不可或缺的作用,提供必要计算资源、托管基础设施和可访问界面,降低了许多组织的进入门槛。

这些因素共同推动 AutoML 从主要学术探索,变成更广泛行业应用中的可行工具。组织开始把 AutoML 集成到自己的数据科学工作流中,通常用于快速原型开发,或者处理那些 “long tail” ML 问题,也就是不值得投入专门数据科学资源的问题。表 2-2 对这一代 AutoML 平台进行了比较。

表 2-2:第二代 AutoML 平台(2015–2020)

Tool NameKey Technique(s)Base Platform / LibraryEase of UsePerformanceScalabilityIntegrationOpennessTarget Use Case / Industry
Auto-sklearnBayesian optimization(SMAC3)、meta-learning、ensemblesScikit-learn / Python★★★☆☆★★★★☆★★★☆☆★★★☆☆★★★★★General ML tasks、telecoms、logistics
TPOTGenetic programmingScikit-learn / Python★★★☆☆★★★★☆★★☆☆☆★★★☆☆★★★★★General ML tasks、healthcare(interpretability focus)
H2O AutoMLRandom search、stacked ensemblesH2O / Java(R / Python API)★★★★☆★★★★☆★★★★☆★★★★☆★★★★☆Fintech、retail、big data scenarios
Google Cloud AutoMLNeural architecture search(NAS)、various(per tool)Google Cloud Platform★★★★★★★★★☆★★★★★★★★☆☆★☆☆☆☆Media、marketing、cloud native applications

第三代(2020 至今):解决多模态和 MLOps 问题

当前的第三代 AutoML 技术,大约在 2020 年左右出现,代表了复杂度和范围上的显著跃迁。这些现代系统远远超出了早期定义 AutoML 的核心任务,即 hyperparameter optimization 和 model selection。它们旨在自动化并集成机器学习生命周期中更大的部分,处理越来越复杂和多样化的数据类型,并无缝嵌入企业 MLOps(Machine Learning Operations)生态系统。几个领先系统体现了这一代的能力。

AutoGluon(Amazon)

AutoGluon 是 Amazon 开发的开源库,凭借强大的开箱即用表现和多功能性迅速受到关注。AutoGluon 在多个维度上代表了重要进步:

Multimodal data support:它的关键差异化点,是对 multimodal data 的稳健支持,可以在一个预测任务中有效处理包含 tabular、image 和 text features 组合的数据集。这种能力解决了早期 AutoML 系统的一个根本限制,因为后者通常只聚焦单一数据类型。

Advanced ensembling techniques:AutoGluon 通过复杂 ensemble 技术实现了令人印象深刻的表现,特别是 novel multilayer stacking 方法,它组合来自多样 base models 的预测,包括用于 text 和 images 的 deep learning models,以及经典 tabular models。

Deep learning focus:不同于许多早期 AutoML 工具主要关注传统 ML 算法,AutoGluon 强调 deep learning applications,尤其是 text 和 image modalities。

Simplicity and accessibility:该框架强调易用性,用户只需很少代码,通常只是几行,就能训练高性能模型,并达到 state-of-the-art 结果。

AutoGluon 已经在多个领域得到采用,包括 ecommerce,例如 recommendations 和 fraud detection、insurance underwriting,以及 customer churn modeling。教程常用 PetFinder 等数据集展示其 multimodal 能力,该数据集包含 images、text descriptions 和 tabular data。

Google Vertex AI

Vertex AI 代表 Google Cloud AutoML 的演进,是一个全面、统一的 MLOps 平台。它集成了面向多种数据类型的 AutoML 能力,包括 Tables、Vision、NLP,同时提供 custom model training、managed datasets、feature stores、experiment tracking、model registry、prediction endpoints 和 pipeline orchestration 等工具。

Vertex AI 的关键进步包括:

End-to-end MLOps integration:这种集成方法支持真正端到端 ML workflows,从数据摄取到生产监控。Vertex AI 体现了一个趋势:AutoML 不再被视为独立工具,而是更广泛 MLOps 生态的一部分。

Multimodal learning support:Vertex AI 明确支持 multimodal learning,使用户能够构建结合不同数据源洞察的系统,例如同时利用文本描述和图像 embeddings 进行产品搜索。

Foundation model integration:近期更新已经纳入 foundation models 的访问能力,例如用于 proprietary applications 的 Gemini,或用于 open source deployments 的 Gemma。这些模型可以在 AutoML workflows 中进行 fine-tuning,或作为 feature extractors 使用,从而连接传统 ML 自动化与现代 foundation model 能力。

Enterprise-grade governance:该平台提供强大的 model governance、lineage tracking 和 version control,回应企业在负责任 AI 部署方面日益增长的关切。

Vertex AI 的广泛适用性,使其适合物流、能源、零售等多个行业。与早期 Google 产品类似,Vertex AI 利用 Google Cloud 的规模和基础设施,但以更集成、端到端的视角看待 ML 开发和部署。

MLJAR 和 AWS SageMaker Autopilot

这些工具体现了 AutoML 向 low-code 和 no-code interfaces 发展的趋势。MLJAR 最初是商业服务,现在也作为开源平台可用,提供针对不同用户目标的操作模式,例如 “Explain” 用于 interpretability,“Compete” 用于最大化 accuracy。它真正差异化的功能是 MLJAR 专用的 fairness module,可以自动检测模型预测中针对受保护属性,例如 gender、race、age 等的潜在 bias,并提供 mitigation recommendations。这直接回应了第 1 章中讨论的 ethical AI concerns,使 MLJAR 对于在受监管行业或公平性至关重要的场景中部署模型的组织尤其有价值。Fairness module 会生成报告,展示 disparate impact ratios、equal opportunity metrics 和 demographic parity analysis,而这些能力在其他 AutoML frameworks 中通常需要单独工具。

AWS SageMaker Autopilot 在 AWS 生态中提供自动化解决方案,具备以下特点:

Code generation:Autopilot 不仅构建模型,还会生成用户可以检查、修改和学习的 Python 代码。

Transparency:系统提供详细 notebooks,解释其 preprocessing、feature engineering 和 model selection 决策。

Integration:Autopilot 与更广泛的 SageMaker 生态紧密耦合,支持部署、监控和生命周期管理。

这类工具进一步降低了进入门槛,让 AutoML 可被 business analysts、educators、small businesses 和 agile enterprise teams 使用,即使他们缺乏大量编码技能。

第三代关键能力

除了具体工具之外,第三代的定义性特征,是几种高级能力越来越主流。

Multimodal learning

能够原生处理并融合来自多种数据类型的信息,例如 tabular、text、image,潜在还包括 audio / video,是 AutoGluon 和 Vertex AI 等现代系统的标志。这非常关键,因为现实世界问题很少只涉及单一类型数据。技术方法包括:

Specialized encoders:为不同数据类型使用优化架构,例如 text 使用 Transformers,images 使用 CNNs / Vision Transformers。

Fusion mechanisms:使用复杂技术组合不同 modalities 的信息。

Representation learning:自动学习跨数据类型的 joint representations。

Transfer learning:利用每种 modality 的 pretrained models,并针对具体任务进行 fine-tuning。

这种 multimodal 能力使 AutoML 对复杂现实问题的适用性发生了阶段性变化,因为现实问题中的信息常常分布在不同格式和来源中。

Explainability integration(XAI)

认识到 transparency 的关键需求后,第三代工具越来越多地将 XAI 技术直接嵌入 workflow。SHAP(SHapley Additive exPlanations)和 LIME(Local Interpretable Model-agnostic Explanations)等方法常用于提供 global feature importance scores,以及针对单个 predictions 的 local explanations。

除了 SHAP 和 LIME 这种事后解释单个预测的方法,还有一种更有雄心的方法称为 mechanistic interpretability,目标是从根本层面理解模型如何计算输出。Anthropic 的 interpretability team 开创了一些技术,使用 sparse autoencoders 将神经网络分解为可解释的 “features”,也就是与人类可理解概念对应的 activation patterns,例如 “legal language”、“DNA sequences” 或 “sarcasm”。2024 年,他们在 Claude Sonnet 上展示了这一方法,识别出数百万个不同概念,并表明这些 features 可以被人为放大或抑制,从而可预测地引导模型行为。虽然这项工作主要聚焦大语言模型,而不是传统 ML,但这些技术最终可能为自动化系统提供更严格的安全保证。随着 AutoML 越来越多集成 deep learning components,这一发展值得持续关注。

这种集成服务于多个目的:

Building user trust:帮助用户理解并信任模型决策。

Debugging and improvement:支持更有效的模型 debugging 和 refinement。

Regulatory compliance:满足越来越多对模型透明性的监管要求。

Ethical AI:支持对模型行为进行伦理评估和 bias detection。

平台通常会生成自动化 interpretability reports 或 dashboards,让 explanation 成为 AutoML workflow 的标准部分,而不是可选附加功能。

MLOps integration

现代 AutoML 不再是独立流程,而是更广泛 MLOps 生命周期的组成部分。AutoML pipelines 被设计为与 CI/CD(Continuous Integration / Continuous Deployment)实践、version control systems,例如 GitOps、用于管理可复用 features 的 feature stores,以及用于追踪生产环境模型性能和 drift 的 monitoring tools 集成。

这种集成回应了几个关键挑战:

Deployment gap:减少模型开发和生产部署之间的摩擦。

Governance:支持 model governance、versioning 和 compliance requirements。

Monitoring:支持持续 performance tracking 和 drift detection。

Retraining:当性能退化时,促进 automated retraining。

Vertex AI 等平台体现了这一趋势,它们提供统一环境,用于管理从数据到已部署、已监控模型的完整旅程。

Neural architecture search(NAS)

NAS 仍然是核心研究领域,也是高级 AutoML 系统的重要组件,尤其是面向 deep learning 的系统,例如 NNI 和云平台。目标仍然是为特定任务自动发现最优 neural network structures。

截至今天,研究方向似乎集中在:

Search efficiency:提高搜索过程的效率和效果,在 exploration 和 exploitation 之间取得平衡。

Performance estimation:开发更好的架构性能估计策略,不需要完整训练即可估计,从而减少昂贵 full training runs 的需求。

Hardware-aware NAS:不仅针对 accuracy 优化 architectures,也针对 deployment constraints 优化,例如 latency 和 memory usage。

Specialized architectures:发现针对特定 domains 和 data types 优化的 architectures。

AutoML 成熟为能够处理 multimodal data 并与 MLOps 无缝集成的端到端平台,意味着重大转变。当前重点是为复杂现实企业问题提供实用、可扩展、可治理的 AI 解决方案,远远超出了最初只是自动化 model selection 和 tuning 的目标。XAI 的纳入和 low-code interfaces 的可用性,也进一步增强了这些强大技术的实用性和可访问性。表 2-3 列出了这一代工具。

表 2-3:第三代 AutoML 工具(2020 至今)

Tool / Platform NameKey Technique(s)Primary ApproachEase of UsePerformanceScalabilityIntegrationOpennessKey Strengths
AutoGluonMultimodal learning、advanced ensemblingOpen source library★★★★☆★★★★★★★★★☆★★★★☆★★★★★Multimodal data handling、superior tabular performance
NNINAS、HPO、model compressionOpen source toolkit★★☆☆☆★★★★☆★★★☆☆★★★★☆★★★★★Experimentation flexibility、neural architecture optimization
Vertex AIUnified MLOps、integrated AutoMLCloud Platform(GCP)★★★★★★★★★☆★★★★★★★★★★★☆☆☆☆End-to-end MLOps、enterprise governance
MLJARLow-code interface、fairness moduleOpen source platform★★★★★★★★☆☆★★★☆☆★★★☆☆★★★★★Explainability、fairness assessment
SageMaker AutopilotCode generation、transparencyAWS Cloud Service★★★★☆★★★★☆★★★★★★★★★★★☆☆☆☆AWS ecosystem integration、model transparency

LLM 辅助 AutoML 的出现

最近一个重要发展,是通过与 large language models(LLMs)集成,扩展 AutoML 能力。这些系统并不是替代传统 AutoML,而是使用 LLMs 作为 orchestration layer,解释自然语言任务描述,并协调已有 ML 工具。

AutoML-GPT 展示了 LLMs 可以通过对话界面自动化完整 ML pipeline:从理解数据集特征,到选择合适模型和调优超参数。用户用普通英语描述问题,系统会将这些描述转换为可执行 ML workflows。

CAAFE 在 NeurIPS 上提出了 “Context-Aware Automated Feature Engineering”,其中 LLMs 通过理解 tabular data columns 的语义上下文,生成有意义特征,而这是传统 feature engineering 方法难以做到的。

NOTE

实践者应该意识到一个重要实际限制:对于大数据集,CAAFE 的 LLM API 成本可能超过传统 feature engineering 的计算成本。每个列名和样本都需要 LLM inference;对于拥有数百 features 或数百万 rows 的数据集,这些 API calls 会迅速积累。对于大规模应用,LLM-assisted feature engineering 的经济性可能更有利于传统方法,或需要仔细成本收益分析。

AutoM3L 将这一范式扩展到 multimodal data,使用 LLMs 推断数据 modalities、跨 modalities 进行 feature engineering,并组装合适 processing pipelines,而无需用户理解底层技术复杂性。

这些发展代表一种潜在范式转变:过去 AutoML 通过把复杂性隐藏在自动化搜索背后来民主化 ML,而 LLM-assisted tools 则通过让用户以自然语言与 ML process 本身交互来实现民主化。不过,仍有挑战存在,例如 “circular dependency” 问题:用户可能仍然需要足够的 ML 词汇,才能有效描述自己的问题。对实践者来说,这种新兴能力直接连接到第 1 章讨论的未来趋势: “构建 ML 系统” 和 “提示 AI assistants” 之间的边界正在持续模糊。

小结

AutoML 跨越三代的演化,代表了一段从专门学术工具到全面企业平台的非凡旅程。这一进程的特征是范围不断扩大、可访问性增强,并与更广泛机器学习生态系统深度集成。

第一代(2010–2015)建立了将算法选择和超参数调优作为统一优化问题进行自动化的基础概念。Auto-WEKA、Hyperopt 和 SMAC 等工具证明了这种方法的可行性,并引入了至今仍有影响力的强大 Bayesian optimization 技术。

第二代(2015–2020)将 AutoML 带入主流,Auto-sklearn、TPOT、H2O AutoML 和 Google Cloud AutoML 等框架提供了更稳健、更用户友好的解决方案,并开始在企业环境中获得牵引力。这一时期技术路径显著多样化,从 meta-learning 和 genetic programming,到 neural architecture search 和 ensemble methods。

当前第三代(2020 至今)已经扩展 AutoML 的范围,以支持端到端机器学习 workflows、multimodal data 和 seamless MLOps integration。AutoGluon、NNI 和 Vertex AI 等系统体现了这种更宽广视角,提供复杂能力,用于处理多样数据类型,并支持从开发到部署与监控的完整生命周期。

展望未来,有几个趋势指向 AutoML 的未来发展方向:

Foundation model integration:AutoML 与 foundation models,例如 large language models 和 multimodal models,之间越来越紧密耦合。

Sophisticated XAI:更高级的 explainability 技术,用于回应对可解释 AI 日益增长的需求。

Further democratization:继续强调通过 natural language interfaces 和 low-code / no-code platforms 提升可访问性。

Specialized vertical solutions:面向特定行业和 use cases 优化的领域专用 AutoML 解决方案。

AutoML 版图仍在快速演化,每一代都建立在前一代能力之上,并进一步扩展。随着这些技术成熟,它们承诺让复杂机器学习能力变得更易获得、更高效、更实用,服务于越来越多样化的用户和应用。从早期学术实验到企业级平台的旅程,不仅体现技术进步,也体现了 AI 更广泛的民主化,对未来几年组织如何利用数据与分析产生重要影响。

当我们追踪 AutoML 从早期起步,到今天复杂的多模态、MLOps 集成平台的演进时,我们反复遇到 hyperparameter optimization 这个基础组件,见图 2-2。这一关键能力存在于最早的 AutoML 系统中,并且至今仍是最先进现代工具的核心。

image.png

图 2-2:当前优化方法集合

下一章中,我们将介绍 hyperparameter optimization(HPO),并回答几个基础问题:

不同 HPO 算法如何平衡 exploration 和 exploitation?
我们将考察 Bayesian optimization、evolutionary algorithms 和 multifidelity approaches 的数学基础,并比较它们在不同问题类型上的效率和效果。

为什么 hyperparameter optimization 在 deep learning 场景中特别具有挑战?
我们将探索优化 neural network hyperparameters 的独特挑战,包括搜索空间的高维性、参数之间的复杂交互,以及评估的高计算成本。

如何把 domain knowledge 纳入 HPO 过程?
我们将研究把 prior knowledge、constraints 和 domain-specific insights 纳入优化流程的技术,以提升效率。

不同 HPO 方法之间有哪些实际取舍?
我们将根据计算资源、问题特征和准确率需求,提供关于选择和配置 HPO 方法的实用指导。

在 foundation models 语境下,HPO 正在如何演化?
我们将考察高效 fine-tuning 大型预训练模型的新方法,因为传统 HPO 方法在这里可能成本过高。

这个交叉点揭示了该领域的一种根本张力。一方面,foundation models 能力如此强大,以至于有人认为它们会减少对传统 AutoML 的需求:既然可以直接 prompt 一个通用模型,为什么还要搜索最优 pipeline?组织越来越发现,精心设计 prompts 或轻量 fine-tuning,就能达到过去需要大量 model selection 和 hyperparameter optimization 才能实现的结果。

另一方面,也有人认为,在 foundation model 时代,AutoML 变得更加必要:高效 fine-tuning 大模型、从不断扩展的 base models 选择合适模型、优化 inference costs,以及自动化新兴的 “prompt engineering” 实践,都需要系统化搜索和优化。让 AutoML 成功的那些技术,例如 Bayesian optimization、meta-learning、高效搜索策略,仍然有价值;它们只是运行在不同抽象层级上。

可能的解决方向不是替代,而是整合:传统 AutoML 用于 structured data 和 foundation models 表现较弱的 specialized domains;LLM-assisted AutoML 用于提升可访问性和自然语言交互;而 AutoML 技术则应用于 foundation model selection 和 optimization。随着这些范式汇合,该领域仍在持续演化。

通过理解 hyperparameter optimization 的细微之处,也就是 AutoML 中可能最成熟、最基础的组件,实践者将获得适用于整个 AutoML workflow 的洞察。下一章将提供理论理解和实践技术,帮助你为具体 ML 挑战实现有效的 hyperparameter optimization 策略。