

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

# 服务环境是什么 Amazon Batch
<a name="what-are-service-environments"></a>

服务环境是一种 Amazon Batch 资源，其中包含 Amazon Batch 与 SageMaker AI 集成所需的配置参数。服务环境 Amazon Batch 允许提交和管理 SageMaker 培训作业，同时提供 Amazon Batch队列、日程安排和优先级管理功能。

服务环境可解决数据科学团队在管理机器学习工作负载时面临的常见挑战。组织经常会限制可用于训练模型的实例数量，以防止意外超支、满足预算约束、使用预留实例节省成本，或者为工作负载使用特定的实例类型。但数据科学家需要同时运行的工作负载数可能会超过所分配实例的容量，因此需要手动协调才能决定何时运行哪些工作负载。

这种协调方面的挑战会影响各类规模的组织，无论是仅有少数数据科学家的小型团队，还是大型规模化运营的企业。随着组织的发展，复杂性也随之增加，需要更多时间来管理工作负载的协调，而且经常会需要基础设施管理员的参与。这些手动操作会浪费时间并降低实例效率，进而给客户带来实际成本损失。

在服务环境中，数据科学家和机器学习工程师可以将具有优先级的 SageMaker 培训作业提交到可配置队列，从而确保工作负载在资源可用后立即自动运行，无需干预。这种集成利用 Amazon Batch了广泛的排队和日程安排功能，使客户能够自定义其排队和日程安排策略以符合其组织的目标。

## 服务环境如何与其他 Amazon Batch 组件配合使用
<a name="service-environment-integration"></a>

服务环境与其他 Amazon Batch 组件集成以实现 SageMaker 训练作业队列：
+ **Job qu** eues-服务环境与作业队列相关联，使队列能够处理 SageMaker 训练作业的服务作业
+ **服务作业**-当您向与服务环境关联的队列提交服务作业时， Amazon Batch 使用该环境的配置提交相应的 SageMaker 训练作业
+ **调度策略**-服务环境使用 Amazon Batch 调度策略来确定 SageMaker 训练作业的优先级并管理其执行顺序

这种集成使您可以利用成熟 Amazon Batch的排队和调度功能，同时保持 SageMaker 训练作业的全部功能和灵活性。

## 有关服务环境的最佳实践
<a name="service-environment-best-practices"></a>

服务环境提供了大规模管理 SageMaker 培训作业的功能。遵循以下最佳实践有助您优化成本、性能和运营效率，同时避免可能影响机器学习工作流的常见配置问题。

在规划服务环境容量时，请考虑适用于 SageMaker 训练作业队列的特定配额和限制。每个服务环境都有以实例数表示的最大容量限制，它直接控制可以同时运行多少 SageMaker 训练作业。了解这些限制有助于防止资源争用，并确保作业执行时间的可预测性。

最佳的服务环境性能取决于对 SageMaker 训练作业调度的独特特征的理解。与传统的容器化作业不同，服务作业会通过`SCHEDULED`状态过渡，而 SageMaker AI 会获取和配置必要的训练实例。这意味着作业启动时间可能会因实例可用性和区域容量而有显著差异。

**重要**  
服务环境具有特定的配额，这可能会影响您扩展 SageMaker 培训工作负载的能力。每个账户最多可以创建 50 个服务环境，并且每个作业队列仅支持一个关联的服务环境。此外，单个作业的服务请求有效载荷限制为 10 KiB，`SubmitServiceJob` API 限制为每个账户每秒 5 个事务处理。在容量计划期间了解这些限制有助于防止意外的扩缩约束。

要有效监控服务环境，需要同时 Amazon Batch 关注 SageMaker 人工智能服务指标。通过[作业状态变换](service-job-status.md)可以深入了解系统性能，尤其是处于 `SCHEDULED` 状态的时间，因为这可以指示容量可用性模式，因此十分宝贵。与计算环境类似，服务环境维护自己的生命周期状态，即会经过 `CREATING`、`VALID`、`INVALID` 和 `DELETING` 状态变换，并且应对这些状态进行监控以确定运行状况。具有成熟监控实践的组织通常会跟踪队列深度、作业完成率和实例利用率模式，以不断优化其服务环境配置。