はじめに
ABEJA Platformは機械学習を実施する際のデータレイク・アノテーション・学習・インフラ運用などをパイプラインで管理・実施いただけるSaaS型のサービスです。
柔軟度が高く、学習によく利用できるフレームワークを利用できるため、MLエンジニアやデータサイエンティストの方が不要な作業をせずにより開発のスピードアップと集中を実施いただけることがメリットです。
今回ご紹介するもの
「 ABEJA Platformトリガー機能 」
「 ABEJA Platformトリガー機能 」って?
ABEJA Platformで学習、デプロイしたモデルを活用し、特定のアクション時にそのモデルを利用し、推論を実施できる強力な機能となります。比較として、AWSのSageMakerではLambdaやAPI Gatewayと連携して利用して実現も可能ですが、ABEJA Platformでは、機能としてコンソール上、CLI/SDKから利用可能で容易にです。現在は、アクショントリガー種類として以下の2種類が対応しています。
-
データレイクへのファイルアップロード
- アップロード先のデータレイクチャンネルを選択
-
スケジュール
- スケジュールの場合以下の値を設定します。
- 実行スケジュール:スケジュールの書式
- タイムゾーン (UTCやJSTなど)
- スケジュールの場合以下の値を設定します。
今回は、データレイクチャンネルにアップロードした画像の判定をトリガーを実施してみてみます。サンプル画像はこちら。

それでは、早速実施していきましょう。
早速、設定
- まずは、データレイクのチャンネルを作成します。今回はトリガーをデータレイクにファイルをアップロードした場合に推論を実施するため、INとOUT用の2つのチャンネルを作成します。
- 「モデル」の「デプロイメント」に**「トリガー」**というタブがありますので、こちらを選択
- 右側の**「トリガーの作成」**ボタンを選択
- 各トリガーに利用する値を入力
- `バージョン`:デプロイを実施するモデルのバージョンを選択
- `入力サービスタイプ`:「datalake」もしくは「Schedule」を選択
- `入力に用いるチャンネル`:入力に利用するチャンネルを選択 例:「demo-channel-in」
- `出力サービスタイプ`:「datalake」のみ
- `出力に用いるチャンネル`:出力に用いるチャンネル 例:「demo-channel-out」
- `リトライ回数`:「0 - 9」の回数を指定可能
- これでトリガーの設定は完了です!早速データレイクのチャンネルにファイルをアップロードしてみましょう。**「アップロード」**からファイルをアップロードしていきます。
- アップロードを実施するファイルの選択。
- メタデータの追加を実施。( ※ 任意です。
- **「アップロード」**を実施
- 無事にデータレイクチャンネルにアップロードが完了しました!問題なければ、しばらくすると出力用のデータレイクチャンネルにアップロードした画像の分類判定結果がjsonで出力され格納されるはずです。
-
少し待つと、出力データレイクチャンネルにjsonが出力され格納されています!
-
jsonの中身を見てみましょう。
[
{
"label": "beagle",
"probability": 0.8021920323371887,
"id": "n02088364"
},
{
"label": "English_foxhound",
"probability": 0.1348923146724701,
"id": "n02089973"
},
{
"label": "Walker_hound",
"probability": 0.041955601423978806,
"id": "n02089867"
},
{
"label": "Labrador_retriever",
"probability": 0.007846538908779621,
"id": "n02099712"
},
{
"label": "redbone",
"probability": 0.005370880011469126,
"id": "n02090379"
}
]
キチンと beagleとして0.8021920323371887の確率で推論できています。 (他に English_foxhoundなども判定されています)
まとめ
今回はjsonを出力する挙動をサンプルとして実施しましたが、活用方法として画像の前処理などがデータレイクチャネルに画像ファイルをアップロードするだけで実施できたりとかなり有用な使い方が可能です!
次回は画像の前処理周りをこのトリガー機能を使ってご紹介します。
最後に
ABEJA Platformは、トライアルも提供しています。気になられた方は、是非、お気軽にお問い合わせください!また、フォーラムもありますので、是非、ご活用ください。
ABEJA Platformに関するお問い合わせ
https://abejainc.com/platform/ja/contact/
ABEJA Platform Forum
https://forums.abeja.io/
