Amazon Comprehendの学習済みカスタムモデルが別アカウントへコピーできるようになりました

2022.02.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

Amazon Comprehendでは独自にトレーニングさせたカスタム分類モデルとカスタムエンティティ分類モデルを作成することが出来ます。
これまではこのカスタムモデルは、トレーニングしたAWSアカウントでのみエンドポイントを作成し、利用することが出来ていました。

これが、先日のアップデートでカスタムモデルを別のAWSアカウントへコピー出来るようになりました。
これによってトレーニング用データをコピーして、モデルのトレーニングから行う必要がなく、すぐにトレーニング済みのモデルを利用することが出来ます。

ためしてみる

この記事ではカスタム分類モデルのコピーをためしてみます。

カスタム分類モデルの提供側アカウントでの作業

モデルの提供元アカウントではまずカスタム分類モデルを作成します。
今回はテキストの内容から、AWSAzureのどちらの内容なのかを分類させたいと思います。

そこで、トレーニング用のデータとしてAWSっぽいテキストと、AzureっぽいテキストのCSVファイルを用意しました。
諸事情によりモザイクをかけています。

S3バケットに上記を格納し、モデルを作成しました。

ここで、作成したモデルを共有するためにリソースベースポリシーを設定します。
ここでは共有するAWSアカウントIDを指定しました。リストで複数指定が可能です。
あるいは、プリンシパルやIAMエンティティでの指定も可能です。

ここで表示されるResource ARNはインポート時に使用します。

カスタム分類モデルのインポート先アカウントでの作業

カスタム分類モデルをコピーする準備が整いました。
ここからはインポート先のアカウントでの作業となります。

Comprehendからカスタム分類を選択し、Import versionを選択します。

そして、先程取得したResource ARNを入力しましょう。
あとは通常どおりIAMロールを選択してConfirmです。

すぐにモデルが取り込まれました。
画面上部にはインポートされたモデルであると表示されています。

また、Input&Outputタブが非活性になっていますね。

モデルが作成されたのでエンドポイントを作成し、使ってみましょう。

AWSっぽいと判断されました。

さいごに

本日はAmazon Comprehendのカスタムモデルのコピー機能をご紹介しました。

Comprehend初めて使いましたが簡単にモデルを作成し、他アカウントへ共有することが出来ました。
残念ながら、カスタム分類モデル機能自体はまだ日本語に対応しておらず英語で試しました、日本語の対応が楽しみですね。