翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SageMaker AI で Hugging Face を使用するためのリソース
Amazon SageMaker AI を使用すると、SageMaker AI で自然言語処理 (NLP) 用の Hugging Face モデルを使用して推論をトレーニング、ファインチューニング、実行できます。Hugging Face はトレーニングと推論の両方に使用できます。次のセクションでは、Hugging Face モデルに関する情報と、SageMaker AI で Hugging Face を使用する方法を学ぶために使用できる参考資料を提供します。
Hugging Face AWS Deep Learning Containers の開発を通してこの機能を利用できます。これらのコンテナには、Hugging Face Transformers、Tokenizers、データセットライブラリが含まれ、これらのリソースをトレーニングや推論のジョブに使用できます。使用可能な Deep Learning Containers イメージのリストについては、「使用可能な Deep Learning Containers イメージ
SageMaker Python SDK で Hugging Face Deep Learning Containers をトレーニングに使用するには、Hugging Face SageMaker AI 推定器
Hugging Face とその中で利用可能なモデルの詳細については、Hugging Face のドキュメント
トレーニング
トレーニングを実行するには、Hugging Face で利用可能な数千ものモデルのいずれかを使用し、追加のトレーニングを行って特定のユースケースに合わせてファインチューニングできます。SageMaker AI を使用すると、標準トレーニングを使用したり、SageMaker AI 分散データおよびモデル並列トレーニングを活用したりできます。
カスタムコードを使用する他の SageMaker トレーニングジョブと同様に、メトリクス定義を SageMaker Python SDK に渡すことで、独自のメトリクスを取得できます。例については、「Defining Training Metrics (SageMaker Python SDK)」を参照してください。キャプチャしたメトリクスには、CloudWatch を介して、また、TrainingJobAnalyticsDataFrame
としてアクセスできます。モデルのトレーニングとファインチューニングが完了したら、そのモデルを他のモデルと同様に使用して推論ジョブを実行できます。
Hugging Face 推定ツールを使用してトレーニングを実行する方法
SageMaker AI Python SDK を使用して、トレーニングジョブ用の Hugging Face Estimator を実装できます。SageMaker Python SDK は、SageMaker AI で機械学習モデルをトレーニングおよびデプロイするためのオープンソースライブラリです。Hugging Face Estimator の詳細については、SageMaker AI Python SDK ドキュメントを参照してください。
SageMaker Python SDK を使うと、次の環境で Hugging Face 推定器を使って、トレーニングジョブを実行できます。
-
Amazon SageMaker Studio Classic: Studio Classic は、機械学習 (ML) 向けの初の完全な統合開発環境 (IDE) です。Studio Classic は、以下を行ううえで必要なすべての ML 開発ステップを実行することができる、単一のウェブベースのビジュアルインターフェイスを提供します。
-
準備
-
ビルド
-
トレーニングとチューニング
-
モデルのデプロイと管理
Studio Classic で Jupyter Notebooks を使用する方法については、「Amazon SageMaker Studio Classic ノートブックを使用する」を参照してください。
-
-
SageMaker ノートブックインスタンス: Amazon SageMaker ノートブックインスタンスは、Jupyter ノートブックアプリを実行する機械学習 (ML) コンピューティングインスタンスです。このアプリケーションでは、ノートブックインスタンスで Jupyter Notebooks を実行して次を実行できます。
-
データの準備と処理
-
モデルをトレーニングするためのコードの記述
-
SageMaker AI ホスティングにモデルをデプロイする
-
デバッガー、モデルモニタリング、ウェブベースの IDE などの SageMaker Studio 機能を使用しないモデルのテストと検証
-
-
ローカル: に接続 AWS でき、適切な SageMaker AI アクセス許可がある場合は、SageMaker Python SDK をローカルで使用できます。ローカルで使用すると、SageMaker AI で Hugging Face のリモートトレーニングジョブと推論ジョブを起動できます AWS。これは、ローカルマシンだけでなく、接続された SageMaker Python SDK と適切なアクセス許可を持つ他の AWS サービスでも機能します。
推論
推論には、トレーニング済みの Hugging Face モデルまたはトレーニング済みの Hugging Face モデルの 1 つを使用して、SageMaker AI で推論ジョブをデプロイできます。このコラボレーションでは、SageMaker AI を使用してトレーニング済みモデルと事前トレーニング済みモデルの両方をデプロイするために必要なコードは 1 行のみです。カスタムの推論コードを書かずに推論ジョブを実行することもできます。カスタムの推論コードを使うと、独自の Python スクリプトを提供することで、推論ロジックをカスタマイズできます。
Hugging Face Deep Learning Containers を使って推論ジョブをデプロイする方法
SageMaker AI で推論を実行するには、2 つのオプションがあります。トレーニング済みのモデルを使った推論の実行、または事前トレーニング済み Hugging Face モデルのデプロイが可能です。
-
トレーニング済みのモデルで推論を実行する: 独自のトレーニング済みモデルで推論を実行する場合、以下の 2 つのオプションがあります。
-
SageMaker AI Hugging Face Deep Learning Containers で既存の Hugging Face モデルを使用してトレーニングしたモデルで推論を実行します。
-
独自の既存の Hugging Face モデルを取り込んで、SageMaker AI を使用してデプロイします。
SageMaker AI Hugging Face Estimator でトレーニングしたモデルで推論を実行すると、トレーニングが完了した直後にモデルをデプロイできます。トレーニング済みのモデルを Amazon S3 バケットにアップロードして、後で推論を実行する際に取り込むこともできます。
独自の既存の Hugging Face モデルを持ち込む場合は、トレーニング済みのモデルを Amazon S3 バケットにアップロードする必要があります。その後、「Deploy your Hugging Face Transformers for inference example
」に記載されているとおり、推論を実行する際にそのバケットを取り込みます。 -
-
事前トレーニング済みの Hugging Face モデルで推論を実行する: 数千ある事前トレーニング済みの Hugging Face モデルの 1 つを使って、追加のトレーニングの必要なく推論ジョブを実行できます。「Deploy pre-trained Hugging Face Transformers for inference example
」で概説されているとおり、推論を実行するには、Hugging Face モデル のリストから事前トレーニング済みのモデルを選択します。
何をしたいですか?
Hugging Face ノートブックリポジトリの次のノートブックは、さまざまなユースケースで SageMaker AI で Hugging Face Deep Learning Containers を使用する方法を示しています。
- SageMaker AI with PyTorch で Hugging Face を使用してテキスト分類モデルをトレーニングしてデプロイしたい。
-
サンプルの Jupyter ノートブックについては、「PyTorch の入門用デモ
」を参照してください。 - TensorFlow を備えた SageMaker AI で Hugging Face を使用してテキスト分類モデルをトレーニングしてデプロイしたい。
-
サンプルの Jupyter ノートブックについては、「TensorFlow の入門用サンプル
」を参照してください。 - Hugging Face と SageMaker AI Distributed を使用して、データ並列処理で分散トレーニングを実行したい。
-
サンプルの Jupyter ノートブックについては、「分散トレーニングのサンプル
」を参照してください。 - Hugging Face と SageMaker AI Distributed を使用してモデル並列処理で分散トレーニングを実行したい。
-
サンプルの Jupyter ノートブックについては、「モデル並列処理のサンプル
」を参照してください。 - スポットインスタンスを使用して、SageMaker AI で Hugging Face を使用してモデルをトレーニングおよびデプロイしたい。
-
サンプルの Jupyter ノートブックについては、「スポットインスタンスのサンプル
」を参照してください。 - SageMaker AI で Hugging Face を使用してテキスト分類モデルをトレーニングするときに、カスタムメトリクスをキャプチャし、SageMaker AI チェックポイントを使用します。
-
サンプルの Jupyter ノートブックについては、「カスタムメトリクスを使ったトレーニングのサンプル
」を参照してください。 - SageMaker AI で Hugging Face を使用して、分散型の質疑応答 TensorFlow モデルをトレーニングしたい。
-
サンプルの Jupyter ノートブックについては、「分散型 TensorFlow トレーニングのサンプル
」を参照してください。 - SageMaker AI で Hugging Face を使用して分散要約モデルをトレーニングしたい。
-
サンプルの Jupyter ノートブックについては、「分散型要約トレーニングのサンプル
」を参照してください。 - SageMaker AI で Hugging Face を使用して画像分類モデルをトレーニングしたい。
-
サンプルの Jupyter ノートブックについては、「Vision Transformer トレーニングのサンプル
」を参照してください。 - トレーニング済みの Hugging Face モデルを SageMaker AI にデプロイしたい。
-
サンプルの Jupyter ノートブックについては、「推論のために Hugging Face Transformers をデプロイする
」の例を参照してください。 - SageMaker AI に事前トレーニング済みの Hugging Face モデルをデプロイしたい。
-
サンプルの Jupyter ノートブックについては、「推論のために、事前トレーニング済みの Hugging Face Transformers をデプロイする
」の例を参照してください。