概要
Azure Machine Learningでは登録したデータに対してワークスペース上でラベル付けを行うことができます。
アノテーションツールとして有用な本機能ですが、チーム開発においてはラベル付け以外の操作をさせたくないというケースもあるかと思います。その場合はAzure ロールベースのアクセス制御(以下、RBAC)によって機能制限し、ラベル付けのみが可能なように機能制限した形でユーザーをワークスペースに参加させることができます。
本記事ではラベル付けユーザーの種類と、権限ごとの機能概要について解説します。
やりたいこと
データを収集した際に、ワークスペース上で「データのラベル付けプロジェクト」を作成してアノテーション作業を行うことができます。
例として実務者にラベル付けをお願いするといったケースを想定します。
ワークスペース上には機械学習のデータやプログラム、作成したモデルなどが配置されています。
これらをラベル付け作業者に操作されたくないという要件があった場合でも、ワークスペースに接続するユーザーをRBACで制御して、他機能に触れない状態で作業してもらうことができます。
Microsoftのリファレンスをベースに、これらについて紹介していきます。
準備
Azure Machine Learning用のRBACは細かく定義できますが、今回は以下のDocs上の定義を参考に、定義済みのカスタムロールを作成します。 learn.microsoft.com
カスタムロールの追加・編集方法に関するリファレンスです。 learn.microsoft.com
今回の記事ではObject Identification(Bounding Box)で作成したプロジェクトで解説を行います。
ラベル付けプロジェクトの権限と機能
カスタムロール一覧
ラベル付けプロジェクトで特に使用する頻度が多い、Microsoft推奨のカスタムロールは以下の通りです。
- Labeler Custom (画像データにアノテーションを付けるユーザ)
- ラベルのSubmit
- ラベル付けプロジェクト ダッシュボードの閲覧
- Labeling Team Lead(ラベルを後から修正可能なユーザー)
- Labeler Customで可能な操作
- 付与済みラベルのReject(却下), Update Label(アップデート)
- Vendor account admin(ラベルを承認するユーザー)
- Labeling Team Leadで可能な操作
- ラベルのApprove / Revoke Approval
- ラベル付けしたデータのエクスポート
- データセット一覧を表示
(AzureML上の情報のみ。データ自体の表示や編集・追加・削除は不可)
- 共同作成者 / 管理者 (ラベル付けプロジェクトを作成・編集するユーザー)
- ワークスペース上で可能な全ての操作
上記の権限で参加したユーザーは、Azure Machine Learningワークスペースに参加できるようになります。
権限ごとの機能
ラベル付けプロジェクトの作成
共同作成者 / 管理者で可能な操作です。
「+Add Project」を選択することで、ラベル付けプロジェクト自体を作成できます。
また一度作成したプロジェクトの設定変更もこの権限でのみ可能です。
権限を持たないユーザーはプロジェクトの作成や編集は行うことができません。
ラベルのSubmit
Labeler Custom以上の権限で可能な操作です。
1枚の画像に対して設定された条件でラベル付けを実施することができます。
またLabeler Custom権限を持つユーザーは、ダッシュボードを表示して全体の状況を確認することができます。
ラベルのReject, Update
Labeling Team Lead以上の権限で可能な操作です。
画像に対して2つの操作を実行します。
- Reject
- ラベル付けを行っていない初期状態に戻す
- 付与したラベルがクリアされる
- Skip操作がキャンセルされる
- ラベル付けを行っていない初期状態に戻す
- Update Label
- 付与したラベルをアップデートする
- ラベルの矩形位置を変更する
- 矩形のラベル種類を変更する
- ラベルを増減させる
- 付与したラベルをアップデートする
Rejectを押すと再度「Label Data」でラベル付けできる状態になります。
既存のラベルを変更・削除あるいは追加した時は、Update Labelで変更を反映します。ただしラベルが1つもない状態でUpdate Labelは選択できません。
ラベルのApprove / Revoke Approval
Vendor account admin以上の権限で可能な操作です。
Approveされた画像は以下の意味を持ちます。
- ラベル付け済み一覧表示画面の絞り込みで「Approve : Yes」に設定しないとラベルが表示されなくなる
- Approve状態の画像はReject, Update Labelを実行できない
- Approve状態の画像ラベルのみをエクスポートする設定が可能
Approveされた画像数はダッシュボードから確認することができます。
また後述するデータセットのエクスポートの際、全ラベルをエクスポートするかApproveされた画像のみをエクスポートするか選択することができます。
Revoke Approvalを選択することでApprove状態を解除できます。
データセットのエクスポート
Vendor account admin以上の権限で可能な操作です。 2023年2月時点では以下の形式でエクスポートされます。
- Dataset Type
- v1形式のTabluar Dataset
- Name
- [ラベル付けプロジェクト名][開始年月日][終了年月日]_[時刻]
- Version
- 1で固定(同名でバージョンを上げていくことはできない)
エクスポート権限を持つユーザーは、ワークスペース上でデータセット一覧と概要の閲覧ができます。
Vendor account adminの場合、Data画面からはデータセットの中身自体を表示できません。
またラベルエクスポート以外での新規登録、変更や削除などもできません。
おわりに
ワークスペースに用意されたRBACを活用することで、ユーザーごと機能を制限してワークスペースに参加させることができます。
Microsoft公式のカスタムロールを使って紹介をしましたが、実際にはより細かく権限を設定することができますので試してみてください。
本記事が参考になれば幸いです。