在快速发展的人工智能 (AI) 和机器学习 (ML) 领域,为组织构建机器学习操作 (MLOps) 平台对于无缝弥合数据科学实验和部署之间的差距,同时满足模型性能的要求至关重要,安全性和合规性。
为了满足监管和合规要求,设计此类平台时的关键要求是:
- 地址数据漂移
- 监控模型性能
- 促进自动模型再训练
- 提供模型批准流程
- 将模型保存在安全的环境中
在这篇文章中,我们将展示如何结合使用 AWS 服务和第三方工具集来创建 MLOps 框架来满足这些需求。 该解决方案需要一个多环境设置,包括自动模型再训练、批量推理和监控 Amazon SageMaker模型监控器,模型版本控制 SageMaker模型注册表以及 CI/CD 管道,通过使用来促进跨环境的 ML 代码和管道的推广 亚马逊SageMaker, 亚马逊EventBridge, 亚马逊简单通知服务 (Amazon S3), HashiCorp 地形, GitHub上及 詹金斯 持续集成/持续交付。 我们建立了一个模型来预测乳房X光检查肿块病变的严重程度(良性或恶性),并使用 XGBoost算法 使用公开的 UCI 乳腺 X 线摄影质量 数据集并使用 MLOps 框架部署它。 包含代码的完整说明可在 GitHub存储库.
解决方案概述
以下架构图显示了 MLOps 框架的概述,其中包含以下关键组件:
- 多账户策略 – 遵循 AWS Well-Architected 最佳实践在两个不同的 AWS 账户中设置两个不同的环境(开发和生产),并在中央模型注册表中设置第三个账户:
- 开发环境 – 其中 Amazon SageMaker Studio 域 其设置是为了在模型准备好升级到更高的环境之前允许模型开发、模型训练和 ML 管道测试(训练和推理)。
- 产品环境 – 开发人员的机器学习管道作为第一步被提升,并随着时间的推移进行计划和监控。
- 中央模型注册 – Amazon SageMaker 模型注册表 在单独的 AWS 账户中设置,用于跟踪跨开发和生产环境生成的模型版本。
- CI/CD 和源代码控制 – 跨环境的 ML 管道部署通过 Jenkins 设置的 CI/CD 进行处理,并通过 GitHub 进行版本控制。 合并到相应环境 git 分支的代码更改会触发 CI/CD 工作流程,以对给定的目标环境进行适当的更改。
- 批量预测 带模型监控 – 使用构建的推理管道 Amazon SageMaker管道 按计划运行以生成预测,并使用 SageMaker Model Monitor 进行模型监控以检测数据漂移。
- 自动再培训机制 – 每当在推理管道中检测到数据漂移时,就会触发使用 SageMaker Pipelines 构建的训练管道。 经过训练后,模型将注册到中央模型注册表中,并由模型审批者批准。 获得批准后,更新的模型版本将用于通过推理管道生成预测。
- 基础架构即代码 – 基础设施即代码(IaC),使用创建 HashiCorp 地形,支持使用EventBridge调度推理管道,基于 EventBridge规则 并使用发送通知 亚马逊简单通知服务 (亚马逊社交网络) .
MLOps 工作流程包括以下步骤:
- 访问开发帐户中的 SageMaker Studio 域,克隆 GitHub 存储库,使用提供的示例模型完成模型开发过程,并生成训练和推理管道。
- 在开发帐户中运行训练管道,这会生成经过训练的模型版本的模型工件,并将模型注册到中央模型注册表帐户中的 SageMaker 模型注册表中。
- 在中央模型注册表帐户的 SageMaker Model Registry 中批准模型。
- 将代码(训练和推理管道以及用于创建 EventBridge 计划、EventBridge 规则和 SNS 主题的 Terraform IaC 代码)推送到 GitHub 存储库的功能分支中。 创建拉取请求以将代码合并到 GitHub 存储库的主分支中。
- 触发 Jenkins CI/CD 管道,该管道是通过 GitHub 存储库设置的。 CI/CD 管道将代码部署到产品帐户中,以创建训练和推理管道以及 Terraform 代码,以配置 EventBridge 计划、EventBridge 规则和 SNS 主题。
- 推理管道计划每天运行,而训练管道设置为在推理管道检测到数据漂移时运行。
- 每当训练或推理管道出现故障时,都会通过 SNS 主题发送通知。
先决条件
对于此解决方案,您应该具备以下先决条件:
- 三个 AWS 账户(开发、生产和中央模型注册表账户)
- 在三个 AWS 账户中分别设置一个 SageMaker Studio 域(请参阅 内置到Amazon SageMaker Studio 或观看视频 快速上载到Amazon SageMaker Studio 有关设置说明)
- 在 AWS 上安装具有管理权限的 Jenkins(我们使用 Jenkins 2.401.1)
- Jenkins 服务器上安装的 Terraform 版本 1.5.5 或更高版本
对于这篇文章,我们的工作地点是 us-east-1
部署解决方案的区域。
在开发和生产帐户中配置 KMS 密钥
我们的第一步是创建 AWS密钥管理服务 (AWS KMS) 键入开发和生产帐户。
在开发帐户中创建 KMS 密钥并授予对产品帐户的访问权限
完成以下步骤以在开发帐户中创建 KMS 密钥:
- 在 AWS KMS 控制台上,选择 客户管理的密钥 在导航窗格中。
- 创建密钥.
- 针对 钥匙类型, 选择 对称.
- 针对 密钥用法, 选择 加密和解密.
- 下一页.
- 输入生产帐号以使生产帐户能够访问开发帐户中配置的 KMS 密钥。 这是必需的步骤,因为第一次在开发帐户中训练模型时,模型工件会在写入中央模型注册表帐户中的 S3 存储桶之前使用 KMS 密钥进行加密。 生产帐户需要访问 KMS 密钥才能解密模型工件并运行推理管道。
- 下一页 并完成创建密钥。
配置密钥后,它应该在 AWS KMS 控制台上可见。
在产品帐户中创建 KMS 密钥
执行上一节中的相同步骤,在产品帐户中创建客户管理的 KMS 密钥。 您可以跳过此步骤将 KMS 密钥共享给其他帐户。
在中央模型注册表帐户中设置模型工件 S3 存储桶
使用字符串创建您选择的 S3 存储桶 sagemaker
在命名约定中作为中央模型注册表帐户中存储桶名称的一部分,并更新 S3 存储桶上的存储桶策略,以授予开发帐户和生产帐户在 S3 存储桶中读取和写入模型工件的权限。
以下代码是S3存储桶上要更新的存储桶策略:
在您的 AWS 账户中设置 IAM 角色
下一步是建立 AWS身份和访问管理 您的 AWS 账户中的 (IAM) 角色具有以下权限: AWS Lambda、SageMaker 和 Jenkins。
Lambda 执行角色
成立 Lambda 执行角色 在 dev 和 prod 帐户中,这些帐户将由作为 Lambda 函数一部分运行的 SageMaker Pipelines Lambda 步骤。 此步骤将从推理管道运行以获取最新批准的模型,并使用该模型生成推理。 使用命名约定在开发和生产账户中创建 IAM 角色 arn:aws:iam::<account-id>:role/lambda-sagemaker-role
并附加以下 IAM 政策:
- 政策1 – 创建名为的内联策略
cross-account-model-registry-access
,它可以访问中央帐户模型注册表中设置的模型包: - 政策2 - 附 亚马逊SageMakerFullAccess,这是 AWS 托管策略 授予对 SageMaker 的完全访问权限。 它还提供对相关服务的选择性访问,例如 AWS 应用程序自动扩展, 亚马逊 S3, Amazon Elastic Container注册 (Amazon ECR),以及 Amazon CloudWatch日志.
- 政策3 - 附 AWSLambda_FullAccess,这是一项 AWS 托管策略,授予对 Lambda、Lambda 控制台功能和其他相关 AWS 服务的完全访问权限。
- 政策4 – 对 IAM 角色使用以下 IAM 信任策略:
SageMaker 执行角色
在开发和生产帐户中设置的 SageMaker Studio 域应各自具有关联的执行角色,可以在 域设置 进入域名详情页面,如下图所示。 此角色用于在 SageMaker Studio 域内运行训练作业、处理作业等。
将以下策略添加到两个账户中的 SageMaker 执行角色:
- 政策1 – 创建名为的内联策略
cross-account-model-artifacts-s3-bucket-access
,它允许访问中央模型注册表帐户中的 S3 存储桶,该帐户存储模型工件: - 政策2 – 创建名为的内联策略
cross-account-model-registry-access
,它可以访问中央模型注册表帐户中模型注册表中的模型包: - 政策3 – 创建名为的内联策略
kms-key-access-policy
,它允许访问上一步中创建的 KMS 密钥。 提供在其中创建策略的帐户 ID 以及在该帐户中创建的 KMS 密钥 ID。 - 政策4 - 附 亚马逊SageMakerFullAccess,这是 AWS 托管策略 授予对 SageMaker 的完全访问权限以及对相关服务的选择访问权限。
- 政策5 - 附 AWSLambda_FullAccess,这是一项 AWS 托管策略,授予对 Lambda、Lambda 控制台功能和其他相关 AWS 服务的完全访问权限。
- 政策6 - 附 CloudWatchEventsFullAccess,这是一项 AWS 托管策略,授予对 CloudWatch Events 的完全访问权限。
- 政策7 – 为 SageMaker 执行 IAM 角色添加以下 IAM 信任策略:
- 政策 8(特定于产品账户中的 SageMaker 执行角色) – 创建名为的内联策略
cross-account-kms-key-access-policy
,它可以访问在开发帐户中创建的 KMS 密钥。 这是推理管道读取存储在中央模型注册表帐户中的模型工件所必需的,其中当从开发帐户创建模型的第一个版本时,使用开发帐户中的 KMS 密钥对模型工件进行加密。
跨账户 Jenkins 角色
设置名为的 IAM 角色 cross-account-jenkins-role
在产品帐户中,Jenkins 将假设将 ML 管道和相应的基础设施部署到产品帐户中。
将以下托管 IAM 策略添加到角色:
CloudWatchFullAccess
AmazonS3FullAccess
AmazonSNSFullAccess
AmazonSageMakerFullAccess
AmazonEventBridgeFullAccess
AWSLambda_FullAccess
更新角色上的信任关系以向托管 Jenkins 服务器的 AWS 账户授予权限:
更新与 Jenkins 服务器关联的 IAM 角色的权限
假设 Jenkins 已在 AWS 上设置,请更新与 Jenkins 关联的 IAM 角色以添加以下策略,这将使 Jenkins 有权将资源部署到产品账户中:
- 政策1 – 创建以下名为的内联策略
assume-production-role-policy
: - 政策2 – 附上
CloudWatchFullAccess
托管 IAM 策略。
在中央模型注册表帐户中设置模型包组
从中央模型注册表帐户中的 SageMaker Studio 域中,创建一个名为的模型包组 mammo-severity-model-package
使用以下代码片段(您可以使用 Jupyter 笔记本运行):
为开发和生产账户中的 IAM 角色设置对模型包的访问权限
提供对开发和生产帐户中创建的 SageMaker 执行角色的访问权限,以便您可以在模型包中注册模型版本 mammo-severity-model-package
在两个帐户的中央模型注册表中。 从中央模型注册表帐户中的 SageMaker Studio 域,在 Jupyter 笔记本中运行以下代码:
设置詹金斯
在本节中,我们配置 Jenkins 通过 Jenkins CI/CD 管道在产品帐户中创建 ML 管道和相应的 Terraform 基础设施。
- 在 CloudWatch 控制台上,创建一个名为
jenkins-log
在 Jenkins 将从 CI/CD 管道推送日志的产品帐户中。 应在与 Jenkins 服务器设置相同的区域中创建日志组。 - 安装以下插件 在你的 Jenkins 服务器上:
- 使用跨账户 IAM 角色在 Jenkins 中设置 AWS 凭证(
cross-account-jenkins-role
)在产品帐户中配置。 - 针对 系统配置,选择 AWS.
- 提供您之前创建的凭证和 CloudWatch 日志组。
- 在 Jenkins 中设置 GitHub 凭据。
- 在 Jenkins 中创建一个新项目。
- 输入项目名称并选择 管道.
- 点击 其他咨询 标签,选择 GitHub项目 并输入分叉 GitHub存储库 网址。
- 选择 这个项目是参数化的.
- 点击 添加参数 菜单中选择 字符串参数.
- 针对 名字,输入
prodAccount
. - 针对 默认值,输入产品帐户 ID。
- 下 高级项目选项,为 定义, 选择 来自 SCM 的管道脚本.
- 针对 SCM,选择 混帐.
- 针对 储存库网址,输入分叉 GitHub存储库 网址。
- 针对 资历,输入 Jenkins 中保存的 GitHub 凭据。
- 输入
main
,在 建立分行 部分,将根据该部分触发 CI/CD 管道。 - 针对 脚本路径,输入
Jenkinsfile
. - 保存.
Jenkins 管道应该已创建并在仪表板上可见。
配置S3存储桶,收集和准备数据
请完成以下步骤来设置您的 S3 存储桶和数据:
- 使用字符串创建您选择的 S3 存储桶
sagemaker
在命名约定中作为开发和生产帐户中存储桶名称的一部分,用于存储数据集和模型工件。 - 设置 S3 存储桶以维护产品帐户中的 Terraform 状态。
- 下载并保存公开可用的 UCI 乳腺 X 线摄影质量 数据集到您之前在开发帐户中创建的 S3 存储桶。
- 分叉并克隆 GitHub存储库 在开发帐户的 SageMaker Studio 域内。 该存储库具有以下文件夹结构:
- /environments – prod 环境的配置脚本
- /mlops-infra – 使用 Terraform 代码部署 AWS 服务的代码
- /管道 – SageMaker 管道组件的代码
- 詹金斯文件 – 通过 Jenkins CI/CD 管道部署的脚本
- 设置文件 – 需要安装所需的Python模块并创建run-pipeline命令
- 乳房X光检查-严重性-建模.ipynb – 允许您创建和运行 ML 工作流程
- 在克隆的 GitHub 存储库文件夹中创建一个名为 data 的文件夹,并保存公开可用的副本 UCI 乳腺 X 线摄影质量 数据集。
- 关注 Jupyter 笔记本
mammography-severity-modeling.ipynb
. - 在笔记本中运行以下代码来预处理数据集并将其上传到开发帐户中的S3存储桶:
该代码将生成以下数据集:
-
- 数据/ mammo-train-dataset-part1.csv – 将用于训练模型的第一个版本。
- 数据/ mammo-train-dataset-part2.csv – 将用于训练模型的第二个版本以及 mammo-train-dataset-part1.csv 数据集。
- 数据/mammo-batch-dataset.csv – 将用于生成推论。
- 数据/mammo-batch-dataset-outliers.csv – 将异常值引入数据集中,导致推理管道失败。 这将使我们能够测试该模式以触发模型的自动重新训练。
- 上传数据集
mammo-train-dataset-part1.csv
在前缀下mammography-severity-model/train-dataset
,并上传数据集mammo-batch-dataset.csv
和mammo-batch-dataset-outliers.csv
到前缀mammography-severity-model/batch-dataset
在开发帐户中创建的 S3 存储桶的数量: - 上传数据集
mammo-train-dataset-part1.csv
和mammo-train-dataset-part2.csv
在前缀下mammography-severity-model/train-dataset
通过 Amazon S3 控制台进入在产品账户中创建的 S3 存储桶。 - 上传数据集
mammo-batch-dataset.csv
和mammo-batch-dataset-outliers.csv
到前缀mammography-severity-model/batch-dataset
产品帐户中 S3 存储桶的名称。
运行火车管道
下 <project-name>/pipelines/train
,您可以看到以下 Python 脚本:
- 脚本/raw_preprocess.py – 与 SageMaker Processing 集成以进行特征工程
- 脚本/evaluate_model.py – 在本例中允许模型指标计算
auc_score
- train_pipeline.py – 包含模型训练管道的代码
完成以下步骤:
- 将脚本上传到 Amazon S3:
- 获取火车管道实例:
- 提交火车管道并运行它:
下图显示了训练管道的成功运行。 管道中的最后一步在中央模型注册表帐户中注册模型。
在中央模型注册表中批准模型
登录中央模型注册表帐户并访问 SageMaker Studio 域内的 SageMaker 模型注册表。 将模型版本状态更改为“已批准”。
一旦获得批准,模型版本的状态应该发生变化。
运行推理管道(可选)
此步骤不是必需的,但您仍然可以运行推理管道以在开发帐户中生成预测。
下 <project-name>/pipelines/inference
,您可以看到以下 Python 脚本:
- 脚本/lambda_helper.py – 使用 SageMaker Pipelines Lambda 步骤从中央模型注册表帐户中提取最新批准的模型版本
- inference_pipeline.py – 包含模型推理管道的代码
完成以下步骤:
- 将脚本上传到S3存储桶:
- 使用普通批处理数据集获取推理管道实例:
- 提交推理管道并运行它:
下图显示了推理管道的成功运行。 管道中的最后一步生成预测并将其存储在 S3 存储桶中。 我们用 监控批量转换步骤 监视批量转换作业的输入。 如果存在任何异常值,推理管道就会进入失败状态。
运行 Jenkins 管道
environment/
GitHub 存储库中的文件夹包含产品帐户的配置脚本。 完成以下步骤来触发 Jenkins 管道:
- 更新配置脚本
prod.tfvars.json
基于前面步骤中创建的资源: - 更新后,将代码推送到分叉的 GitHub 存储库中,并将代码合并到主分支中。
- 转到 Jenkins UI,选择 使用参数构建,并触发前面步骤中创建的 CI/CD 管道。
构建完成并成功后,您可以登录产品帐户并查看 SageMaker Studio 域内的训练和推理管道。
此外,您将在产品帐户的 EventBridge 控制台上看到三个 EventBridge 规则:
- 安排推理管道
- 在列车管道上发送故障通知
- 当推理管道无法触发训练管道时,发送通知
最后,您将在 Amazon SNS 控制台上看到一个通过电子邮件发送通知的 SNS 通知主题。 您将收到一封电子邮件,要求您确认接受这些通知电子邮件。
使用没有异常值的批量数据集测试推理管道
为了测试推理管道在产品帐户中是否按预期工作,我们可以登录到产品帐户并使用没有异常值的批量数据集触发推理管道。
通过产品帐户的 SageMaker Studio 域中的 SageMaker Pipelines 控制台运行管道,其中 transform_input
将是没有异常值的数据集的 S3 URI (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset.csv
).
推理管道成功并将预测写回 S3 存储桶。
使用具有异常值的批量数据集测试推理管道
您可以使用带有异常值的批量数据集运行推理管道,以检查自动重新训练机制是否按预期工作。
通过产品帐户的 SageMaker Studio 域中的 SageMaker Pipelines 控制台运行管道,其中 transform_input
将是具有异常值的数据集的 S3 URI (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset-outliers.csv
).
推理管道按预期失败,这会触发 EventBridge 规则,进而触发训练管道。
片刻之后,您应该会在 SageMaker Pipelines 控制台上看到新运行的训练管道,该管道获取两个不同的训练数据集(mammo-train-dataset-part1.csv
和 mammo-train-dataset-part2.csv
)上传到 S3 存储桶以重新训练模型。
您还将看到发送到订阅 SNS 主题的电子邮件的通知。
要使用更新的模型版本,请登录到中央模型注册表帐户并批准模型版本,该模型版本将在下次运行通过计划的 EventBridge 规则触发的推理管道时选取。
尽管训练和推理管道使用静态数据集 URL,但您可以将数据集 URL 作为动态变量传递到训练和推理管道,以便使用更新的数据集重新训练模型并在现实场景中生成预测。
清理
为避免将来产生费用,请完成以下步骤:
- 删除所有 AWS 账户中的 SageMaker Studio 域。
- 删除在 SageMaker 外部创建的所有资源,包括 S3 存储桶、IAM 角色、EventBridge 规则以及通过生产账户中的 Terraform 设置的 SNS 主题。
- 使用以下命令删除跨账户创建的 SageMaker 管道 AWS命令行界面 (AWS CLI)。
结论
组织通常需要与企业范围的工具集保持一致,以实现不同职能领域和团队之间的协作。 这种协作可确保您的 MLOps 平台能够适应不断变化的业务需求,并加速跨团队采用 ML。 本文介绍了如何在多环境设置中创建 MLOps 框架,以实现自动模型再训练、批量推理和使用 Amazon SageMaker Model Monitor 进行监控,使用 SageMaker Model Registry 进行模型版本控制,以及使用跨环境提升 ML 代码和管道。 CI/CD 管道。 我们结合使用 AWS 服务和第三方工具集展示了该解决方案。 有关实施此解决方案的说明,请参阅 GitHub存储库。 您还可以通过引入自己的数据源和建模框架来扩展此解决方案。
作者简介
加亚特里·加纳科塔 是 AWS 专业服务的高级机器学习工程师。 她热衷于在各个领域开发、部署和解释 AI/ML 解决方案。 在担任此职务之前,她曾在金融和零售领域的全球顶级公司担任数据科学家和 ML 工程师,领导多项计划。 她拥有科罗拉多大学博尔德分校数据科学专业的计算机科学硕士学位。
苏尼塔·科帕 是 AWS 专业服务的高级数据湖架构师。 她热衷于解决客户处理大数据的痛点并提供长期可扩展的解决方案。 在此之前,她开发了互联网、电信和汽车领域的产品,并且一直是 AWS 客户。 她拥有加州大学河滨分校数据科学硕士学位。
萨斯瓦塔冲刺 是 AWS 专业服务的开发运营顾问。 她曾与医疗保健和生命科学、航空和制造领域的客户合作。 她对所有自动化事物充满热情,并且在 AWS 中设计和构建企业级客户解决方案方面拥有丰富的经验。 工作之余,她热衷于摄影和捕捉日出。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 柏拉图健康。 生物技术和临床试验情报。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/promote-pipelines-in-a-multi-environment-setup-using-amazon-sagemaker-model-registry-hashicorp-terraform-github-and-jenkins-ci-cd/
- :具有
- :是
- :不是
- :在哪里
- $UP
- 1
- 10
- 100
- 12
- 13
- 14
- 16
- 17
- 19
- 23
- 27
- 31
- 320
- 7
- 8
- 9
- a
- 关于
- 加速
- 验收
- ACCESS
- 账号管理
- 账户
- 横过
- 操作
- 适应
- 加
- 地址
- 行政
- 采用
- 后
- 年龄
- AI
- 对齐
- 所有类型
- 让
- 允许
- 沿
- 还
- Amazon
- 亚马逊SageMaker
- 亚马逊网络服务
- an
- 和
- 另一个
- 任何
- 应用领域
- 适当
- 批准
- 批准
- 架构
- 保健
- 地区
- 围绕
- 人造的
- 人工智能
- 人工智能(AI)
- AS
- 问
- 相关
- 承担
- 连接
- 汽车
- 自动化
- 自动表
- 自动化和干细胞工程
- 汽车
- 可使用
- 航空
- 避免
- AWS
- AWS 客户
- AWS专业服务
- 背部
- 基于
- 基础
- BE
- 因为
- 很
- before
- 作为
- 最佳
- 最佳实践
- 之间
- 大
- 大数据运用
- 都
- 分支机构
- 桥接
- 瞻
- 建立
- 建筑物
- 建
- 商业
- 但是
- by
- 计算
- 加州
- 被称为
- CAN
- 案件
- 中央
- 更改
- 变
- 更改
- 收费
- 查
- 选择
- 码
- 合作
- 收集
- 科罗拉多州
- 柱
- 列
- COM的
- 组合
- 完成
- 符合
- 组件
- 全面
- 一台
- 计算机科学
- 流程条件
- 配置
- 确认
- 安慰
- 顾问
- 容器
- 包含
- 控制
- 兑换
- 相应
- 创建信息图
- 创建
- 创造
- 资历
- USB和Thunderbolt Cross
- 顾客
- 客户解决方案
- 合作伙伴
- 每天
- XNUMX月XNUMX日
- data
- 数据湖
- 数据科学
- 数据科学家
- 数据集
- 解码
- 默认
- 学位
- 部署
- 部署
- 部署
- 部署
- 设计
- 详情
- 检测
- 检测
- 开发
- 发达
- 发展
- 研发支持
- 信息通信技术部
- 不同
- 域
- 域名
- ,我们将参加
- 动态
- 每
- 此前
- 效果
- 或
- 邮箱地址
- 电子邮件
- enable
- 加密
- 工程师
- 确保
- 输入
- 环境
- 环境中
- 必要
- 事件
- 演变
- 执行
- 预期
- 体验
- 解释
- 说明
- 延长
- 促进
- 失败
- 失败
- 失败
- 失败
- 专栏
- 特征
- 少数
- 数字
- 文件
- 最后
- 金融
- 完
- 企业
- 姓氏:
- 第一次
- 以下
- 针对
- 发现
- 骨架
- 框架
- 止
- 履行
- ,
- 功能
- 实用
- 未来
- 差距
- 生成
- 产生
- 产生
- 得到
- 混帐
- GitHub上
- 给
- 特定
- 给
- 全球
- Go
- GOES
- 补助金
- 团队
- 有
- 医疗保健
- 这里
- 更高
- 持有
- 托管
- 创新中心
- How To
- HTML
- HTTP
- HTTPS
- ID
- 身分
- if
- 实施
- 进口
- in
- 包括
- 包含
- 指数
- 基础设施
- 原来
- 项目
- 输入
- 安装
- 安装
- 例
- 说明
- 集成
- 房源搜索
- 网络
- 成
- 介绍
- IT
- 工作
- 工作机会
- JPG
- JSON
- 键
- 键
- 标签
- 湖泊
- 景观
- 后来
- 最新
- 学习
- 导致
- 杠杆
- 生活
- 生命科学
- Line
- 日志
- 长期
- 机
- 机器学习
- 主要
- 保持
- 使
- 管理
- 颠覆性技术
- 制造业
- 余量
- 质量
- 硕士
- 机制
- 会议
- 菜单
- 合并
- 指标
- 失踪
- ML
- 多播
- 模型
- 造型
- 模型
- 修改
- 模块
- 美好瞬间
- 显示器
- 监控
- 监控
- 更多
- 多
- 姓名
- 命名
- 命名
- 旅游导航
- 需求
- 打印车票
- 需要
- 全新
- 下页
- 正常
- 笔记本
- 通知
- 通知
- 数
- 麻木
- of
- 经常
- on
- 一
- 运营
- or
- 秩序
- 组织
- 其他名称
- 输出
- 学校以外
- 超过
- 简介
- 己
- 包
- 页
- 面包
- 大熊猫
- 面包
- 部分
- 部分
- 通过
- 情
- 多情
- 模式
- 性能
- 权限
- 摄影
- 采摘的
- 精选
- 管道
- 平台
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 点
- 政策
- 政策
- 帖子
- 做法
- 预测
- 预测
- Prepare
- 先决条件
- 以前
- 校长
- 先
- 权限
- 过程
- 处理
- 生产
- 核心产品
- 所以专业
- 项目
- 促进
- 提拔
- 提升
- 提供
- 提供
- 提供
- 优
- 规定
- 公然
- 拉
- 追求
- 推
- 蟒蛇
- 很快
- 急速
- 原
- 阅读
- 准备
- 真实的世界
- 地区
- 寄存器
- 在相关机构注册的
- 寄存器
- 注册处
- 监管
- 有关
- 关系
- 去掉
- 知识库
- 请求
- 必须
- 岗位要求
- 资源
- 资源
- 响应
- 零售
- 回报
- 河滨
- 角色
- 角色
- 根
- 第
- 定位、竞价/采购和分析/优化数字媒体采购,但算法只不过是解决问题的操作和规则。
- 运行
- 运行
- sagemaker
- SageMaker管道
- 同
- 保存
- 保存
- 可扩展性
- 脚本
- 始你
- 预定
- 调度
- 科学
- 科学
- 科学家
- 脚本
- 脚本
- 无缝
- 其次
- 部分
- 安全
- 保安
- 看到
- 提交
- 发送
- 发送
- 发送
- 分开
- 服务器
- 服务
- 特色服务
- 集
- 设置
- 格局
- 形状
- Share
- 她
- 应该
- 显示
- 展出
- 如图
- 作品
- 简易
- 片段
- So
- 方案,
- 解决方案
- 解决
- 来源
- 来源
- 太空
- 专门
- 具体的
- 分裂
- 州/领地
- 个人陈述
- 静止
- Status
- 步
- 步骤
- 仍
- 商店
- 存储
- 商店
- 串
- 结构体
- 工作室
- 成功
- 这样
- 支持
- 目标
- 队
- 电信
- Terraform
- test
- 测试
- 这
- 他们
- 然后
- 那里。
- 博曼
- 事
- 第三
- 第三方
- Free Introduction
- 三
- 通过
- 次
- 至
- 工具集
- 最佳
- 主题
- 跟踪时
- 培训
- 熟练
- 产品培训
- 改造
- 触发
- 引发
- 触发
- true
- 信任
- 转
- 二
- ui
- 下
- 大学
- 美国加州大学
- 更新
- 更新
- 上传
- 网址
- us
- 使用
- 用过的
- 运用
- 效用
- 价值观
- 各个
- 版本
- 版本
- 通过
- 视频
- 可见
- 了解
- we
- 卷筒纸
- Web服务
- ,尤其是
- 每当
- 而
- 这
- 而
- 将
- 中
- 也完全不需要
- 工作
- 工作
- 工作流程
- 加工
- 合作
- 写
- 书面
- 完全
- 您一站式解决方案
- YouTube的
- 和风网