Amazon SageMaker 文档

参考

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始

参考

深度学习容器

您可以在下面找到当前可用 Hugging Face DLC 的版本表。该表不包含完整的 image_uri,以下是如何在需要时构建这些 URI 的两个示例。

手动构建 image_uri

{dlc-aws-account-id}.dkr.ecr.{region}.amazonaws.com/huggingface-{framework}-{(training | inference)}:{framework-version}-transformers{transformers-version}-{device}-{python-version}-{device-tag}

  • dlc-aws-account-id:拥有 ECR 存储库的账户的 AWS 账户 ID。您可以在此处找到它们
  • region:您要使用它的 AWS 区域。
  • framework:您要使用的框架,可以是 pytorchtensorflow
  • (training | inference):训练或推理模式。
  • framework-version:您要使用的框架版本。
  • transformers-version:您要使用的 transformers 库的版本。
  • device:您要使用的设备,可以是 cpugpu
  • python-version:DLC 中 python 的版本。
  • device-tag:您要使用的设备标签。设备标签可以包含操作系统版本和 CUDA 版本

示例 1:PyTorch 训练:763104351884.dkr.ecr.us-west-2.amazonaws.com/huggingface-pytorch-training:1.6.0-transformers4.4.2-gpu-py36-cu110-ubuntu18.04 示例 2:Tensorflow 推理:763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-tensorflow-inference:2.4.1-transformers4.6.1-cpu-py37-ubuntu18.04

训练 DLC 概述

训练 DLC 概述包含所有已发布和可用的 Hugging Face 训练 DLC。它包括适用于 GPU 的 PyTorch 和 TensorFlow 版本。

🤗 Transformers 版本 🤗 数据集版本 PyTorch/TensorFlow 版本 类型 设备 Python 版本
4.4.2 1.5.0 PyTorch 1.6.0 训练 GPU 3.6
4.4.2 1.5.0 TensorFlow 2.4.1 训练 GPU 3.7
4.5.0 1.5.0 PyTorch 1.6.0 训练 GPU 3.6
4.5.0 1.5.0 TensorFlow 2.4.1 训练 GPU 3.7
4.6.1 1.6.2 PyTorch 1.6.0 训练 GPU 3.6
4.6.1 1.6.2 PyTorch 1.7.1 训练 GPU 3.6
4.6.1 1.6.2 TensorFlow 2.4.1 训练 GPU 3.7
4.10.2 1.11.0 PyTorch 1.8.1 训练 GPU 3.6
4.10.2 1.11.0 PyTorch 1.9.0 训练 GPU 3.8
4.10.2 1.11.0 TensorFlow 2.4.1 训练 GPU 3.7
4.10.2 1.11.0 TensorFlow 2.5.1 训练 GPU 3.7
4.11.0 1.12.1 PyTorch 1.9.0 训练 GPU 3.8
4.11.0 1.12.1 TensorFlow 2.5.1 训练 GPU 3.7
4.12.3 1.15.1 PyTorch 1.9.1 训练 GPU 3.8
4.12.3 1.15.1 TensorFlow 2.5.1 训练 GPU 3.7
4.17.0 1.18.4 PyTorch 1.10.2 训练 GPU 3.8
4.17.0 1.18.4 TensorFlow 2.6.3 训练 GPU 3.8
4.26.0 2.9.0 PyTorch 1.13.1 训练 GPU 3.9

推理 DLC 概述

推理 DLC 概述包含所有已发布和可用的 Hugging Face 推理 DLC。它包括适用于 CPU、GPU 和 AWS Inferentia 的 PyTorch 和 TensorFlow 版本。

🤗 Transformers 版本 PyTorch/TensorFlow 版本 类型 设备 Python 版本
4.6.1 PyTorch 1.7.1 推理 CPU 3.6
4.6.1 PyTorch 1.7.1 推理 GPU 3.6
4.6.1 TensorFlow 2.4.1 推理 CPU 3.7
4.6.1 TensorFlow 2.4.1 推理 GPU 3.7
4.10.2 PyTorch 1.8.1 推理 GPU 3.6
4.10.2 PyTorch 1.9.0 推理 GPU 3.8
4.10.2 TensorFlow 2.4.1 推理 GPU 3.7
4.10.2 TensorFlow 2.5.1 推理 GPU 3.7
4.10.2 PyTorch 1.8.1 推理 CPU 3.6
4.10.2 PyTorch 1.9.0 推理 CPU 3.8
4.10.2 TensorFlow 2.4.1 推理 CPU 3.7
4.10.2 TensorFlow 2.5.1 推理 CPU 3.7
4.11.0 PyTorch 1.9.0 推理 GPU 3.8
4.11.0 TensorFlow 2.5.1 推理 GPU 3.7
4.11.0 PyTorch 1.9.0 推理 CPU 3.8
4.11.0 TensorFlow 2.5.1 推理 CPU 3.7
4.12.3 PyTorch 1.9.1 推理 GPU 3.8
4.12.3 TensorFlow 2.5.1 推理 GPU 3.7
4.12.3 PyTorch 1.9.1 推理 CPU 3.8
4.12.3 TensorFlow 2.5.1 推理 CPU 3.7
4.12.3 PyTorch 1.9.1 推理 Inferentia 3.7
4.17.0 PyTorch 1.10.2 推理 GPU 3.8
4.17.0 TensorFlow 2.6.3 推理 GPU 3.8
4.17.0 PyTorch 1.10.2 推理 CPU 3.8
4.17.0 TensorFlow 2.6.3 推理 CPU 3.8
4.26.0 PyTorch 1.13.1 推理 CPU 3.9
4.26.0 PyTorch 1.13.1 推理 GPU 3.9

Hugging Face Transformers Amazon SageMaker 示例

演示如何使用 Hugging Face TransformersAmazon SageMakerAmazon SageMaker Python SDK 构建、训练和部署模型的示例 Jupyter 笔记本。

笔记本 类型 描述
01 使用 PyTorch 入门 训练 使用 PyTorch 对预训练的 Hugging Face Transformer 进行微调以进行文本分类的端到端入门示例
02 使用 TensorFlow 入门 训练 使用 TensorFlow 对预训练的 Hugging Face Transformer 进行微调以进行文本分类的端到端入门示例
03 分布式训练:数据并行 训练 使用 Amazon SageMaker 数据并行策略对预训练的 Hugging Face Transformer 进行微调以进行问答的端到端示例
04 分布式训练:模型并行 训练 使用 Amazon SageMaker 模型并行策略对预训练的 Hugging Face Transformer 进行微调的端到端示例
05 如何使用 Spot 实例和检查点 训练 如何使用 Spot 实例和检查点降低训练成本的端到端示例
06 使用 SageMaker 指标进行实验跟踪 训练 如何使用 SageMaker 指标跟踪您的实验和训练作业的端到端示例
07 分布式训练:数据并行 训练 如何使用 Amazon SageMaker 数据并行与 TensorFlow 的端到端示例
08 分布式训练:使用 T5/BART 进行摘要 训练 如何使用 Amazon SageMaker 数据并行对 BART/T5 进行微调以进行摘要的端到端示例
09 视觉:微调 ViT 训练 如何对视觉转换器进行微调以进行图像分类的端到端示例
10 从 Amazon S3 部署 HF Transformer 推理 如何从 Amazon S3 部署模型的端到端示例
11 从 Hugging Face Hub 部署 HF Transformer 推理 如何从 Hugging Face Hub 部署模型的端到端示例
12 使用 Amazon SageMaker Batch Transform 进行批量处理 推理 如何使用 Amazon SageMaker Batch Transform 进行批量处理的端到端示例
13 自动扩展 SageMaker 端点 推理 如何对 HF 端点使用自动扩展的端到端示例
14 微调并推送到 Hub 训练 如何使用 Hugging Face Hub 作为 MLOps 后端在训练期间保存检查点的端到端示例
15 训练编译器 训练 如何使用 Amazon SageMaker 训练编译器加快训练时间的端到端示例
16 异步推理 推理 如何使用 Amazon SageMaker 异步推理端点与 Hugging Face Transformers 的端到端示例
17 自定义 inference.py 脚本 推理 如何为句子转换器和句子嵌入创建自定义 inference.py 的端到端示例
18 AWS Inferentia 推理 如何使用 AWS Inferentia 加快推理时间的端到端示例

推理工具包 API

推理工具包接受inputs键中的输入,并在parameters键中支持其他pipelines参数。您可以将pipelines中支持的任何kwargs作为parameters提供。

推理工具包 API 支持的任务包括:

  • 文本分类 (text-classification)
  • 情感分析 (sentiment-analysis)
  • 词元分类 (token-classification)
  • 特征提取 (feature-extraction)
  • 填充掩码 (fill-mask)
  • 文本摘要 (summarization)
  • 翻译 (xx 到 yy) (translation_xx_to_yy)
  • 文本到文本生成 (text2text-generation)
  • 文本生成 (text-generation)
  • 音频分类 (audio-classificatin)
  • 自动语音识别 (automatic-speech-recognition)
  • 对话 (conversational)
  • 图像分类 (image-classification)
  • 图像分割 (image-segmentation)
  • 目标检测 (object-detection)
  • 表格问答 (table-question-answering)
  • 零样本分类 (zero-shot-classification)
  • 零样本图像分类 (zero-shot-image-classification)

请参阅以下请求示例,了解其中一些任务:

文本分类 (text-classification)

{
  "inputs": "This sound track was beautiful! It paints the senery in your mind so well I would recomend it
  even to people who hate vid. game music!"
}

情感分析 (sentiment-analysis)

{
  "inputs": "Don't waste your time.  We had two different people come to our house to give us estimates for
a deck (one of them the OWNER).  Both times, we never heard from them.  Not a call, not the estimate, nothing."
}

词元分类 (token-classification)

{
  "inputs": "My name is Sylvain and I work at Hugging Face in Brooklyn."
}

问答 (question-answering)

{
  "inputs": {
    "question": "What is used for inference?",
    "context": "My Name is Philipp and I live in Nuremberg. This model is used with sagemaker for inference."
  }
}

零样本分类 (zero-shot-classification)

{
  "inputs": "Hi, I recently bought a device from your company but it is not working as advertised and I would like to get reimbursed!",
  "parameters": {
    "candidate_labels": ["refund", "legal", "faq"]
  }
}

表格问答 (table-question-answering)

{
  "inputs": {
    "query": "How many stars does the transformers repository have?",
    "table": {
      "Repository": ["Transformers", "Datasets", "Tokenizers"],
      "Stars": ["36542", "4512", "3934"],
      "Contributors": ["651", "77", "34"],
      "Programming language": ["Python", "Python", "Rust, Python and NodeJS"]
    }
  }
}

参数化请求 (parameterized-request)

{
  "inputs": "Hugging Face, the winner of VentureBeat’s Innovation in Natural Language Process/Understanding Award for 2021, is looking to level the playing field. The team, launched by Clément Delangue and Julien Chaumond in 2016, was recognized for its work in democratizing NLP, the global market value for which is expected to hit $35.1 billion by 2026. This week, Google’s former head of Ethical AI Margaret Mitchell joined the team.",
  "parameters": {
    "repetition_penalty": 4.0,
    "length_penalty": 1.5
  }
}

推理工具包环境变量

推理工具包实现了各种额外的环境变量以简化部署。下面显示了完整的 Hugging Face 特定环境变量列表。

HF_TASK

HF_TASK 定义了使用的 🤗 Transformers pipeline 的任务。有关任务的完整列表,请参阅此处

HF_TASK="question-answering"

HF_MODEL_ID

HF_MODEL_ID 定义了模型 ID,在创建 SageMaker 端点时会自动从hf.co/models加载。所有 🤗 Hub 的 10,000 多个模型都可通过此环境变量获得。

HF_MODEL_ID="distilbert-base-uncased-finetuned-sst-2-english"

HF_MODEL_REVISION

HF_MODEL_REVISIONHF_MODEL_ID 的扩展,允许您定义或固定模型版本,以确保您始终在 SageMaker 端点上加载相同的模型。

HF_MODEL_REVISION="03b4d196c19d0a73c7e0322684e97db1ec397613"

HF_API_TOKEN

HF_API_TOKEN 定义您的 Hugging Face 授权令牌。HF_API_TOKEN 用作远程文件(如私有模型)的 HTTP 授权标头。您可以在 Hugging Face 帐户的设置中找到您的令牌。

HF_API_TOKEN="api_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
< > 在 GitHub 上更新