

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 4. 稳健的管线和提升
<a name="pipelines-promotion"></a>

管线为超参数优化、AutoML 和处理例程提供了许多选项。管线从头到尾都会被记录。稳健的管线可以跨多个实例和框架并行运行训练，并根据需要扩展负载大小。稳健的管线可以将模型提升到生产中，以实时、流式和批量方式部署。这些部署可以支持单模型或多模型推理。


|  |  | 
| --- |--- |
| **4.1 大规模分布式训练** | 成熟的机器学习系统支持在大型计算优化型实例上并行运行训练的功能。它有工具可帮助确保这些资源得到充分利用，且训练在整个计算集群中均匀扩展。 | 
| **4.2 支持多个框架** | 开发人员可以移植不同的平台框架（例如 PyTorch 或 Flax）来运行训练和推理作业。同样，支持和使用不同的语言和版本。切换到另一个框架不会破坏系统。 | 
| **超参数优化** | 超参数优化步骤是训练管线的一部分。已部署的模型已优化其超参数。有多个选项可用于优化超参数。为了提高准确性，至少有一个优化选项应采用贝叶斯推理或方法。 | 
| **4.4 AutoML 选项** | 为了减少手动试验和比较，成熟的机器学习系统支持运行 AutoML，它可自动选择最佳的特征管线、超参数和模型。请注意，AutoML 是一项需要灵活运用的功能，但它并非灵丹妙药。 | 
| **4.5 推理支持：实时** | 这通常称为模型即服务（MaaS）。该系统支持通过 REST API 操作进行实时推理，用于按需推理请求。它能够部署 MaaS 基础设施，在该基础设施上，模型可以作为独立 API 或与其他应用程序关联的端点进行水平和垂直扩展。或者，也可以使用无服务器技术进行部署。 | 
| **4.6 推理支持：流式处理** | 可以将模型提升为实时推理格式，例如 Amazon Kinesis 或 Amazon Managed Streaming for Apache Kafka，从而在模型上以流式进行推理。这需要至少 90% 的核对清单才能完成，因为护栏、可观测性和监控对于实时推理至关重要。 | 
| **4.7 推理支持：批量** | 该系统支持将模型作为计划作业或启动作业进行批量部署。系统可以将模型作为提取、转换、加载（ETL）过程的一部分来运行，也可以单独运行。批量作业会记录每个步骤的状态，并按有序模式（例如有向无环图）运行。或者，作业可以写入数据库，数据库充当模型推理的服务器。 | 
| **4.8 预处理和后处理例程** | 必要时，数据会在模型引入过程或批量作业中进行特征化处理。如果有多个模型或多个步骤在起作用，则后处理例程会负责对数据进行特征化处理。 | 
| **4.9 能够调用分层模型或同步模型** | 机器学习系统可以一起部署多个模型，也可以按顺序运行它们。前者意味着在资源队列中的单个模型端点上托管。后者意味着多个模型需要以链式方式依次运行。系统可以灵活地处理这两种类型的复杂性。 | 
| **4.10 水平和垂直缩放策略** | 管线应该能够支持用于训练和推理的两种扩展策略。当延迟或吞吐量增加时，机器学习系统可以增加其大小并在多台计算机上分发流量。针对此类行为制定了策略，并考虑了最佳资源分配。 | 
| **4.11 日志记录 End-to-end** | 开发团队应在所有管线代码内设置日志记录，以便日志记录可以捕获系统中的输入、输出和中间步骤。日志记录应支持跟踪管线中的运行和调试错误。 | 