パートナーシップ:Amazon SageMakerとHugging Face

Amazon SageMakerとHugging Faceのパートナーシップ

この笑顔をご覧ください!

本日、私たちはHugging FaceとAmazonの戦略的パートナーシップを発表しました。これにより、企業が最先端の機械学習モデルを活用し、最新の自然言語処理(NLP)機能をより迅速に提供できるようになります。

このパートナーシップを通じて、Hugging Faceはお客様にサービスを提供するためにAmazon Web Servicesを優先的なクラウドプロバイダーとして活用しています。

共通のお客様に利用していただくための第一歩として、Hugging FaceとAmazonは新しいHugging Face Deep Learning Containers(DLC)を導入し、Amazon SageMakerでHugging Face Transformerモデルのトレーニングをさらに簡単にする予定です。

Amazon SageMaker Python SDKを使用して新しいHugging Face DLCにアクセスし、使用する方法については、以下のガイドとリソースをご覧ください。

2021年7月8日、私たちはAmazon SageMakerの統合を拡張し、Transformerモデルの簡単なデプロイと推論を追加しました。Hugging FaceモデルをAmazon SageMakerで簡単にデプロイする方法については、新しいブログ記事とドキュメントをご覧ください。


特徴と利点🔥

ひとつのコマンドで完了

Amazon SageMakerで利用可能な新しいHugging Face Deep Learning Containersを使用すると、最新のTransformerベースのNLPモデルのトレーニングがこれまで以上に簡単になります。TensorFlowとPyTorch用に最適化されたバリアントがあり、シングルGPU、シングルノードのマルチGPU、マルチノードクラスターに対応しています。

科学からプロダクションまでの機械学習の加速

Hugging Face DLCに加えて、SageMaker Python SDK向けに優れたHugging Face拡張機能を作成しました。これにより、データサイエンスチームの時間を短縮し、実験のセットアップと実行にかかる時間を数日から数分に短縮することができます。

Hugging Face DLCをAmazon SageMakerの自動モデルチューニング機能と組み合わせることで、トレーニングのハイパーパラメータを自動的に最適化し、モデルの精度を迅速に向上させることができます。

SageMaker StudioのWebベースの統合開発環境(IDE)を使用すると、実験とトレーニングアーティファクトを簡単に追跡および比較することができます。

組み込みパフォーマンス

Hugging Face DLCを使用することで、SageMakerのお客様はPyTorchまたはTensorFlowのための組み込みパフォーマンス最適化を利用して、NLPモデルのトレーニングをより高速に行うことができます。また、ワークロードに最適な価格/パフォーマンス比を持つトレーニングインフラストラクチャを選択する柔軟性もあります。

Hugging Face DLCはSageMakerの分散トレーニングライブラリと完全に統合されており、Amazon EC2で利用可能な最新世代のインスタンスを使用して、これまでにない速さでモデルのトレーニングが可能です。


リソース、ドキュメント、サンプル📄

以下に、すべての公開されたブログ記事、ビデオ、ドキュメント、およびサンプルノートブック/スクリプトへの重要なリソースを掲載しています。

ブログ/ビデオ

  • AWS: Hugging Faceを活用した自然言語処理
  • Hugging FaceモデルをAmazon SageMakerで簡単にデプロイする
  • AWSとHugging Faceが協力して自然言語処理モデルの採用を簡素化・加速化
  • ワークスルー:エンドツーエンドのテキスト分類
  • Amazon SageMakerでHugging Faceモデルを使用する方法
  • 分散トレーニング:🤗 TransformersとAmazon SageMakerを使用したSummarizationのためのBART/T5のトレーニング
  • Hugging Face TransformersモデルをS3からAmazon SageMakerにデプロイする
  • Hugging Face TransformersモデルをモデルハブからAmazon SageMakerにデプロイする

ドキュメント

  • Amazon SageMakerのためのHugging Faceドキュメント
  • Amazon SageMakerでのトレーニングの実行
  • Amazon SageMakerへのモデルのデプロイ
  • よくある質問
  • Hugging FaceのためのAmazon SageMakerドキュメント
  • Hugging FaceのためのPython SDK SageMakerドキュメント
  • Deep Learning Container
  • SageMakerの分散データパラレルライブラリ
  • SageMakerの分散モデルパラレルライブラリ

サンプルノートブック

  • すべてのノートブック
  • PyTorchの入門
  • TensorFlowの入門
  • 分散トレーニングデータパラレル
  • 分散トレーニングモデルパラレル
  • Spot Instancesを使用してトレーニングを継続する
  • SageMakerメトリクス
  • TensorFlowの分散トレーニングデータパラレル
  • Summarizationの分散トレーニング
  • Vision Transformerを使用した画像分類
  • 10,000以上のHugging Face Transformersのうちの1つをAmazon SageMakerに推論用にデプロイする
  • S3からSageMakerにHugging Face Transformerモデルをデプロイする

はじめに:エンドツーエンドのテキスト分類 🧭

このはじめにガイドでは、Hugging Face DLCs と Amazon SageMaker の拡張機能を使用して、transformers と datasets ライブラリを使ってバイナリテキスト分類のためのトランスフォーマーモデルをトレーニングします。

例として Amazon SageMaker ノートブックインスタンスを使用します。ノートブックインスタンスの設定方法については、こちらをご覧ください。

やること:

  • 開発環境のセットアップと sagemaker のインストール
  • トレーニングスクリプト train.py の作成
  • データの前処理と Amazon S3 へのアップロード
  • HuggingFace Estimator の作成とモデルのトレーニング

開発環境のセットアップと sagemaker のインストール

上記のように、このために SageMaker ノートブックインスタンスを使用します。始めるには、Jupyer Notebook または JupyterLab に移動し、conda_pytorch_p36 カーネルで新しいノートブックを作成する必要があります。

注意: Jupyter の使用はオプションです:SDK がインストールされている場所やクラウドへの接続、適切な権限など、どこからでも SageMaker トレーニングジョブを起動できます。例えば、ラップトップ、他の IDE、Airflow や AWS Step Functions のようなタスクスケジューラからです。

その後、必要な依存関係をインストールできます

pip install "sagemaker>=2.31.0" "transformers==4.6.1" "datasets[s3]==1.6.2" --upgrade

SageMaker 上でトレーニングを実行するために、sagemaker セッションを作成し、適切な権限を持つ IAM ロールを指定する必要があります。この IAM ロールは、後で TrainingJob にアタッチされ、Amazon S3 からデータをダウンロードすることができるようになります。

import sagemaker

sess = sagemaker.Session()
# sagemaker session bucket -> used for uploading data, models and logs
# sagemaker will automatically create this bucket if it not exists
sagemaker_session_bucket=None
if sagemaker_session_bucket is None and sess is not None:
    # set to default bucket if a bucket name is not given
    sagemaker_session_bucket = sess.default_bucket()

role = sagemaker.get_execution_role()
sess = sagemaker.Session(default_bucket=sagemaker_session_bucket)

print(f"sagemaker role arn: {role}")
print(f"sagemaker bucket: {sess.default_bucket()}")
print(f"sagemaker session region: {sess.boto_region_name}")

トレーニングスクリプト train.py の作成

SageMaker の TrainingJob では、名前付き引数を持つ Python スクリプトを実行します。この例では、PyTorch と transformers を使用します。スクリプトでは、次のことを行います。

  • 着信パラメーター(HuggingFace Estimator のハイパーパラメーター)を渡す
  • データセットを読み込む
  • 計算メトリクス関数を定義する
  • Trainer を設定する
  • trainer.train() でトレーニングを実行する
  • トレーニングを評価し、モデルを最後に S3 に保存する
from transformers import AutoModelForSequenceClassification, Trainer, TrainingArguments
from sklearn.metrics import accuracy_score, precision_recall_fscore_support
from datasets import load_from_disk
import random
import logging
import sys
import argparse
import os
import torch

if __name__ == "__main__":

    parser = argparse.ArgumentParser()

    # クライアントから送信されたハイパーパラメーターは、スクリプトにコマンドライン引数として渡されます。
    parser.add_argument("--epochs", type=int, default=3)
    parser.add_argument("--train-batch-size", type=int, default=32)
    parser.add_argument("--eval-batch-size", type=int, default=64)
    parser.add_argument("--warmup_steps", type=int, default=500)
    parser.add_argument("--model_name", type=str)
    parser.add_argument("--learning_rate", type=str, default=5e-5)

    # データ、モデル、出力ディレクトリ
    parser.add_argument("--output-data-dir", type=str, default=os.environ["SM_OUTPUT_DATA_DIR"])
    parser.add_argument("--model-dir", type=str, default=os.environ["SM_MODEL_DIR"])
    parser.add_argument("--n_gpus", type=str, default=os.environ["SM_NUM_GPUS"])
    parser.add_argument("--training_dir", type=str, default=os.environ["SM_CHANNEL_TRAIN"])
    parser.add_argument("--test_dir", type=str, default=os.environ["SM_CHANNEL_TEST"])

    args, _ = parser.parse_known_args()

    # ロギングの設定
    logger = logging.getLogger(__name__)

    logging.basicConfig(
        level=logging.getLevelName("INFO"),
        handlers=[logging.StreamHandler(sys.stdout)],
        format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
    )

    # データセットを読み込む
    train_dataset = load_from_disk(args.training_dir)
    test_dataset = load_from_disk(args.test_dir)

    logger.info(f" loaded train_dataset length is: {len(train_dataset)}")
    logger.info(f" loaded test_dataset length is: {len(test_dataset)}")

    # 2値分類のためのメトリクス関数の計算
    def compute_metrics(pred):
        labels = pred.label_ids
        preds = pred.predictions.argmax(-1)
        precision, recall, f1, _ = precision_recall_fscore_support(labels, preds, average="binary")
        acc = accuracy_score(labels, preds)
        return {"accuracy": acc, "f1": f1, "precision": precision, "recall": recall}

    # モデルハブからモデルをダウンロード
    model = AutoModelForSequenceClassification.from_pretrained(args.model_name)

    # トレーニング引数を定義
    training_args = TrainingArguments(
        output_dir=args.model_dir,
        num_train_epochs=args.epochs,
        per_device_train_batch_size=args.train_batch_size,
        per_device_eval_batch_size=args.eval_batch_size,
        warmup_steps=args.warmup_steps,
        evaluation_strategy="epoch",
        logging_dir=f"{args.output_data_dir}/logs",
        learning_rate=float(args.learning_rate),
    )

    # Trainer インスタンスを作成
    trainer = Trainer(
        model=model,
        args=training_args,
        compute_metrics=compute_metrics,
        train_dataset=train_dataset,
        eval_dataset=test_dataset,
    )

    # モデルをトレーニング
    trainer.train()

    # モデルを評価
    eval_result = trainer.evaluate(eval_dataset=test_dataset)

    # 評価結果をファイルに書き込み、後で s3 出力でアクセスできるようにする
    with open(os.path.join(args.output_data_dir, "eval_results.txt"), "w") as writer:
        print(f"***** Eval results *****")
        for key, value in sorted(eval_result.items()):
            writer.write(f"{key} = {value}\\n")

    # モデルを S3 に保存する。デフォルトは /opt/ml/model で、SageMaker が S3 に送信します
    trainer.save_model(args.model_dir)

データの前処理とs3へのアップロード

データセットのダウンロードと前処理にはdatasetsライブラリを使用します。前処理が完了した後、データセットは現在のセッションのデフォルトのs3バケットsess.default_bucket()にアップロードされます。このデータセットには、25,000のトレーニング用の高極性映画レビューと25,000のテスト用の高極性映画レビューが含まれています。

import botocore
from datasets import load_dataset
from transformers import AutoTokenizer
from datasets.filesystems import S3FileSystem

# 前処理に使用するトークナイザ
tokenizer_name = 'distilbert-base-uncased'

# S3用のファイルシステムクライアント
s3 = S3FileSystem()

# 使用するデータセット
dataset_name = 'imdb'

# データのS3キープレフィックス
s3_prefix = 'datasets/imdb'

# データセットの読み込み
dataset = load_dataset(dataset_name)

# トークナイザのダウンロード
tokenizer = AutoTokenizer.from_pretrained(tokenizer_name)

# トークナイザの補助関数
def tokenize(batch):
    return tokenizer(batch['text'], padding='max_length', truncation=True)

# データセットの読み込み
train_dataset, test_dataset = load_dataset('imdb', split=['train', 'test'])
test_dataset = test_dataset.shuffle().select(range(10000)) # テストデータセットのサイズを10,000に縮小

# データセットのトークナイズ
train_dataset = train_dataset.map(tokenize, batched=True, batch_size=len(train_dataset))
test_dataset = test_dataset.map(tokenize, batched=True, batch_size=len(test_dataset))

# PyTorch用のフォーマットに設定
train_dataset = train_dataset.rename_column("label", "labels")
train_dataset.set_format('torch', columns=['input_ids', 'attention_mask', 'labels'])
test_dataset = test_dataset.rename_column("label", "labels")
test_dataset.set_format('torch', columns=['input_ids', 'attention_mask', 'labels'])

# train_datasetをs3に保存
training_input_path = f's3://{sess.default_bucket()}/{s3_prefix}/train'
train_dataset.save_to_disk(training_input_path,fs=s3)

# test_datasetをs3に保存
test_input_path = f's3://{sess.default_bucket()}/{s3_prefix}/test'
test_dataset.save_to_disk(test_input_path,fs=s3)

HuggingFace Estimatorを作成してモデルをトレーニングする

SageMakerのTrainingjobを作成するために、HuggingFace Estimatorを使用することができます。EstimatorはAmazon SageMakerのトレーニングをエンドツーエンドで処理します。Estimatorでは、entry_pointとして使用するファインチューニングスクリプト、使用するinstance_type、渡されるハイパーパラメータなどを定義します。これに加えて、出力やチェックポイントの場所をカスタマイズするための高度なコントロールも利用できます。ローカルストレージのサイズやネットワークの設定を指定することもできます。

SageMakerはHugging Face DLCを使用して必要なすべてのAmazon EC2インスタンスを起動および管理し、提供されたファインチューニングスクリプト(例えば、train.py)をアップロードし、S3バケットsess.default_bucket()からコンテナにデータをダウンロードします。データの準備が完了したら、トレーニングジョブは自動的に実行されます。

/opt/conda/bin/python train.py --epochs 1 --model_name distilbert-base-uncased --train_batch_size 32

HuggingFace Estimatorで定義するハイパーパラメータは、名前付き引数として渡されます。

from sagemaker.huggingface import HuggingFace

# トレーニングジョブに渡されるハイパーパラメータ
hyperparameters={'epochs': 1,
                 'train_batch_size': 32,
                 'model_name':'distilbert-base-uncased'
                 }

# Estimatorの作成
huggingface_estimator = HuggingFace(
      entry_point='train.py',
      source_dir='./scripts',
      instance_type='ml.p3.2xlarge',
      instance_count=1,
      role=role,
      transformers_version='4.6',
      pytorch_version='1.7',
      py_version='py36',
      hyperparameters = hyperparameters
)

トレーニングを開始するには、.fit()メソッドを呼び出し、S3 URIを入力として渡します。

# アップロードしたデータセットを入力としてトレーニングジョブを開始します
huggingface_estimator.fit({'train': training_input_path, 'test': test_input_path})

追加機能 🚀

Deep Learning ContainerとSageMaker SDKに加えて、他の追加機能も実装されています。

分散トレーニング:データ並列

分散トレーニングには、SageMaker Data Parallelism Libraryをそのまま使用できます。データ並列の機能をTrainerに直接追加しました。train.pyがTrainer APIを使用している場合、HuggingFace Estimatorで分散パラメータを定義するだけで済みます。

  • PyTorchの例題ノートブック
  • TensorFlowの例題ノートブック
# smdistributed Data Parallelでトレーニングを実行するための設定
distribution = {'smdistributed':{'dataparallel':{ 'enabled': True }}}

# Estimatorを作成する
huggingface_estimator = HuggingFace(
        entry_point='train.py',
        source_dir='./scripts',
        instance_type='ml.p3dn.24xlarge',
        instance_count=2,
        role=role,
        transformers_version='4.4.2',
        pytorch_version='1.6.0',
        py_version='py36',
        hyperparameters = hyperparameters,
        distribution = distribution
)

“はじめに:エンドツーエンドのテキスト分類 🧭”の例題は、何も変更せずに分散トレーニングに使用することができます。

分散トレーニング:モデル並列

分散トレーニングには、SageMaker Model Parallelism Libraryをそのまま使用できます。モデル並列の機能をTrainerに直接追加しました。train.pyがTrainer APIを使用している場合、HuggingFace Estimatorで分散パラメータを定義するだけで済みます。詳細な調整については、こちらをご覧ください。

  • 例題ノートブック
# smdistributed Model Parallelでトレーニングを実行するための設定
mpi_options = {
    "enabled" : True,
    "processes_per_host" : 8
}

smp_options = {
    "enabled":True,
    "parameters": {
        "microbatches": 4,
        "placement_strategy": "spread",
        "pipeline": "interleaved",
        "optimize": "speed",
        "partitions": 4,
        "ddp": True,
    }
}

distribution={
    "smdistributed": {"modelparallel": smp_options},
    "mpi": mpi_options
}

# Estimatorを作成する
huggingface_estimator = HuggingFace(
        entry_point='train.py',
        source_dir='./scripts',
        instance_type='ml.p3dn.24xlarge',
        instance_count=2,
        role=role,
        transformers_version='4.4.2',
        pytorch_version='1.6.0',
        py_version='py36',
        hyperparameters = hyperparameters,
        distribution = distribution
)

Spot インスタンス

SageMaker Python SDKのHuggingFace Framework拡張機能の作成により、完全に管理されたEC2スポットインスタンスの利点を活用し、トレーニングコストを最大90%節約することもできます。

注:トレーニングジョブがすばやく完了しない場合は、管理されたスポットトレーニングでチェックポイントを使用することをおすすめします。そのためには、checkpoint_s3_uriを定義する必要があります。

HuggingFace Estimatorでスポットインスタンスを使用するには、use_spot_instancesパラメータをTrueに設定し、max_waitmax_runの時間を定義する必要があります。管理されたスポットトレーニングのライフサイクルについては、こちらをご覧ください。

  • 例題ノートブック
# トレーニングジョブに渡されるハイパーパラメータ
hyperparameters={'epochs': 1,
                 'train_batch_size': 32,
                 'model_name':'distilbert-base-uncased',
                 'output_dir':'/opt/ml/checkpoints'
                 }
# Estimatorを作成する

huggingface_estimator = HuggingFace(
        entry_point='train.py',
        source_dir='./scripts',
        instance_type='ml.p3.2xlarge',
        instance_count=1,
          checkpoint_s3_uri=f's3://{sess.default_bucket()}/checkpoints'
        use_spot_instances=True,
        max_wait=3600, # これはmax_runと同じかそれ以上の秒数である必要があります'
        max_run=1000,
        role=role,
        transformers_version='4.4',
        pytorch_version='1.6',
        py_version='py36',
        hyperparameters = hyperparameters
)

# トレーニング秒数:874
# 請求対象秒数:105
# 管理されたスポットトレーニングの節約率:88.0%

Gitリポジトリ

HuggingFaceエスティメータを作成する際に、エスティメータのエントリポイントとしてGitHubリポジトリに保存されたトレーニングスクリプトを指定することができます。これにより、スクリプトをローカルにダウンロードする必要がありません。Gitサポートが有効になっている場合、entry_pointおよびsource_dirは、Gitリポジトリ内の相対パスで指定する必要があります。

transformersリポジトリの例として、git_configを使用する方法を示します。

注意: トレーニング後にモデルをS3に保存するために、output_dirをスクリプトのハイパーパラメータとして定義する必要があります。提案: /opt/ml/modelとしてoutput_dirを定義してください。これはデフォルトのSM_MODEL_DIRであり、S3にアップロードされます。

  • ノートブックの例
# git設定の構成
git_config = {'repo': 'https://github.com/huggingface/transformers.git','branch': 'master'}

# エスティメータの作成
huggingface_estimator = HuggingFace(
        entry_point='run_glue.py',
        source_dir='./examples/text-classification',
        git_config=git_config,
        instance_type='ml.p3.2xlarge',
        instance_count=1,
        role=role,
        transformers_version='4.4',
        pytorch_version='1.6',
        py_version='py36',
        hyperparameters=hyperparameters
)

SageMakerメトリクス

SageMakerメトリクスは、ログからメトリクスを自動的に解析し、それらのメトリクスをCloudWatchに送信することができます。SageMakerがログを解析するためには、トレーニングジョブを構成する際にSageMakerがCloudWatchに送信するメトリクスを指定する必要があります。送信するメトリクスの名前と、アルゴリズムが出力するログを解析してメトリクスを検出するためにSageMakerが使用する正規表現を指定します。

  • ノートブックの例
# メトリクスの定義

metric_definitions = [
{"Name": "train_runtime", "Regex": "train_runtime.*=\D*(.*?)$"},
{"Name": "eval_accuracy", "Regex": "eval_accuracy.*=\D*(.*?)$"},
{"Name": "eval_loss", "Regex": "eval_loss.*=\D*(.*?)$"},
]

# エスティメータの作成

huggingface_estimator = HuggingFace(
        entry_point='train.py',
        source_dir='./scripts',
        instance_type='ml.p3.2xlarge',
        instance_count=1,
        role=role,
        transformers_version='4.4',
        pytorch_version='1.6',
        py_version='py36',
        metric_definitions=metric_definitions,
        hyperparameters = hyperparameters
)

FAQ 🎯

完全なよくある質問は、ドキュメントで確認できます。

Q: Deep Learning Containersとは何ですか?

A: Deep Learning Containers (DLC) は、ディープラーニングフレームワークやライブラリ(transformers、datasets、tokenizersなど)が事前にインストールされたDockerイメージであり、環境をゼロから構築して最適化する手間を省いてモデルのトレーニングを簡単に行うためのものです。

Q: Hugging Face Deep Learning Containersを使用するためにはSageMaker Python SDKを使用する必要がありますか?

A: Hugging Face DLCをSageMaker Python SDKなしで使用したり、AWS CLIやboto3などの他のSDKを使用してSageMakerトレーニングジョブを起動したりすることができます。DLCはAmazon ECRでも利用可能であり、選択した任意の環境でプルして使用することができます。

Q: Hugging Face Deep Learning Containersを使用する理由は何ですか?

A: DLCは完全にテストされ、メンテナンスされ、最適化されたディープラーニング環境であり、インストール、設定、メンテナンスの必要がありません。

Q: SageMaker Trainingを使用してHugging Faceモデルをトレーニングする理由は何ですか?

A: SageMaker Trainingには、Hugging Faceを使用した生産性を向上させるための多くの利点があります: (1) 経済的です: トレーニングインスタンスはジョブの実行時間のみ存在し、秒単位で支払われます。もはやGPUインスタンスを一晩中起動したままにするリスクはありません。トレーニングクラスタはジョブの終了時に停止します!EC2 Spotキャパシティもサポートされており、最大90%のコスト削減が可能です。 (2) SageMakerには、チームワークとMLOpsを容易にするための多くの組み込みの自動化機能もあります: トレーニングのメタデータとログは自動的にサーバーレスの管理型メタストアに保存され、データセット、チェックポイント、およびモデルアーティファクトのS3とのI/Oは完全に管理されます。最後に、SageMakerは大規模なスケーリングも可能です: 複数のトレーニングジョブを並行して起動することもできますが、大規模な分散トレーニングジョブも起動することができます

質問: Amazon SageMakerでモデルをトレーニングした後、🤗/Transformersと使用することはできますか?

回答: はい、トレーニング済みのモデルをS3からダウンロードして、transformersと直接使用するか、Hugging Face Model Hubにアップロードすることができます。

質問: Amazon SageMakerによってデータとコードはどのようにセキュリティが確保されますか?

回答: Amazon SageMakerは、データとコードのセキュリティを確保するために、静止時および通信時の暗号化、仮想プライベートクラウド(VPC)接続、アイデンティティおよびアクセス管理(IAM)など、多数のセキュリティメカニズムを提供しています。AWSクラウドおよびAmazon SageMakerにおけるセキュリティについて詳しくは、Amazon SageMakerおよびAWSクラウドセキュリティのセキュリティに関する情報をご覧ください。

質問: このサービスは私の地域で利用できますか?

回答: 対応している地域の一覧については、AWSのグローバルインフラストラクチャーのAWSリージョンテーブルをご覧ください。

質問: Hugging FaceのDLCを使用するためには、Hugging Faceからライセンスを取得する必要がありますか?

回答: いいえ – Hugging FaceのDLCはオープンソースであり、Apache 2.0のライセンスの下で提供されています。

質問: トレーニング済みのモデルで推論を実行するにはどうすればよいですか?

回答: トレーニング済みのモデルで推論を実行するためには、複数のオプションがあります。1つのオプションは、Hugging Face Accelerated Inference-APIホステッドサービスを使用することです。トレーニング済みモデルをHugging Faceアカウントにアップロードして、公開またはプライベートに展開することから始めることができます。もう1つの素晴らしいオプションは、Amazon SageMakerで独自の推論コードを実行するためにSageMaker Inferenceを使用することです。将来的には、Amazon SageMakerとHugging Face Inference DLCsの統合ソリューションを提供するための取り組みを進めていますので、ご期待ください!

質問: このソリューションにはプレミアムサポートやサポートSLAが提供されていますか?

回答: AWSテクニカルサポートの階層はAWSから提供されており、AWS製品およびサービスの開発および本番の問題をカバーしています。具体的な内容と範囲については、AWSサポートをご参照ください。

Hugging Faceコミュニティがお答えできる質問や利益を得ることができる質問がある場合は、Hugging Faceフォーラムに投稿してください。

NLPのロードマップを加速するためにHugging Faceチームからプレミアムサポートを受ける必要がある場合は、当社のエキスパートアクセラレーションプログラムにおいて、オープンソース、サイエンス、およびMLエンジニアリングチームからの直接のガイダンスを提供しています – 詳細についてはお問い合わせください。

質問: このパートナーシップを通じて次にどのような計画を立てていますか?

回答: 私たちの共通の目標は、最先端の機械学習を民主化することです。研究者、データサイエンティスト、および機械学習の専門家が、管理、トレーニング、および最先端のモデルの実行をより簡単に行えるようにするために、引き続き革新を行っていきます。AWSとHugging Faceの統合に関する機能要件がありましたら、Hugging Faceコミュニティフォーラムでお知らせください。

質問: Hugging FaceをAzure Machine LearningまたはGoogle Cloud Platformと使用している場合、このパートナーシップは私にとってどのような意味がありますか?

回答: Hugging Faceの基本的な目標は、最新の人工知能を可能な限り多くの人々にアクセス可能にすることです。どのフレームワークや開発環境で作業しているかに関係なく、Hugging Faceのユーザーと顧客全員に対応するために、Amazon Web Servicesとの統合に取り組んでいますが、実行される計算環境に関係なく、すべてのHugging Faceのユーザーと顧客にサービスを提供し続けるために努力を続けます。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

データサイエンス

「SaaS AIの機能が堀や障壁なしでアプリケーションと出会う」

最近、いくつかのエンタープライズSaaS企業が創発型AI機能を発表しましたが、これは持続可能な競争上の優位性を欠いたAIスタ...

AIニュース

3Dプリンターからの錠剤

ドイツのマックス・プランク情報学研究所とカリフォルニア大学デービス校の科学者たちは、液体溶解性の錠剤を3Dプリントしました

AI研究

バイトダンスとUCSDの研究者は、与えられたテキストからオブジェクト/シーンのセットのマルチビュー画像を生成することができるマルチビュー拡散モデルを提案しています

現代のゲームやメディア業界のパイプラインにおいて重要な段階であるにもかかわらず、3Dコンテンツの作成は時間のかかる作業...

データサイエンス

「すべてのオンライン投稿は、AIの所有物です」とGoogleが発表

Googleは最近のプライバシーポリシーの更新において、その強力なAIツールでよく知られていることから注目される注目すべき変...

AIニュース

「ユネスコ、AIチップの埋め込みに関するプライバシー懸念を指摘」

最近、国連は人工知能(AI)と先進的な神経技術の組み合わせに伴う潜在的な危険性について警告しました。報告によると、脳イ...

人工知能

広州からロサンゼルスまで、自動車メーカーはAI技術を搭載した車両で驚きと感動を与えています

車好きには朗報です:現在から来週まで開催される2つの著名な自動車ショーが、AIによってパワードされた次世代の自動車デザイ...