すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:ハグフェイスを展開する EASのモデル

最終更新日:Aug 13, 2024

Platform for AI (PAI) は、コミュニティモデル展開用のプリセットイメージと、Elastic Algorithm Service (EAS) でのモデル配布およびイメージ起動用のアクセラレーションメカニズムを提供します。 いくつかのパラメーターを設定することで、コミュニティモデルをEASにすばやく展開できます。 このトピックでは、ハギングフェイスをデプロイする方法について説明します EASのモデル。

背景情報

Hugging Faceなどのオープンソースモデルコミュニティ、さまざまな機械学習モデルとコード実装を提供します。 カプセル化されたモデル、フレームワーク、および関連処理ロジックには、関連ライブラリのインターフェイスを介してアクセスできます。 モデルのトレーニングや呼び出しなどのエンドツーエンドの操作は、環境の依存関係、前処理と後処理のロジック、またはフレームワークの種類を考慮する必要なく、数行のコードのみで実行できます。 詳細については、ハギングフェイスの公式サイトをご覧ください。 このエコロジーは、TensorFlowやPyTorchなどの深層学習フレームワークのアップグレードです。

EASは、コミュニティモデルの展開を容易にする最適化機能を提供します。

ハグ顔モデルの展開

PAIを使用すると、EASのオンラインモデルサービスとしてHugging Faceのパイプラインライブラリにモデルをデプロイできます。 以下の手順を実行します。

  1. パイプラインライブラリからデプロイするモデルを選択します。 この例では、distilbert-base-uncased-finetuned-sst-2英語のモデルが選択されています。 distilbert-base-uncased-finetuned-sst-2-englishモデルの詳細ページで、モデルID、タスク、およびリビジョン情報を取得し、オンプレミスマシンに保存します。0ec0f57fcd2cee6a6c91b53d67616f26.png

    次の表に、ハグフェイスページに表示されるTASKと、EASでサービスを展開するときに指定する必要があるTASKパラメーターとの間のマッピング関係を示します。

    Hugging Faceページに表示されるタスク

    EASで指定するタスク

    オーディオ分類

    オーディオ分類

    自動音声認識 (ASR)

    automatic-speech-recognition

    特徴抽出

    特徴抽出

    塗りつぶしマスク

    fill-mask

    Image Classification

    イメージ分類

    質問への回答

    質問回答

    要約

    要約

    テキスト分類

    テキスト分類

    センチメント分析

    感情分析

    テキスト生成

    テキスト生成

    翻訳

    翻訳

    翻訳 (xx-to-yy)

    translation_xx_to_yy

    テキストからテキストへの生成

    text2text-generation

    ゼロショット分類

    ゼロショット分類

    ドキュメントの質問の回答

    document-question-answering

    ビジュアル質問回答

    visual-question-answering

    画像からテキストへ

    イメージからテキストへ

  2. EASページで、ハグ顔モデルを展開します。

    1. [サービスの作成] ページで、次のパラメーターを設定します。 その他のパラメーターの詳細については、「PAIコンソールでのモデルサービスのデプロイ」をご参照ください。

      ae0ae4299a9a64be75ad0c241aea0a12

      パラメーター

      説明

      サービス名

      サービスの名前を指定します。

      デプロイ方法

      [イメージを使用したWebアプリのデプロイ] を選択します。

      画像の選択

      [PAIイメージ] をクリックし、ドロップダウンリストから [huggingface-inference] を選択し、ビジネス要件に基づいてイメージのバージョンを選択します。

      環境変数

      ステップ1で取得した次の情報を使用します。

      • MODEL_ID: distilbert-base-uncased-finetuned-sst-2-english

      • タスク: テキスト分類

      • REVISION: メイン

      実行するコマンド

      Image Versionパラメーターを設定すると、実行するコマンドが自動的に設定されます。 設定を変更する必要はありません。

      追加のシステムディスク

      [リソース配置情報] セクションの [追加のシステムストレージ] をクリックし、[追加のシステムディスク] パラメーターを100 GBに設定します。

    2. [デプロイ] をクリックします。 [サービスステータス][実行中] に変わると、サービスがデプロイされます。

  3. デプロイされたモデルサービスを呼び出します。

    APIを使用してサービスを呼び出す

    1. サービス名をクリックして、[サービスの詳細] タブに移動します。 表示されるタブで、[エンドポイント情報の表示] をクリックします。

    2. [呼び出しメソッド] ダイアログボックスの [パブリックエンドポイント] タブで、URLおよび [トークン] の値を取得します。

    3. 次のコードを使用して、サービスを呼び出します。

      import requests
      
      resp = requests.post(url="<service_url>",
                    headers={"Authorization": "<token>"},
                    json={"data": ["hello"]})
      
      print(resp.content)
      
      # resp: {"data":[{"label":"POSITIVE","confidences":[{"label":"POSITIVE","confidence":0.9995185136795044}]}],"is_generating":false,"duration":0.280987024307251,"average_duration":0.280987024307251}

      <service_url><token> をステップbで取得した値に置き換えます。

    コンソールを使用してサービスを呼び出す

    • [EAS] ページで、[サービスタイプ] 列の [Webアプリの表示] をクリックして、web UIでのモデル推論の効果を確認します。image.png

    • サービスの [操作] 列で [オンラインデバッグ] をクリックします。 [本文] タブで、{"data": ["hello"]} などのリクエストデータを入力し、[リクエストの送信] をクリックします。image

      説明

      テキスト分類モデルの入力データ ({"data": ["XXX"]}) の形式は、Gradioフレームワーク/api/predictで定義されています。 画像分類や音声データ処理など、他の種類のモデルを使用する場合は、/api/predictを参照してリクエストデータを作成できます。