在生产中维护机器学习 (ML) 工作流程是一项具有挑战性的任务,因为它需要为 ML 代码和模型创建持续集成和持续交付 (CI/CD) 管道、模型版本控制、数据和概念漂移监控、模型重新训练以及手册批准流程,以确保模型的新版本满足性能和合规性要求。
在这篇文章中,我们描述了如何创建用于批量推理的 MLOps 工作流程,以自动执行作业调度、模型监控、重新训练和注册,以及错误处理和通知 亚马逊SageMaker, 亚马逊EventBridge, AWS Lambda, 亚马逊简单通知服务 (Amazon SNS)、HashiCorp Terraform 和 GitLab CI/CD。 所提出的 MLOps 工作流程提供了一个可重用的模板,用于通过自动化、监控、可审核性和可扩展性来管理 ML 生命周期,从而降低在生产中维护批量推理工作负载的复杂性和成本。
解决方案概述
下图说明了针对将 GitLab CI/CD 和 Terraform 基础设施即代码 (IaC) 与 AWS 工具和服务结合使用的组织提出的企业批量推理目标 MLOps 架构。 GitLab CI/CD 作为宏观编排者,编排 model build
和 model deploy
管道,包括采购、构建和配置 Amazon SageMaker管道 以及使用 SageMaker Python SDK 和 Terraform 的支持资源。 SageMaker Python SDK 用于创建或更新用于训练、超参数优化 (HPO) 训练和批量推理的 SageMaker 管道。 Terraform 用于创建其他资源,例如 EventBridge 规则、Lambda 函数和 SNS 主题,用于监控 SageMaker 管道和发送通知(例如,当管道步骤失败或成功时)。 SageMaker Pipelines 充当 ML 模型训练和推理工作流程的协调器。
此架构设计代表了一种多帐户策略,其中在数据科学开发帐户(比典型的应用程序开发帐户拥有更多控制权)内的中央模型注册表中构建、训练和注册 ML 模型。 然后,使用 GitLab CI/CD 等 DevOps 工具的自动化将推理管道部署到临时和生产帐户。 中央模型注册表也可以选择放置在共享服务帐户中。 参考 经营模式 有关 ML 多账户策略的最佳实践。
在以下小节中,我们详细讨论架构设计的不同方面。
基础架构即代码
IaC 提供了一种通过机器可读文件来管理 IT 基础设施的方法,确保高效的版本控制。 在这篇文章和随附的代码示例中,我们演示了如何使用 HashiCorp 地形 使用 GitLab CI/CD 有效管理 AWS 资源。 这种方法强调了 IaC 的主要优势,在 IT 基础设施管理中提供透明且可重复的流程。
模型训练和再训练
在此设计中,SageMaker 训练管道按计划运行(通过 EventBridge)或基于 亚马逊简单存储服务 (Amazon S3) 事件触发器(例如,当触发器文件或新训练数据(如果是单个训练数据对象)放置在 Amazon S3 中时),以定期使用新数据重新校准模型。 该管道不会对模型引入结构或材料更改,因为它使用在企业模型审核过程中已批准的固定超参数。
训练管道将新训练的模型版本注册到 Amazon SageMaker 模型注册表 如果模型超过预定义的模型性能阈值(例如,回归的 RMSE 和分类的 F1 分数)。 当模型的新版本在模型注册表中注册时,它会通过 Amazon SNS 向负责的数据科学家触发通知。 然后,数据科学家需要审查并手动批准模型中的最新版本 亚马逊SageMaker Studio UI 或通过 API 调用使用 AWS命令行界面 (AWS CLI) 或 AWS SDK for Python (Boto3) 在新版本模型之前可以用于推理。
SageMaker 培训管道及其支持资源由 GitLab 创建 model build
管道,可以通过手动运行 GitLab 管道,也可以在代码合并到 main
的分支 model build
Git 存储库。
批量推断
SageMaker 批量推理管道按计划运行(通过 EventBridge)或基于 S3 事件触发器运行。 批量推理管道会自动从模型注册表中提取最新批准的模型版本,并将其用于推理。 批量推理管道包括根据训练管道创建的基线检查数据质量的步骤,以及模型质量(模型性能)(如果地面真实标签可用)。
如果批量推理管道发现数据质量问题,它将通过 Amazon SNS 通知负责的数据科学家。 如果发现模型质量问题(例如,RMSE 大于预先指定的阈值),模型质量检查的管道步骤将失败,这将依次触发 EventBridge 事件以开始使用 HPO 管道进行训练。
SageMaker 批量推理管道及其支持资源由 GitLab 创建 model deploy
管道,可以通过手动运行 GitLab 管道,也可以在代码合并到 main
的分支 model deploy
Git 存储库。
模型调整和重新调整
当批量推理管道的模型质量检查步骤失败时,会触发使用 HPO 管道进行 SageMaker 训练。 通过将模型预测与实际的地面真实标签进行比较来执行模型质量检查。 如果模型质量指标(例如,回归的 RMSE 和分类的 F1 分数)不满足预先指定的标准,则模型质量检查步骤将被标记为失败。 如果需要,使用 HPO 管道的 SageMaker 训练也可以由负责的数据科学家手动触发(在 SageMaker Studio UI 中或通过使用 AWS CLI 或 SageMaker Python SDK 的 API 调用)。 由于模型超参数正在发生变化,因此负责的数据科学家需要获得企业模型审查委员会的批准,然后新模型版本才能在模型注册表中获得批准。
使用 HPO 管道的 SageMaker 培训及其支持资源由 GitLab 创建 model build
管道,可以通过手动运行 GitLab 管道,也可以在代码合并到 main
的分支 model build
Git 存储库。
模型监控
数据统计和约束基线是作为 HPO 管道训练和训练的一部分生成的。 它们会保存到 Amazon S3,并且如果模型通过评估,也会在模型注册表中注册到经过训练的模型。 所提出的批量推理管道架构使用 Amazon SageMaker模型监控器 用于数据质量检查,同时使用自定义 Amazon SageMaker处理 模型质量检查的步骤。 这种设计将数据和模型质量检查解耦,从而允许您仅在检测到数据漂移时发送警告通知; 当检测到模型质量违规时,触发 HPO 管道的训练。
型号核准
在模型注册表中注册新训练的模型后,负责的数据科学家会收到通知。 如果模型已通过训练管道进行训练(在超参数固定的情况下使用新的训练数据重新校准),则无需获得企业模型审查委员会的批准。 数据科学家可以独立审查和批准新版本的模型。 另一方面,如果模型已经通过HPO管道训练(通过更改超参数重新调整)进行训练,则新模型版本需要经过企业审核流程才能用于生产中的推理。 审核过程完成后,数据科学家可以继续并批准模型注册表中模型的新版本。 将模型包的状态更改为 Approved
将通过 EventBridge 触发 Lambda 函数,进而触发 GitLab model deploy
通过 API 调用的管道。 这将自动更新 SageMaker 批量推理管道,以利用最新批准的模型版本进行推理。
在模型注册表中批准或拒绝新模型版本有两种主要方法:使用适用于 Python 的 AWS 开发工具包 (Boto3) 或通过 SageMaker Studio UI。 默认情况下,训练管道和使用 HPO 管道进行训练都设置 ModelApprovalStatus
至 PendingManualApproval
。 负责的数据科学家可以通过调用更新模型的批准状态 update_model_package
来自 Boto3 的 API。 参考 更新模型的批准状态 了解有关通过 SageMaker Studio UI 更新模型审批状态的详细信息。
数据输入/输出设计
SageMaker 直接与 Amazon S3 交互,以读取输入并存储训练和推理管道中各个步骤的输出。 下图说明了不同的Python脚本、原始和处理后的训练数据、原始和处理后的推理数据、推理结果和地面实况标签(如果可用于模型质量监控)、模型工件、训练和推理评估指标(模型质量监控)、以及数据质量基线和违规报告(用于数据质量监控)可以组织在 S3 存储桶中。 图中箭头的方向指示哪些文件是 SageMaker 管道中各自步骤的输入或输出。 箭头已根据管道步骤类型进行颜色编码,以使其更易于阅读。 该管道将自动从 GitLab 存储库上传 Python 脚本,并将每个步骤的输出文件或模型工件存储在适当的 S3 路径中。
数据工程师负责以下工作:
- 将带标签的训练数据上传到 Amazon S3 中的适当路径。 这包括定期添加新的训练数据,以确保训练管道和 HPO 管道训练能够分别访问最新的训练数据以进行模型重新训练和重新调整。
- 在计划运行推理管道之前,将用于推理的输入数据上传到 S3 存储桶中的适当路径。
- 将真实标签上传到适当的 S3 路径以进行模型质量监控。
数据科学家负责以下工作:
- 准备真实标签并将其提供给数据工程团队以上传到 Amazon S3。
- 将通过 HPO pipeline 训练的模型版本通过企业审核流程并获得必要的批准。
- 手动批准或拒绝模型注册表中新训练的模型版本。
- 批准推理管道的生产门槛以及将支持资源推广到生产。
样例代码
在本节中,我们将提供一个使用单账户设置进行批量推理操作的示例代码,如下架构图所示。 示例代码可以在 GitHub存储库,并且可以作为批量推理的起点,使用企业经常需要的质量门进行模型监控和自动再训练。 示例代码与目标架构在以下方面有所不同:
- 它使用单个 AWS 账户来构建和部署 ML 模型及支持资源。 参考 使用多个账户组织您的 AWS 环境 有关 AWS 上多账户设置的指南。
- 它使用单个 GitLab CI/CD 管道来构建和部署 ML 模型和支持资源。
- 当新版本的模型经过训练和批准后,GitLab CI/CD 管道不会自动触发,需要由负责的数据科学家手动运行,以使用最新批准的模型版本更新 SageMaker 批量推理管道。
- 它仅支持用于运行 SageMaker 训练和推理管道的 S3 基于事件的触发器。
先决条件
在部署此解决方案之前,您应该满足以下先决条件:
- 一个AWS账户
- SageMaker 工作室
- 具有 Amazon S3 读/写功能的 SageMaker 执行角色 AWS密钥管理服务 (AWS KMS) 加密/解密权限
- 用于存储数据、脚本和模型工件的 S3 存储桶
- Terraform 0.13.5或更高版本
- GitLab 具有用于运行管道的工作 Docker 运行器
- AWS CLI
- jq
- 拉开拉链
- Python3(Python 3.7 或更高版本)和以下 Python 包:
- 博托3
- sagemaker
- 大熊猫
- 皮亚姆尔
存储库结构
GitHub存储库 包含以下目录和文件:
/code/lambda_function/
– 此目录包含 Lambda 函数的 Python 文件,该函数准备并发送有关 SageMaker 管道的步骤状态更改的通知消息(通过 Amazon SNS)/data/
– 该目录包含原始数据文件(训练、推理和地面实况数据)/env_files/
– 该目录包含 Terraform 输入变量文件/pipeline_scripts/
– 此目录包含三个 Python 脚本,用于创建和更新训练、推理以及使用 HPO SageMaker 管道进行训练,以及用于指定每个管道参数的配置文件/scripts/
– 此目录包含其他 Python 脚本(例如预处理和评估),这些脚本由 HPO 管道的训练、推理和训练引用.gitlab-ci.yml
– 该文件指定 GitLab CI/CD 管道配置/events.tf
– 该文件定义EventBridge资源/lambda.tf
– 该文件定义了 Lambda 通知函数和关联的 AWS身份和访问管理 (IAM) 资源/main.tf
– 该文件定义Terraform数据源和局部变量/sns.tf
– 该文件定义 Amazon SNS 资源/tags.json
– 此 JSON 文件允许您声明自定义标签键值对并使用本地变量将它们附加到您的 Terraform 资源/variables.tf
– 该文件声明了所有 Terraform 变量
变量和配置
下表显示了用于参数化此解决方案的变量。 请参阅 ./env_files/dev_env.tfvars
文件以获取更多详细信息。
名称 | 课程描述 |
bucket_name |
用于存储数据、脚本和模型工件的 S3 存储桶 |
bucket_prefix |
ML 项目的 S3 前缀 |
bucket_train_prefix |
训练数据的 S3 前缀 |
bucket_inf_prefix |
推理数据的 S3 前缀 |
notification_function_name |
用于准备和发送有关 SageMaker 管道的步骤状态更改的通知消息的 Lambda 函数的名称 |
custom_notification_config |
用于在检测到特定管道运行状态时自定义特定 SageMaker 管道步骤的通知消息的配置 |
email_recipient |
用于接收 SageMaker 管道的步骤状态更改通知的电子邮件地址列表 |
pipeline_inf |
SageMaker 推理管道的名称 |
pipeline_train |
SageMaker 训练管道的名称 |
pipeline_trainwhpo |
使用 HPO 管道进行 SageMaker 训练的名称 |
recreate_pipelines |
如果设置为 true ,三个现有的 SageMaker 管道(训练、推理、使用 HPO 进行训练)将被删除,并在运行 GitLab CI/CD 时创建新的管道 |
model_package_group_name |
模型包组名称 |
accuracy_mse_threshold |
需要更新模型之前 MSE 的最大值 |
role_arn |
SageMaker 管道执行角色的 IAM 角色 ARN |
kms_key |
用于 Amazon S3 和 SageMaker 加密的 KMS 密钥 ARN |
subnet_id |
SageMaker 网络配置的子网 ID |
sg_id |
SageMaker 网络配置的安全组 ID |
upload_training_data |
如果设置为 true ,训练数据将上传到Amazon S3,此上传操作将触发训练管道的运行 |
upload_inference_data |
如果设置为 true ,推理数据将上传到Amazon S3,此上传操作将触发推理管道的运行 |
user_id |
作为标签添加到 SageMaker 资源的 SageMaker 用户的员工 ID |
部署解决方案
完成以下步骤以在您的 AWS 账户中部署解决方案:
- 将 GitHub 存储库克隆到您的工作目录中。
- 查看并修改 GitLab CI/CD 管道配置以适合您的环境。 配置在中指定
./gitlab-ci.yml
文件中。 - 请参阅 README 文件来更新通用解决方案变量
./env_files/dev_env.tfvars
文件。 该文件包含 Python 脚本和 Terraform 自动化的变量。- 检查在 YAML 文件中定义的其他 SageMaker Pipelines 参数
./batch_scoring_pipeline/pipeline_scripts/
. 如有必要,检查并更新参数。
- 检查在 YAML 文件中定义的其他 SageMaker Pipelines 参数
- 查看 SageMaker 管道创建脚本
./pipeline_scripts/
以及它们在中引用的脚本./scripts/
文件夹。 GitHub 存储库中提供的示例脚本基于 鲍鱼数据集。 如果您要使用不同的数据集,请确保更新脚本以适应您的特定问题。 - 将您的数据文件放入
./data/
使用以下命名约定的文件夹。 如果您将 Abalone 数据集与提供的示例脚本一起使用,请确保数据文件是无头的,训练数据包括自变量和目标变量,并保留原始列顺序,推理数据仅包括自变量和基本事实文件仅包含目标变量。training-data.csv
inference-data.csv
ground-truth.csv
- 提交代码并将其推送到存储库以触发 GitLab CI/CD 管道运行(首次运行)。 请注意,第一次管道运行将失败
pipeline
阶段,因为尚无批准的模型版本可供推理管道脚本使用。 查看步骤日志并验证名为的新 SageMaker 管道TrainingPipeline
已成功创建。
-
- 打开 SageMaker Studio UI,然后查看并运行训练管道。
- 训练管道成功运行后,批准模型注册表中注册的模型版本,然后重新运行整个 GitLab CI/CD 管道。
- 查看 Terraform 计划输出
build
阶段。 批准手册apply
GitLab CI/CD 管道中的阶段以恢复管道运行并授权 Terraform 在您的 AWS 账户中创建监控和通知资源。 - 最后,在 SageMaker Studio UI 中查看 SageMaker 管道的运行状态和输出,并检查电子邮件中的通知消息,如以下屏幕截图所示。 默认消息正文为 JSON 格式。
SageMaker 管道
在本节中,我们将描述 MLOps 工作流程中的三个 SageMaker 管道。
训练管道
训练管道由以下步骤组成:
- 预处理步骤,包括特征转换和编码
- 使用训练数据生成数据统计和约束基线的数据质量检查步骤
- 训练步骤
- 培训评估步骤
- 条件步骤检查训练后的模型是否满足预先指定的性能阈值
- 如果训练的模型满足所需的性能阈值,则模型注册步骤将新训练的模型注册到模型注册表中
两个 skip_check_data_quality
和 register_new_baseline_data_quality
参数设置为 True
在培训管道中。 这些参数指示管道跳过数据质量检查,而仅使用训练数据创建和注册新的数据统计数据或约束基线。 下图描述了训练管道的成功运行。
批量推理管道
批量推理管道由以下步骤组成:
- 从模型注册表中最新批准的模型版本创建模型
- 预处理步骤,包括特征转换和编码
- 批量推理步骤
- 数据质量检查预处理步骤,创建一个新的 CSV 文件,其中包含用于数据质量检查的输入数据和模型预测
- 数据质量检查步骤,根据与注册模型相关的基线统计数据和约束检查输入数据
- 条件步骤检查地面真实数据是否可用。 如果地面实况数据可用,将执行模型质量检查步骤
- 模型质量计算步骤,根据真实标签计算模型性能
两个 skip_check_data_quality
和 register_new_baseline_data_quality
参数设置为 False
在推理管道中。 这些参数指示管道使用与注册模型关联的数据统计或约束基线来执行数据质量检查(supplied_baseline_statistics_data_quality
和 supplied_baseline_constraints_data_quality
)并在推理过程中跳过创建或注册新的数据统计和约束基线。 下图说明了批量推理管道的运行,其中数据质量检查步骤由于推理数据上的模型性能不佳而失败。 在这种特殊情况下,将自动触发 HPO 管道的训练以微调模型。
使用 HPO 管道进行培训
HPO管道的训练由以下步骤组成:
- 预处理步骤(特征转换和编码)
- 使用训练数据生成数据统计和约束基线的数据质量检查步骤
- 超参数调整步骤
- 培训评估步骤
- 条件步骤检查训练后的模型是否满足预先指定的精度阈值
- 如果训练得最好的模型满足所需的准确度阈值,则进行模型注册步骤
两个 skip_check_data_quality
和 register_new_baseline_data_quality
参数设置为 True
在 HPO 管道的培训中。 下图描绘了使用 HPO 管道成功运行训练的情况。
清理
完成以下步骤以清理您的资源:
- 雇用
destroy
GitLab CI/CD 管道中的阶段,以消除 Terraform 提供的所有资源。 - 使用 AWS CLI 可以 名单 和 去掉 由 Python 脚本创建的任何剩余管道。
- 或者,删除其他 AWS 资源,例如在 CI/CD 管道外部创建的 S3 存储桶或 IAM 角色。
结论
在这篇文章中,我们演示了企业如何使用 Amazon SageMaker、Amazon EventBridge、AWS Lambda、Amazon SNS、HashiCorp Terraform 和 GitLab CI/CD 为其批量推理作业创建 MLOps 工作流程。 所提出的工作流程可自动执行数据和模型监控、模型重新训练以及批处理作业运行、代码版本控制和基础设施配置。 这可以显着降低生产中维护批量推理作业的复杂性和成本。 有关实施细节的更多信息,请查看 GitHub回购.
作者简介
哈山松斋 是 AWS Professional Services 的高级数据科学家,他帮助体育、保险和金融服务等不同行业的客户通过使用大数据、机器学习和云技术解决业务挑战。 在此职位之前,Hasan 领导了多项举措,为顶级能源公司开发基于物理和数据驱动的新型建模技术。 工作之余,哈桑热衷于书籍、徒步旅行、摄影和历史。
刘文欣 是一名高级云基础设施架构师。 文鑫为企业公司如何加速云采用提供建议,并支持他们在云上的创新。 他是一位宠物爱好者,热衷于滑雪和旅行。
维维克·拉什曼(Vivek Lakshmanan) 是亚马逊的机器学习工程师。 他拥有软件工程硕士学位,专攻数据科学,并拥有多年 MLE 经验。 Vivek 很高兴能够在云上应用尖端技术并为客户构建 AI/ML 解决方案。 他对 AI/ML 中的统计、NLP 和模型可解释性充满热情。 业余时间,他喜欢打板球和公路旅行。
安迪·克拉奇奥洛 是一名云基础设施架构师。 Andy 拥有超过 15 年的 IT 基础设施经验,是一位卓有成就且以结果为导向的 IT 专业人士。 除了优化 IT 基础设施、运营和自动化之外,Andy 在分析 IT 运营、识别不一致以及实施流程增强以提高效率、降低成本和增加利润方面拥有良好的记录。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 汽车/电动汽车, 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 柏拉图健康。 生物技术和临床试验情报。 访问这里。
- 图表Prime。 使用 ChartPrime 提升您的交易游戏。 访问这里。
- 块偏移量。 现代化环境抵消所有权。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/mlops-for-batch-inference-with-model-monitoring-and-retraining-using-amazon-sagemaker-hashicorp-terraform-and-gitlab-ci-cd/
- :具有
- :是
- :不是
- :在哪里
- $UP
- 100
- 125
- 13
- 15 年
- 15%
- 26%
- 29
- 500
- 7
- a
- 关于
- 加快
- ACCESS
- 完成
- 账号管理
- 账户
- 横过
- 实际
- 添加
- 添加
- 增加
- 额外
- 地址
- 采用
- 驳
- AI / ML
- 所有类型
- 允许
- 沿
- 还
- Amazon
- 亚马逊SageMaker
- 亚马逊网络服务
- an
- 分析
- 和
- 和基础设施
- 任何
- API
- 应用领域
- 应用程序开发
- 应用
- 的途径
- 适当
- 批准
- 批准
- 批准
- 批准
- 架构
- 保健
- AS
- 方面
- 相关
- At
- 可审计性
- 授权
- 汽车
- 自动化
- 自动表
- 自动
- 自动化和干细胞工程
- 可使用
- AWS
- AWS Lambda
- AWS专业服务
- 基于
- 底线
- BE
- 因为
- 很
- before
- 得益
- 最佳
- 最佳实践
- 大
- 大数据运用
- 板
- 身体
- 书籍
- 都
- 分支机构
- 建筑物
- 建
- 商业
- by
- 计算
- 计算
- 呼叫
- 调用
- CAN
- 案件
- 中央
- 挑战
- 挑战
- 更改
- 更改
- 改变
- 查
- 检查
- 支票
- 分类
- 云端技术
- 云采用
- 云基础设施
- 码
- 列
- 公司
- 比较
- 完成
- 复杂性
- 符合
- 由
- 概念
- 配置
- 结合
- 约束
- 包含
- 连续
- 控制
- 控制
- 成本
- 可以
- 创建信息图
- 创建
- 创建
- 创造
- 创建
- 板球
- 习俗
- 合作伙伴
- 前沿
- data
- 数据科学
- 数据科学家
- 数据驱动
- 声明
- 默认
- 定义
- 定义
- 学位
- 交货
- 演示
- 证明
- 部署
- 部署
- 部署
- 描述
- 设计
- 细节
- 详情
- 检测
- 开发
- 研发支持
- 不同
- 方向
- 直接
- 目录
- 发现
- 讨论
- 码头工人
- 不
- 不会
- 两
- ,我们将参加
- 每
- 更容易
- 只
- 效率
- 高效
- 或
- 消除
- 邮箱地址
- 员工
- 能源
- 工程师
- 工程师
- 增强
- 确保
- 保证
- 企业
- 企业
- 整个
- 环境
- 错误
- 评估
- 活动
- 例子
- 超过
- 兴奋
- 执行
- 现有
- 体验
- f1
- 失败
- 失败
- 失败
- 专栏
- 数字
- 文件
- 档
- 金融
- 金融服务
- (名字)
- 固定
- 以下
- 针对
- 格式
- 发现
- 止
- 功能
- 功能
- 盖茨
- 其他咨询
- 产生
- 发电
- 混帐
- GitHub上
- Go
- 去
- 更大的
- 陆运
- 团队
- 指导
- 手
- 处理
- 有
- he
- 帮助
- 他的
- 历史
- 创新中心
- How To
- HTML
- HTTP
- HTTPS
- 超参数优化
- ID
- 确定
- 身分
- if
- 说明
- 履行
- 实施
- in
- 包括
- 包括
- 包含
- 增加
- 独立
- 独立地
- 表示
- 个人
- 行业
- 信息
- 基础设施
- 项目
- 创新
- 输入
- 输入
- 保险
- 积分
- 交互
- 成
- 介绍
- 问题
- IT
- 它的
- 工作
- 工作机会
- JPG
- JSON
- 只是
- 键
- 标签
- 最新
- 铅
- 学习
- 导致
- 生命周期
- Line
- 清单
- 本地
- 日志
- 机
- 机器学习
- 主要
- 维护
- 使
- 管理
- 颠覆性技术
- 管理的
- 手册
- 手动
- 标
- 硕士
- 材料
- 满足
- 会见
- 的话
- 条未读消息
- 公
- 指标
- ML
- 多播
- 模型
- 造型
- 模型
- 修改
- 监控
- 更多
- 多
- 命名
- 命名
- 必要
- 需求
- 打印车票
- 需要
- 工业网络
- 全新
- 新
- NLP
- 没有
- 通知
- 通知
- 小说
- 对象
- 获得
- 获得
- of
- 提供
- 优惠精选
- 经常
- on
- 那些
- 仅由
- 操作
- 运营
- 优化
- 追求项目的积极优化
- or
- 秩序
- 组织
- 举办
- 原版的
- 其他名称
- 产量
- 学校以外
- 包
- 包
- 对
- 参数
- 部分
- 特别
- 通行证
- 多情
- 径
- 演出
- 性能
- 执行
- 摄影
- 管道
- 计划
- 计划
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 播放
- 点
- 贫困
- 帖子
- 做法
- 预测
- 准备
- 先决条件
- 当下
- 呈现
- 先
- 市场问题
- 继续
- 过程
- 处理
- 生产
- 所以专业
- 利润
- 提拔
- 建议
- 成熟
- 提供
- 提供
- 优
- 拉
- 推
- 蟒蛇
- 质量
- 原
- 阅读
- 阅读
- 接收
- 接收
- 最近
- 记录
- 减少
- 减少
- 关于
- 寄存器
- 在相关机构注册的
- 注册
- 寄存器
- 注册
- 注册处
- 经常
- 其余
- 可重复的
- 业务报告
- 知识库
- 代表
- 必须
- 岗位要求
- 需要
- 资源
- 那些
- 分别
- 提供品牌战略规划
- 成果
- 简历
- 可重复使用
- 检讨
- 路
- 角色
- 定位、竞价/采购和分析/优化数字媒体采购,但算法只不过是解决问题的操作和规则。
- 运行
- 亚军
- 运行
- 运行
- sagemaker
- SageMaker 推理
- SageMaker管道
- 可扩展性
- 始你
- 调度
- 科学
- 科学家
- 得分了
- 脚本
- SDK
- 部分
- 提交
- 发送
- 发送
- 服务
- 服务
- 特色服务
- 集
- 格局
- 几个
- 共用的,
- 应该
- 如图
- 作品
- 显著
- 简易
- 单
- 软件
- 软件工程
- 方案,
- 解决方案
- 解决
- 来源
- 采购
- 具体的
- 指定
- 运动
- 阶段
- 分期
- 开始
- 开始
- 州/领地
- 统计
- Status
- 步
- 步骤
- 存储
- 商店
- 存储
- 策略
- 结构
- 工作室
- 成功
- 顺利
- 这样
- 如下
- 支持
- 支持
- 表
- 行李牌
- 服用
- 目标
- 任务
- 团队
- 技术
- 技术
- 模板
- Terraform
- 比
- 这
- 其
- 他们
- 然后
- 那里。
- 从而
- 博曼
- 他们
- Free Introduction
- 三
- 门槛
- 通过
- 次
- 至
- 工具
- 最佳
- Topics
- 跟踪时
- 跟踪记录
- 熟练
- 产品培训
- 转型
- 透明
- 旅游
- 触发
- 引发
- 真相
- 转
- 二
- 类型
- 普遍
- ui
- 下
- 下划线
- 更新
- 更新
- 上传
- 上传
- 使用
- 用过的
- 用户
- 使用
- 运用
- 利用
- 利用
- 折扣值
- 变量
- 确认
- 版本
- 版本
- 通过
- 违反
- 警告
- 方法..
- 方法
- we
- 卷筒纸
- Web服务
- 井
- ,尤其是
- 是否
- 这
- 而
- WHO
- 将
- 中
- 工作
- 工作流程
- 工作流程
- 加工
- 雅姆
- 年
- 但
- 完全
- 您一站式解决方案
- 和风网