Amazon で Hugging Face を使用する SageMaker - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon で Hugging Face を使用する SageMaker

Amazon SageMaker では、 で自然言語処理 (NLP) 用の Hugging Face モデルを使用して推論をトレーニング、微調整、実行できます SageMaker。Hugging Face はトレーニングと推論の両方に使用できます。Hugging Face AWS Deep Learning Containers の開発を通してこの機能を利用できます。これらのコンテナには、Hugging Face Transformers、Tokenizers、データセットライブラリが含まれ、これらのリソースをトレーニングや推論のジョブに使用できます。使用可能な Deep Learning Containers イメージのリストについては、「使用可能な Deep Learning Containers イメージ」を参照してください。これらの Deep Learning Containers イメージは保守されており、セキュリティパッチで定期的に更新されています。

SageMaker Python SDK で Hugging Face Deep Learning Containers をトレーニングに使用するには、「Hugging Face SageMaker Estimator」を参照してください。Hugging Face 推定器を使用すると、他の推定器と同じように Hugging Face SageMaker モデルを使用できます。ただし、 SageMaker Python SDK の使用はオプションです。 AWS CLI および を使用して、Hugging Face Deep Learning Containers の使用を調整することもできます AWS SDK for Python (Boto3)。

Hugging Face とその中で利用可能なモデルの詳細については、Hugging Face のドキュメントを参照してください。

トレーニング

トレーニングを実行するには、Hugging Face で利用可能な何千ものモデルのいずれかを使用でき、追加のトレーニングをすることで特定のユースケースに合わせて微調整できます。では SageMaker、標準トレーニングを使用するか、SageMaker 分散データとモデル並列トレーニング を利用できます。カスタムコードを使用する他の SageMaker トレーニングジョブと同様に、「トレーニングメトリクスの定義 ( SageMaker Python SDK)」に示すように、メトリクス定義を Python SDK に渡すことで、独自のメトリクスをキャプチャできます。 SageMaker その後、キャプチャされたメトリクスは、 を介して、CloudWatchおよびTrainingJob分析メソッドDataFrameを介して Pandas としてアクセスできるようになります。モデルのトレーニングと微調整が完了したら、そのモデルを他のモデルと同様に使って推論ジョブを実行できます。

Hugging Face 推定器でトレーニングを実行する方法

SageMaker Python SDK を使用して、トレーニングジョブ用の Hugging Face 推定器を実装できます。 SageMaker Python SDK は、 で機械学習モデルをトレーニングおよびデプロイするためのオープンソースライブラリです SageMaker。Hugging Face Estimator の詳細については、SageMakerPython SDK ドキュメントを参照してください。

SageMaker Python SDK を使用すると、次の環境で Hugging Face Estimator を使用してトレーニングジョブを実行できます。

  • SageMaker Studio : Amazon SageMaker Studio は、機械学習 (ML) 用の最初の完全統合開発環境 (IDE) です。 SageMaker Studio には、モデルの準備、構築、トレーニング、チューニング、デプロイ、管理に必要なすべての ML 開発ステップを実行できる、単一のウェブベースのビジュアルインターフェイスが用意されています。Studio で Jupyter Notebooks を使用する方法については、「Amazon SageMaker Studio Notebooks を使用する」を参照してください。

  • SageMaker ノートブックインスタンス: Amazon SageMaker ノートブックインスタンスは、Jupyter Notebook アプリケーションを実行する機械学習 (ML) コンピューティングインスタンスです。このアプリを使用すると、ノートブックインスタンスで Jupyter Notebooks を実行して、デバッガー、Model Monitoring、ウェブベースの IDE などの SageMaker Studio 機能を使用せずに、データの準備と処理、モデルのトレーニング、 SageMaker ホスティングへのモデルのデプロイ、モデルのテストと検証を行うコードの作成を行うことができます。

  • ローカル: への接続 AWS があり、適切な SageMaker アクセス許可がある場合は、 SageMaker Python SDK をローカルで使用して、 の Hugging Face のリモートトレーニングジョブと推論ジョブを SageMaker で起動できます AWS。これは、ローカルマシンだけでなく、接続された SageMaker Python SDK と適切なアクセス許可を持つ他の AWS サービスでも機能します。

推論

推論には、トレーニング済みの Hugging Face モデルまたは事前トレーニング済みの Hugging Face モデルの 1 つを使用して、 で推論ジョブをデプロイできます SageMaker。このコラボレーションでは、トレーニング済みモデルと事前トレーニング済みモデルの両方を でデプロイするのに必要なコード行は 1 行だけです SageMaker。カスタムの推論コードを書かずに推論ジョブを実行することもできます。カスタムの推論コードを使うと、独自の Python スクリプトを提供することで、推論ロジックをカスタマイズできます。

Hugging Face Deep Learning Containers を使って推論ジョブをデプロイする方法

で推論を実行するには、2 つのオプションがあります SageMaker。トレーニング済みのモデルを使った推論の実行、または事前トレーニング済み Hugging Face モデルのデプロイが可能です。

  • トレーニング済みのモデルで推論を実行する: 独自のトレーニング済みモデルで推論を実行する場合、2 つのオプションがあります。Hugging Face SageMaker Deep Learning Containers で既存の Hugging Face モデルを使用してトレーニングしたモデルで推論を実行することも、 を使用して独自の既存の Hugging Face モデルを導入してデプロイすることもできます SageMaker。 SageMaker Hugging Face Estimator でトレーニングしたモデルで推論を実行する場合、トレーニングが完了した直後にモデルをデプロイするか、トレーニングしたモデルを Amazon S3 バケットにアップロードして、後で推論を実行するときに取り込むことができます。「推論のために Hugging Face Transformers をデプロイする」の例にあるように、独自の既存の Hugging Face モデルを持ち込む場合、トレーニング済みモデルを Amazon S3 バケットにアップロードし、推論の実行時にそのバケットを取り込む必要があります。

  • 事前トレーニング済みの HuggingFace モデルで推論を実行する: 何千もの事前トレーニング済みの Hugging Face モデルのいずれかを使用して、追加のトレーニングを必要とせずに推論ジョブを実行できます。「推論のために、事前トレーニング済みの Hugging Face Transformers をデプロイする」の例にあるように、推論を実行するには、Hugging Face モデルのリストから事前トレーニング済みのモデルを選択します。

何をしたいですか?

Hugging Face ノートブックリポジトリの次の Jupyter Notebooks は、さまざまなユースケース SageMaker で Hugging Face Deep Learning Containers を で使用する方法を示しています。

SageMaker で Hugging Face を使用してテキスト分類モデルをトレーニングしてデプロイしたい PyTorch。

Jupyter Notebook のサンプルについては、PyTorch 「入門デモ」を参照してください。

SageMaker で Hugging Face を使用してテキスト分類モデルをトレーニングしてデプロイしたい TensorFlow。

Jupyter Notebook のサンプルについては、「開始方法TensorFlow 」の例を参照してください。

Hugging Face と SageMaker Distributed を使用して、データ並列処理で分散トレーニングを実行したい。

サンプルの Jupyter ノートブックについては、「分散トレーニングのサンプル」を参照してください。

Hugging Face と SageMaker Distributed を使用してモデル並列処理で分散トレーニングを実行したい。

サンプルの Jupyter ノートブックについては、「モデル並列処理のサンプル」を参照してください。

スポットインスタンスを使用して、 で Hugging Face を使用してモデルをトレーニングおよびデプロイしたい SageMaker。

サンプルの Jupyter ノートブックについては、「スポットインスタンスのサンプル」を参照してください。

で Hugging Face SageMaker を使用してテキスト分類モデルをトレーニングするときに、カスタムメトリクスをキャプチャし、チェックポイントを使用します SageMaker。

サンプルの Jupyter ノートブックについては、「カスタムメトリクスを使ったトレーニングのサンプル」を参照してください。

で Hugging Face を使用して分散型質問応答 TensorFlow モデルをトレーニングしたい SageMaker。

Jupyter Notebook のサンプルについては、「分散 TensorFlow トレーニングの例」を参照してください。

で Hugging Face を使用して分散要約モデルをトレーニングしたい SageMaker。

サンプルの Jupyter ノートブックについては、「分散型要約トレーニングのサンプル」を参照してください。

で Hugging Face を使用して画像分類モデルをトレーニングしたい SageMaker。

サンプルの Jupyter ノートブックについては、「Vision Transformer トレーニングのサンプル」を参照してください。

トレーニング済みの Hugging Face モデルを にデプロイしたい SageMaker。

サンプルの Jupyter ノートブックについては、「推論のために Hugging Face Transformers をデプロイする」の例を参照してください。

トレーニング済みの Hugging Face モデルを にデプロイしたい SageMaker。

サンプルの Jupyter ノートブックについては、「推論のために、事前トレーニング済みの Hugging Face Transformers をデプロイする」の例を参照してください。