参考
深度学习容器
您可以在下面找到当前可用 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
:您要使用的框架,可以是pytorch
或tensorflow
。(training | inference)
:训练或推理模式。framework-version
:您要使用的框架版本。transformers-version
:您要使用的 transformers 库的版本。device
:您要使用的设备,可以是cpu
或gpu
。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 Transformers、Amazon SageMaker 和 Amazon 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_REVISION
是 HF_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"