×
Community Blog Transformers と Gradio を使用した、Alibaba Cloud ECS への事前トレーニング済みモデルのデプロイ

Transformers と Gradio を使用した、Alibaba Cloud ECS への事前トレーニング済みモデルのデプロイ

このブログでは、複数の事前トレーニング済みモデルを単一の Alibaba Cloud ECS インスタンスにデプロイする方法を示します。

作者:Jawad

このブログでは、複数の事前トレーニング済みモデルを単一の Alibaba Cloud ECS インスタンスにデプロイする方法を示します。 Hugging face と Gradio で利用可能な事前トレーニング済みモデルを使用して、モデルと対話します。 このアプローチでは、ML モデルをローコードでデプロイでき、プロトタイピングと概念実証に役立ちます。 デモンストレーションの目的で、2 つのデプロイ例を取り上げます。1 つは自然言語処理 (NLP) に関連し、もう 1 つはコンピュータビジョンに関連します。 先に進む前に、最初に Gradio と Hugging face について説明します。

Gradio は、あらゆる機械学習モデルに対して Web ベースのデモを構築、カスタマイズ、共有するために使用できる Python ライブラリです。 Web ブラウザーを使用してモデルと対話することができます。

Hugging Face は、自然言語処理 (NLP) およびコンピュータビジョンタスク用のオープンソースツールとライブラリへのアクセスを提供する AI の研究組織です。 最も人気のある作品の 1 つは、Transformers ライブラリです。テキスト分類、言語翻訳、質問応答、テキスト生成、画像分類など、幅広いアプリケーション向けに事前にトレーニングされたモデルが提供されています。

Hugging face transformers と Gradio を併用することで、開発者や研究者から、機械学習の技術的な専門知識を持たないエンドユーザーまで、AI モデルをより多くのユーザーが利用しやすく使用できるようにすることができます。

Hugging face から使用する事前トレーニング済みモデルは以下のとおりです。

  1. NLP、テキスト分類 (感情分析):DistilBERT モデル
  2. コンピュータビジョン、画像分類:Vision Transformer (ViT) モデル

これらの 2 つのモデルが例として取り上げられることに言及することが適切です。 読者は、同様の方法で Hugging face の他のモデルを試すことができます。

デプロイに ECS インスタンスを使用する方法の詳細について、段階的に説明します。

1.  Alibaba Cloud ECS インスタンスの起動:インスタンスの仕様はMLモデルによって異なります。 この例では、以下の仕様を使用しています。

1


2
図 1:ECS の設定

2.  セットアップの準備 (1 回のみ必要)

ECS インスタンスの実行が開始されたら、インスタンスにログインします。 コマンドプロンプトを使用して、以下を実行します:

  1. apt update を実行してパッケージリストを更新します。
  2. 仮想環境を作成します (環境の名前として ai を使用しています)。
apt install python3-venv -y
python3 -m venv ai
  1. source ai/bin/activate を使用して環境をアクティブ化します。
  2. 以下の必要な python ライブラリをインストールします。
pip install transformers
pip install gradio
        pip install torch
         pip install sentencepiece
         pip install sacremoses

3.  事前トレーニング済みモデルを使用するための Python コード

a) NLP モデル:ターミナルで「nano nlp.py」と入力してpythonファイル nlp.py を作成します。 エディタが開いたら、以下のコードをコピーしてペーストします。

from transformers import pipeline
import gradio as gr
pipe = pipeline("text-classification", model="distilbert-base-uncased-finetuned-sst-2-english")
demo = gr.Interface.from_pipeline(pipe)
demo.launch(server_name="0.0.0.0", server_port=8000)

図 2 に nano エディタのコードを示します。 Ctrl + x を押し、「Y」を選択し、Enter を押してファイルを保存します。

3
図 2:感情分析用のコード

b) 画像分類モデル

nano classify.py を使用して別の python ファイルを作成し、図 3 に示すように、モデルタイプ、名前、タイトル、ポート番号を変更してコードを変更します。 ファイルを保存して終了します。

4
図 3:画像分類用のコード

4.  モデルの実行

これらのモデルを実行するには、図 4 に示すように、Alibaba Cloud ECS インスタンスで 2 つのターミナルを開く必要があります。 python 仮想環境がアクティブ化されていることを確認します。 Alibaba Cloud ECS CLI で以下を実行します。

  • ターミナル 1:python run nlp.py
  • ターミナル 2:python run classify.py

5
図 4:2 つのターミナルを使用して同じ ECS インスタンスで両方のモデルを実行

5.  モデルとの対話

デプロイされたモデルを使用するには、PC でブラウザーを開き、ECS インスタンスのパブリック IP アドレスとポート番号をコロン (:) で区切って使用します (図 5および図 6)。

ここでは、ECS のパブリックIPアドレスを使用する代わりに、ドメイン名を使用します。 ECS インスタンスのパブリック IP にドメイン名が関連付けられている場合は、この方法で行うこともできます。

6

2 番目のブラウザーを開き、ポート番号 (9000) を変更して、コンピュータビジョンモデルと対話します。 画像をアップロードして、分類結果を確認します。

7

さまざまな画像を試して、モデルの応答を確認します。


この記事は英語から翻訳されました。 元の記事はこちらからアクセスできます。

0 0 0
Share on

Regional Content Hub

88 posts | 3 followers

You may also like

Comments

Regional Content Hub

88 posts | 3 followers

Related Products