Amazon SageMaker Searchが発表されました! – 学習ジョブの検索機能 – #reinvent

こんにちは、大阪DI部の大澤です。

現在re:Invent 2018が開催されており、数多くのアップデートや新サービスなどが発表されています。その勢いでAmazon SageMaker Searchという、学習ジョブの検索機能が追加されました。
Amazon SageMaker SearchはAmazon SageMakerでのモデルの学習ジョブを様々な条件で検索し、各ジョブの内容を比較することができるという機能です。現在はベータ版です。

機械学習は繰り返し実験することが重要なため、モデルの学習ジョブはかなり膨大になってしまいます。これまでの場合、それらの学習ジョブを比較するためには、別の場所に学習ジョブについてメモしておいて比較するか、APIを使って比較したいジョブの詳細データを取ってくるなどをする必要がありました。SageMaker Searchによってその必要が無くなり、マネジメントコンソールもしくはAPIアクセスによって簡単に学習ジョブの比較、検索が行えるようになりました!

やってみる

まず、マネジメントコンソールからSageMakerを開きます。左側のメニューに検索(Search)という項目が追加されているので、そこからSageMaker Searchを開きます。

ここから学習ジョブの検索・比較を行うことができます。

検索を行うための入力項目は3つあります。

  • プロパティ: 検索を行う項目/属性名です。入力できる内容は決まっています。
    • 例)TrainingJobNameCreationTimeAlgorithmSpecification.TrainingImage(アルゴリズムのイメージ名)など
  • 演算子: 検索したいプロパティの関係です。入力は選択式。プロパティによって選択できる演算子が変わります。
    • 例)GreaterThan, LessThanなど
  • : 検索したい学習ジョブのプロパティがもつです。自由入力。選択したプロパティによってフォーマットが決まってるものもあります。
    • 例)xgboost, 2018/11/11 10:20:30など

アルゴリズムイメージ名にxgboostが含まれている学習ジョブを調べてみます。

ジョブ名から各ハイパーパラメータの値、メトリクスの値などなど色々な項目がジョブ毎に表示されます。各項目をクリックすることでジョブの表示順序をソートすることもできます。 メトリクスを降順で並び替えたりすることで、どのジョブが一番良さそうかを簡単に調べることができます。便利!

表示項目を変えることもできます!

大量の項目があるので、必要に応じて切り替えるのが良さそうです。

また、この機能はSDKからも利用することができます。詳細についてはドキュメントをご参照ください。

さいごに

Amazon SageMakerの機械学習ジョブを検索・比較できる機能、Amazon SageMaker Searchについてご紹介しました。大量にある学習ジョブから目的にあったものを簡単に調べることが出来る為、とても便利な機能では無いでしょうか。
注意点として、この機能はまだベータ公開なので今後修正や改変が予測されます。今後の更新によって機能拡張なども期待できますが、SDKなどを使ってシステムに組み込む際には気をつける必要がありそうです。

最後までお読みいただきありがとうございました〜!