Amazon で Hugging Face を使用するためのリソース SageMaker - Amazon SageMaker

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

Amazon で Hugging Face を使用するためのリソース SageMaker

Amazon SageMaker では、 の自然言語処理 (NLP) 用の Hugging Face モデルを使用して推論をトレーニング、微調整、実行できます SageMaker。Hugging Face はトレーニングと推論の両方に使用できます。次のセクションでは、Hugging Face モデルに関する情報と、 で Hugging Face を使用する方法を学ぶために使用できるリファレンスマテリアルについて説明します SageMaker。

Hugging Face AWS Deep Learning Containers の開発を通してこの機能を利用できます。これらのコンテナには、Hugging Face Transformers、Tokenizers、データセットライブラリが含まれ、これらのリソースをトレーニングや推論のジョブに使用できます。使用可能な Deep Learning Containers イメージのリストについては、「使用可能な Deep Learning Containers イメージ」を参照してください。これらの Deep Learning Containers イメージは保守されており、セキュリティパッチで定期的に更新されています。

SageMaker Python で Hugging Face Deep Learning Containers をトレーニングSDKに使用するには、「Hugging Face SageMaker Estimator」を参照してください。Hugging Face Estimator では、他の SageMaker Estimator と同様に Hugging Face モデルを使用できます。ただし、 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。例については、「トレーニングメトリクスの定義 (SageMaker Python SDK)」を参照してください。CloudWatch と を Pandas として使用して、 TrainingJobAnalyticsメソッドDataFrameを使用してキャプチャされたメトリクスにアクセスできます。モデルをトレーニングして微調整したら、他のモデルと同様に使用して推論ジョブを実行できます。

Hugging Face 推定器を使用してトレーニングを実行する方法

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

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

  • Amazon SageMaker Studio Classic : Studio Classic は、機械学習 (MLIDE) 用の最初の完全統合開発環境 () です。Studio Classic は、以下のために必要なすべての ML 開発ステップを実行することができる、単一のウェブベースのビジュアルインターフェイスを提供します。

    • 準備

    • buid (構築)

    • トレーニングとチューニング

    • モデルのデプロイと管理

    Studio Classic で Jupyter Notebooks を使用する方法については、「」を参照してくださいAmazon SageMaker Studio Classic ノートブックの使用

  • SageMaker ノートブックインスタンス : Amazon SageMaker ノートブックインスタンスは、Jupyter Notebook App を実行する機械学習 (ML) コンピューティングインスタンスです。このアプリでは、ノートブックインスタンスで Jupyter Notebooks を実行して次のことを実行できます。

    • データの準備と処理

    • モデルをトレーニングするためのコードを記述する

    • SageMaker ホスティングにモデルをデプロイする

    • デバッガー、モデルモニタリング、ウェブベースの などの SageMaker Studio 機能を使用せずにモデルをテストまたは検証する IDE

  • ローカル: への接続 AWS があり、適切な SageMaker アクセス許可がある場合は、 SageMaker Python をSDKローカルで使用できます。ローカル使用では、 SageMaker で Hugging Face のリモートトレーニングと推論ジョブを起動できます 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 Deep Learning Containers で既存の SageMaker Hugging Face モデルを使用してトレーニングしたモデルで推論を実行します。

    • 独自の既存の Hugging Face モデルを持ち込み、 を使用してデプロイします SageMaker。

    SageMaker Hugging Face Estimator でトレーニングしたモデルで推論を実行すると、トレーニングが完了した直後にモデルをデプロイできます。トレーニング済みモデルを Amazon S3 バケットにアップロードし、後で推論を実行するときに取り込むこともできます。

    既存の Hugging Face モデルをお持ちの場合は、トレーニング済みモデルを Amazon S3 バケットにアップロードする必要があります。次に、「推論のために Hugging Face Transformers をデプロイする」の例「」に示すように、推論を実行するときにそのバケットを取り込みます。

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

何をしたいですか?

Hugging Face ノートブックリポジトリの次のノートブックは、さまざまなユースケース 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 をデプロイする」の例を参照してください。