Amazon Web Services ブログ

【開催報告】第5回 Amazon SageMaker 事例祭り

アマゾン ウェブ サービス ジャパン株式会社 (AWS Japan) アソシエイトソリューションアーキテクトの針原 (Twitter: @_hariby) です。AWS Japan 目黒オフィスでは「Amazon SageMaker 事例祭り」(Twitter: #sagemaker_fes) を毎月開催しています。2019年5月21日に開催された第5回 Amzon SageMaker 事例祭りでは、AWS Japan のソリューションアーキテクトによるサービス紹介と、Amazon SageMaker をご利用いただいているお客様をゲストスピーカーにお招きした具体的な導入・運用事例紹介をさせて頂きました。各セッションの様子を以下にまとめます。


「Amazon SageMaker の基礎」[Slides]

アマゾン ウェブサービス ジャパン株式会社
機械学習ソリューションアーキテクト 宇都宮 聖子

Amazon SageMaker の紹介と、SageMaker の提供する開発・学習・推論環境についてお話ししました。お客様は学習用の Pyhton スクリプトとあわせて、学習に用いるデータを Amazon S3 に置き、コンテナイメージを Amazon ECR にプッシュすることで、学習ジョブを秒単位の課金で実行することが可能です。Amazon SageMaker Python SDK を用いて SageMaker がサポートするフレームワーク・コンテナイメージを用いることもできますし、ビルトインアルゴリズムを使って簡単に機械学習を始めることもできます。お話の中では、機械学習ワークフローの構築に用いることのできる SageMaker の各機能についてもご紹介しました。

「Amazon SageMaker Ground Truth の使い方」[Slides]

アマゾン ウェブサービス ジャパン株式会社
ソリューションアーキテクト 志村 誠

独自のデータを利用し機械学習を行うためには、ラベル付きデータを準備する必要があります。このラベル付け (アノテーション) のための機能を提供するのが Amazon SageMaker Ground Truth です。イヌネコなどの画像分類、画像中に枠を付ける物体検出、ピクセル単位でラベルを付けるセマンティックセグメンテーション、テキスト分類といったアノテーションタスクを簡単に作成することができます。アノテーションを行うワーカーは、バブリック (クラウドソーシングの Amazon Mechanical Turk)、プライベート (既知のアノテーターを登録)、登録済みのアノテーション専門ベンダーの3種類からお選びいただくことができます。ラベル付けの時間とコストを削減するための自動ラベリング機能も提供しています。アノテーションジョブの作り方と、アノテーターの作業環境について、デモを交えてご紹介しました。

「MLプロジェクトへのSageMaker導入における活用事例と勘所」[Slides]

株式会社Agoop
データエンジニア 吉田 雄大 様・鈴木 雄也 様

株式会社Agoopではスマートフォンの位置情報をもとにした機械学習に取り組まれています。2017年から SageMaker Notebook インスタンスを使われ、その後モデルの学習と推論エンドポイントのデプロイ、AWS Step Functions を用いた機械学習パイプラインの管理まで活用されているそうです。これまでの運用で得られた知見と、いくつかの tips についてお話しいただきました。

  1. 機械学習パイプラインは、データの存在を確認し、学習を実行、エンドポイントへのデプロイまでの流れを、Step Functions のステートマシーンを使って構成されています。これにより定期的な再学習を自動化しています。
  2. モデルの増分学習は SageMaker ビルトインアルゴリズムを用いると簡単にできますが、独自のアルゴリズムを使う場合は生成された学習済みモデルを次の学習に使うようコードを書く必要があります。Keras から HDF5 形式のファイルを S3 へ書き出し、それを増分学習に用いているそうです。
  3. 精度向上には、CloudWatch メトリクス (Cloud Watch ログから正規表現により取得) に書き出された値を用いて SageMaker のハイパーパラメータ最適化 (HPO) を実行しています。
  4. 学習済みのモデルをコスト効率よく推論エンドポイントにデプロイするため、ElasticInference をお使いです。実際に社内で CPU インスタンスと比較したところ、ElasticInference アクセラレーターをアタッチした方がコスト効率が良いという結果を示されていました。

このように機械学習パイプラインを構築し、継続的なモデルアップデートとコスト効率のよい推論に SageMaker を使いこなして頂いております。

「Ground TruthとSageMakerで行う飲食店メニュー画像分類について」[Slides]

株式会社ぐるなび
プラットフォームセクション データインテグレーショングループ 長谷川 正彦 様

株式会社ぐるなびでは店舗広告の表示にレコメンドアルゴリズムを用いています。ユーザーの嗜好に合った画像を提示するため、CNN を使った画像分類器を構築された話を伺いました。飲食店のメニュー画像を分類するため、まず SageMaker Ground Truth の画像分類タスクを利用してアノテーションを行います。すると拡張マニフェストファイルが S3 に出力されるので、それを TensorFlow の PIPE モードを用いて読み込み Inception-v2 のモデルを学習させました。元データに混入した料理以外 (車など) の画像は other というラベルを付け、アノテーション後に拡張マニフェストから該当する行を削除することで対応されたそうです。結果、メニュー画像分類は十分な精度が出たと話されていました。料理画像のアノテーションは物凄くお腹が空くらしいですが、今後はレイアウトの似ている和食・洋食のコース料理も分類できるようにしたいと話されていました。

「小規模データサイエンスチームを支えるSageMaker Ground Truth」[Slides]

株式会社アプトポッド
データサイエンティスト 南波 寛直 様

株式会社アプトポッドでは産業 IoT におけるデータ収集・遠隔操作などのサービスを提供されています。データサイエンスチームが分析に取り組む際、少ない人数で効率的なラベリングを行う事が課題となりました。当時、ラベル付けそのものだけでなく、そのための環境整備と管理がチームにとっての重荷となっていました。そこで元々 SageMaker をお使いだったこともあり、SageMaker Ground Truth を評価することになったのでその際のタスクについて紹介頂きました。画像に写った最大のパイロンにバウンディングボックスを付けるというタスクを試して、特に、自動ラベリングとワーカー管理の機能を気に入って頂けたようです。自動ラベリングは過去に人手でラベル付けされた画像をもとに、SageMaker が裏でモデルを学習させ一部のデータに対してアノテーションを自動化してくれる機能で、これが与えられたデータセットに対して動作した様子を紹介されました。また、ワーカーの管理機能はもともと期待していたものと非常に近かったようで、今後も SageMaker Ground Truth をお使いいただけると話されていました。

まとめ

今回は Amazon SageMaker とアノテーションサービス Amazon SageMaker Ground Truth のご紹介ののち、Amazon SageMaker を活用されているゲストの方々をお迎えし、実際の実例についてお話しいただきました。次回の開催は2019年7月を予定しています。なお、過去の Amazon SageMaker 事例祭りの開催概要と登壇スライドは下記のリンクからご覧いただけます。

  • 第1回 Amazon SageMaker 事例祭り 2019年1月15日 [Web]
  • 第2回 Amazon SageMaker 事例祭り 2019年2月12日 [Blog]
  • 第3回 Amazon SageMaker 事例祭り 2019年3月12日 [Blog]
  • 第4回 Amazon SageMaker 事例祭り 2019年4月24日 [Blog]