[OSS紹介#76] Label Studio ML backend:機械学習でラベリングを自動化する新たな選択肢

この記事について

この記事では、オープンソースソフトウェア(OSS)の中でも特に注目すべき「Label Studio ML backend」について紹介します。このツールは、機械学習のコードをラップし、ウェブサーバーへと変換するためのSDKを提供します。Label Studio ML backendを利用することで、ユーザーはLabel Studioのインスタンスと接続し、自動化されたラベリングタスクを実行することが可能になります。

近年、データサイエンスや機械学習の発展に伴い、データのラベリングプロセスの効率化が求められるようになっています。特に膨大な量のデータを扱う場合、自動化されたラベリングの手法は欠かせません。Label Studio ML backendは、そうしたニーズに応えるために開発され、その成長を支える多くのモデルがサポートされている点が大きな特徴です。

この記事を通じて、Label Studio ML backendの基本的な使い方やモデルの紹介、そして自分自身のモデルを開発するための手順などを解説します。これにより、読者は機械学習プロジェクトにおけるラベリングタスクの効率化に役立つツールとしての可能性を理解し、自らの作業に活用できる具体的な方法を学ぶことができるでしょう。

リンク:https://github.com/HumanSignal/label-studio-ml-backend


本コンテンツは、弊社AI開発ツール「IXV」を用いたOSSツール紹介です。情報の正確性には努めておりますが、内容に誤りが含まれる可能性がございますのでご了承ください。

1. Label Studio ML backendとは何か

Label Studio ML backendは、機械学習コードをラップし、Webサーバーに変換するためのSDKです。このWebサーバーは、実行中のLabel Studioインスタンスに接続して、ラベリングタスクを自動化することができます。静的な事前アノテーションデータをLabel Studioに読み込むだけの場合、MLバックエンドを実行する必要はありません。

2. セットアップ手順

2.1 動作環境とライセンス

Label Studio ML backendは、Dockerを使用して実行されます。Dockerおよびdocker-composeがインストールされている必要があります。また、MLバックエンドは、Legacy Tokensのみをサポートし、Personal Tokensはサポートしていませんので注意が必要です。

2.2 インストール手順

次のコマンドを使ってMLバックエンドサーバーを起動します。

git clone https://github.com/HumanSignal/label-studio-ml-backend.git
cd label-studio-ml-backend/label_studio_ml/examples/{MODEL_NAME}
docker-compose up

{MODEL_NAME}は使用したいモデルの名前に置き換えてください。例えば、bert_classifierモデルを使用する場合は、{MODEL_NAME}bert_classifierに置き換えます。

2.3 Label Studioへのアクセス設定

MLバックエンドがLabel Studioのメディアデータにアクセスできるように、環境変数LABEL_STUDIO_URLLABEL_STUDIO_API_KEYを設定する必要があります。これについての詳細はドキュメントに記載されていますので、参照してください。

3. 簡単な使い方

3.1 モデルの選択

MLバックエンドでは、さまざまなモデルがサポートされています。モデルによっては、事前アノテーションやインタラクティブラベリングに対応しているものもあります。モデルのリストには、以下のようなものがあります。

  • bert_classifier: テキスト分類
  • easyocr: 自動OCR
  • flair: NER
  • langchain_search_agent: Google SearchとのRAGパイプライン

モデルの詳細や必要なパラメータは、リポジトリ内のドキュメントを参照してください。

3.2 自分のモデルを開発する

自分のMLバックエンドを開発するには、次の手順を実行します。

リポジトリをクローンし、label-studio-mlをインストールします。

git clone https://github.com/HumanSignal/label-studio-ml-backend.git
cd label-studio-ml-backend/
pip install -e .

新しいMLバックエンドを作成します。

label-studio-ml create my_ml_backend

my_ml_backend/model.pyを開き、predictメソッドを実装します。このメソッドは、タスクに対する予測を行うために使用されます。

3.3 テストとデプロイ

MLバックエンドが正しく機能するかを確認するために、テストAPIを修正して動作を確認します。GCPにデプロイする場合は、必要な設定を行った後、次のコマンドでデプロイを開始します。

label-studio-ml deploy gcp {ml-backend-local-dir} \
--from={model-python-script} \
--gcp-project-id {gcp-project-id} \
--label-studio-host {https://app.heartex.com} \
--label-studio-api-key {YOUR-LABEL-STUDIO-API-KEY}

4. 結論

Label Studio ML backendは、機械学習を活用したラベリングタスクの自動化に強力なツールです。様々なモデルがサポートされており、特にデータラベリングの効率を向上させるための柔軟性があります。使い方も比較的簡単で、独自のモデル開発も可能です。これにより、データサイエンティストや機械学習エンジニアにとって、非常に有用な選択肢となるでしょう。