在亚马逊上使用 Hugging Face SageMaker - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在亚马逊上使用 Hugging Face SageMaker

亚马逊 SageMaker 允许客户使用用于自然语言处理 (NLP) 的 Hugging Face 模型进行训练、微调和运行推理。 SageMaker您可以使用 Hugging Face 进行训练和推理。此功能可通过开发 Hugging Face Amazon Deep Learning Containers 来实现。这些容器包括 Hugging Face Transformers、Tokenizers 和 Datasets 库,它们允许您将这些资源用于训练和推理作业。有关可用深度学习容器映像的列表,请参阅可用的深度学习容器映像。这些深度学习容器映像会得到维护,并定期更新安全补丁。

要使用带有 SageMaker Python SDK 的 Hugging Face Deep Learning Containers 进行训练,请参阅 SageMaker Hugging Fac e 估算器。有了 Hugging Face Estimator,你可以像使用任何其他 Estimator 一样使用 Hugging Face 模型。 SageMaker 但是,使用 SageMaker Python 开发工具包是可选的。你还可以使用和来编排 Hugging Face Deep Learning Containers 的使用。 Amazon CLI Amazon SDK for Python (Boto3)

有关 Hugging Face 及其中可用模型的更多信息,请参阅 Hugging Face 文档

训练

要进行训练,您可以使用 Hugging Face 中数千种模型中的任一种,并通过额外的训练针对您的特定使用案例对其进行微调。使用 SageMaker,您可以使用标准训练或利用SageMaker 分布式数据和模型并行训练。与其他使用自定义代码的 SageMaker 训练作业一样,您可以通过将指标定义传递给 SageMaker Python SDK 来捕获自己的指标,如定义训练指标 (P SageMaker ython SDK) 中所示。然后,可以通过 Pand DataFrame as 访问捕获的指标 CloudWatch,也可以通过 TrainingJobAnalytics 方法访问捕获的指标。模型经过训练和微调后,您可以像使用任何其他模型一样使用它来运行推理作业。

如何使用 Hugging Face 估算器进行训练

你可以使用 Python SDK 为训练作业实现 Hugging Face 估算器。 SageMaker SageMaker Python SDK 是一个开源库,用于训练和部署机器学习模型 SageMaker。有关 Hugging Face Estimator 的更多信息,请参阅 SageMakerPython SDK 文档。

使用 SageMaker Python SDK,你可以在以下环境中使用 Hugging Face Estimator 运行训练作业:

  • SageMakerStudi o:Amazon SageMaker Studio 是第一个用于机器学习 (ML) 的完全集成的开发环境 (IDE)。 SageMaker Studio 提供了一个基于 Web 的可视化界面,您可以在其中执行准备、构建、训练和调整、部署和管理模型所需的所有 ML 开发步骤。有关在 Studio 中使用 Jupyter 笔记本的信息,请参阅使用 Amazon Stu SageMaker d io 笔记本电脑。

  • SageMaker 笔记本实例:Amazon SageMaker 笔记本实例是运行 Jupyter 笔记本应用程序的机器学习 (ML) 计算实例。此应用程序允许您在笔记本实例中运行 Jupyter Notebooks 来准备和处理数据、编写用于训练模型的代码、将模型部署到 SageMaker 托管以及测试或验证模型,而无需调试器、模型监控和基于 Web 的 IDE 等 SageMaker Studio 功能。

  • 本地:如果您已连接 Amazon 并拥有相应的 SageMaker 权限,则可以在本地使用 SageMaker Python SDK 在 on 中启动 Hugging Face 的远程训练和推理作业。 SageMaker Amazon这适用于您的本地计算机,以及其他具有连接 SageMaker Python SDK 和相应权限的 Amazon 服务。

推理

为了进行推理,您可以使用经过训练的 Hugging Face 模型或预先训练的 Hugging Face 模型来部署推理作业。 SageMaker通过这种协作,您只需要一行代码即可部署经过训练的模型和预训练的 SageMaker模型。您也可以运行推理作业,而无需编写任何自定义推理代码。使用自定义推理代码,您可以通过提供自己的 Python 脚本来自定义推理逻辑。

如何使用 Hugging Face Deep Learning Containers 部署推理作业

您可以使用两个选项来运行推理。 SageMaker您可以使用自己训练的模型进行推理,也可以部署预训练的 Hugging Face 模型。

  • 使用训练好的模型进行推理:使用自己训练的模型进行推理有两种选择。你可以使用你使用现有 Hugging Face 模型和 Hugging Face Deep Learning Containers 训练的模型进行推理,也可以使用自己的现有 Hugging Face 模型进行部署。 SageMaker SageMaker当您使用使用 SageMaker Hugging Face Estimator 训练的模型运行推理时,可以在训练完成后立即部署模型,也可以将训练后的模型上传到 Amazon S3 存储桶,并在以后运行推理时将其摄取。如果您自带现有 Hugging Face 模型,则必须将训练好的模型上传到 Amazon S3 存储桶,并在进行推理时摄取该存储桶,如部署 Hugging Face Transformers 进行推理示例中所示。

  • 使用预训练 HuggingFace 模型运行推理:您可以使用数千个预先训练的 Hugging Face 模型中的一个来运行推理作业,无需额外训练。要进行推理,请从 Hugging Face 模型列表中选择预训练的模型,如部署预训练的 Hugging Face Transformers 进行推理示例中所述。

您需要做什么?

Hugging Face 笔记本存储库中的以下 Jupyter 笔记本说明了如何在各种用例中使用 Hugging Face Deep Learning Containers SageMaker 。

我想使用 Hugging Face 来训练和部署文本分类模型 SageMaker 。 PyTorch

要获取 Jupyter 笔记本的示例,请参阅PyTorch 入门演示

我想使用 Hugging Face 来训练和部署文本分类模型 SageMaker 。 TensorFlow

有关 Jupyter 笔记本的示例,请参阅TensorFlow 入门示例。

我想使用 Hugging Face 和 Distributed 来运行具有数据并行性的分布式训练。 SageMaker

有关示例 Jupyter 笔记本,请参阅分布式训练示例

我想使用 Hugging Face 和 Distributed 来运行具有模型并行性的分布式训练。 SageMaker

有关示例 Jupyter 笔记本,请参阅模型并行性示例

我想使用竞价实例来训练和部署使用 Hugging Fac SageMaker e 的模型。

有关示例 Jupyter 笔记本,请参阅竞价型实例示例

我想捕获自定义指标并在使用 Hugging Fac SageMaker e 训练文本分类模型时使用 Checkpointing。 SageMaker

有关示例 Jupyter 笔记本,请参阅使用自定义指标进行训练示例

我想使用 Hugging Face 来训练分布式问答 TensorFlow 模型。 SageMaker

有关 Jupyter 笔记本的示例,请参阅分布式 TensorFlow 训练示例。

我想使用 Hugging Face 来训练分布式汇总模型。 SageMaker

有关示例 Jupyter 笔记本,请参阅分布式汇总训练示例

我想使用 Hugging Fac SageMaker e 来训练图像分类模型。

有关示例 Jupyter 笔记本,请参阅 Vision Transformer 训练示例

我想在里面部署我训练过的 Hugging Face 模型 SageMaker。

有关示例 Jupyter 笔记本,请参阅部署您的 Hugging Face Transformers 进行推理示例

我想在中部署一个经过预训练的 Hugging Face 模型。 SageMaker

有关示例 Jupyter 笔记本,请参阅部署预训练的 Hugging Face Transformers 进行推理示例