作者: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 から使用する事前トレーニング済みモデルは以下のとおりです。
これらの 2 つのモデルが例として取り上げられることに言及することが適切です。 読者は、同様の方法で Hugging face の他のモデルを試すことができます。
デプロイに ECS インスタンスを使用する方法の詳細について、段階的に説明します。
1. Alibaba Cloud ECS インスタンスの起動:インスタンスの仕様はMLモデルによって異なります。 この例では、以下の仕様を使用しています。
図 1:ECS の設定
2. セットアップの準備 (1 回のみ必要)
ECS インスタンスの実行が開始されたら、インスタンスにログインします。 コマンドプロンプトを使用して、以下を実行します:
apt install python3-venv -y
python3 -m venv ai
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 を押してファイルを保存します。
図 2:感情分析用のコード
b) 画像分類モデル
nano classify.py を使用して別の python ファイルを作成し、図 3 に示すように、モデルタイプ、名前、タイトル、ポート番号を変更してコードを変更します。 ファイルを保存して終了します。
図 3:画像分類用のコード
4. モデルの実行
これらのモデルを実行するには、図 4 に示すように、Alibaba Cloud ECS インスタンスで 2 つのターミナルを開く必要があります。 python 仮想環境がアクティブ化されていることを確認します。 Alibaba Cloud ECS CLI で以下を実行します。
図 4:2 つのターミナルを使用して同じ ECS インスタンスで両方のモデルを実行
5. モデルとの対話
デプロイされたモデルを使用するには、PC でブラウザーを開き、ECS インスタンスのパブリック IP アドレスとポート番号をコロン (:) で区切って使用します (図 5および図 6)。
ここでは、ECS のパブリックIPアドレスを使用する代わりに、ドメイン名を使用します。 ECS インスタンスのパブリック IP にドメイン名が関連付けられている場合は、この方法で行うこともできます。
2 番目のブラウザーを開き、ポート番号 (9000) を変更して、コンピュータビジョンモデルと対話します。 画像をアップロードして、分類結果を確認します。
さまざまな画像を試して、モデルの応答を確認します。
この記事は英語から翻訳されました。 元の記事はこちらからアクセスできます。
Triển khai các mô hình tiền đào tạo trên Alibaba Cloud ECS bằng cách sử dụng Transformer và Gradio
88 posts | 3 followers
FollowRegional Content Hub - July 8, 2024
Regional Content Hub - March 8, 2024
Regional Content Hub - March 8, 2024
Regional Content Hub - August 5, 2024
Regional Content Hub - February 26, 2024
Regional Content Hub - February 1, 2024
88 posts | 3 followers
FollowTop-performance foundation models from Alibaba Cloud
Learn MoreAccelerate AI-driven business and AI model training and inference with Alibaba Cloud GPU technology
Learn MoreAccelerate innovation with generative AI to create new business success
Learn MoreA platform that provides enterprise-level data modeling services based on machine learning algorithms to quickly meet your needs for data-driven operations.
Learn MoreMore Posts by Regional Content Hub