Amazon Web Services ブログ

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

アマゾン ウェブ サービス ジャパン株式会社 (AWS) 機械学習ソリューションアーキテクトの宇都宮聖子です。AWS 目黒オフィスでは、お客様の事例紹介登壇を交えた Amazon SageMaker のセミナーとして、「Amazon SageMaker 事例祭り」を毎月開催しています。2019年3月12日に開催された第3回 Amzon SageMaker 事例祭りでは、株式会社ディー・エヌ・エーの加藤様、クックパッド株式会社の染谷様をゲストスピーカーにお迎えし、Amazno SageMaker の入門ハンズオンまで、130名を超えるたくさんの方々にご参加いただきました。

 

Amazon SageMaker 紹介

「Amazon SageMakerとは何か」

アマゾン ウェブ サービス ジャパン株式会社 機械学習ソリューションアーキテクト 鮫島 正樹  [slides]

Amazon SageMaker は、開発・トレーニング・デプロイと一連の機械学習のワークフローにおける課題を解消するためのサービスです。AWS ソリューションアーキテクト鮫島より、機械学習のマネージドサービスである Amazon SageMaker について、開発・学習・推論を効率的に実装する各種機能の基本的な使い方、SageMaker を使った機械学習のフローやアーキテクチャ、SageMaker 対応の学習スクリプトや分散学習対応コードの書き方など SageMaker への移行の際に気をつけること、機械学習パイプラインの構築支援機能、実際のユースケースなど、SageMaker を便利にお使いいただくための方法をご紹介しました。

Amazon SageMaker Ground Truth、Amazon Elastic Inference、ノートブックインスタンスの16TBまでのディスク拡張、TensorFlow の script mode 対応、AWS Step Functions などの AWS の他のサービスとの連携や、Apache AirFlow 対応など、SageMaker をより便利にご利用いただくために、日々たくさんの機能アップデートを行っています。また、SageMaker で利用されるコンテナは OSS として公開されており、オンプレミスの環境をお持ちの場合、学習のみ、推論のみ、Jupyter Notebook 機能のみなど、必要に応じて SageMaker を部分的にお使いいただくことが可能です。定期的に弊社主催の Amazon SageMaker 関連のセミナーにご参加頂くことで、お客様からリクエストの多い SageMaker の便利な使い方や、最新のアップデートなどをキャッチアップいただけると思います。

 

Amazon SageMaker お客様事例紹介

「SageMaker Neoの可能性について」

株式会社ディー・エヌ・エー (DeNA Co., Ltd.) AI研究開発エンジニア 加藤 倫弘 様 [slides]

株式会社ディー・エヌ・エーでは、危険運転行動検出やドライバーモニタリングによる、交通事故低減に向けたAI技術開発に取り組まれています。加藤様より、オートモーティブなど様々な領域関心が高まっている、エッジでのディープラーニング技術の背景と、Amazon SageMaker Neo について、学習済みのモデルを SageMaker Neo でコンパイルする使い方やメリットについて、どれくらい推論が速くなるかのベンチマーク結果とともにご講演いただきました。SageMaker Neo は Deep Learningの推論用の OSS コンパイラである TVM をベースとしており、TensorFlow、Apache MXNet、ONNX など多種のフレームワークのモデルを最適化し、異なる実行環境に対して最適なコンパイルを行うことで、推論の高速化や省メモリ化を実現できます。

ご講演では、SageMaker Neo の ワークフロー、AWS マネージメントコンソールでの Neo の利用方法、SageMaker の Python SDK でのコンパイルなど実装方法についてご説明いただき、学習済みの ONNX Model Zoo のモデルを Neo で コンパイルし、Raspberry Pi へダウンロード、DLR (Deep Learning Runtime) のPython APIで推論を行う流れと、そのベンチマーク結果、ONNX-Chainer と Neo を使ったChainer モデルのコンパイルの例についてもお話しいただきました。GUI や SDK があるため TVM よりも簡単に扱えることもメリット、OS や ターゲットデバイスなどのバリエーションも今後の機能アップデートとしてリクエストいただきました。

* DeNA x AI (https://dena.ai/news/201903-amazon-sagemaker-fes-3-post/) でも、今回のご発表内容についてご紹介いただいています。

「一人でも使えるSageMaker 」

クックパッド株式会社 リサーチエンジニア 染谷悠一郎 様 [slides]

クックパッドは料理レシピ投稿・検索サービスで、300万品以上のレシピデータについてのタイトル・手順・材料・分量・写真・ユーザーコメント、検索結果や行動ログなどを保有され、料理写真の類似画像検索、ユーザーからの意見の自動タグ付け、材料名の正規化など、様々な機械学習モデルを使ってサービスが構築されています。Amazon SageMaker のリリース直後のかなり早い段階から、染谷様をはじめクックパッドのエンジニアの方々には、プロダクションへのご検討をいただいていました。現在の学習環境はオンデマンドの GPU インスタンスをご利用されていますが、学習前後もインスタンスが立ち上がっていてロスタイムが大きいことが課題とのことで、Training Job 環境として SageMaker を引き続き検証していただいています。

学習に必要な環境を備えた docker image を使うことで、環境の再現性の向上、可搬性の向上、分散実行が容易になる、など、コンテナを使って機械学習を行うメリットと、SageMaker を使った際の一連のフローについて、AWSの各種サービスを交えてわかりやすくご説明いただきました。また、「今日から一人で SageMaker の Training Job を使って 独自モデルを学習したい人向け」のお助けツールとして、染谷様が実装された babysage をご紹介いただきました。babysage から独自モデルの学習に最低限必要な API を実行することで、簡単なコマンドですぐに Training Job が実行されます。こちらは近日公開予定とのことです。

 

ハンズオンの部

「Amazon SageMaker 体験ハンズオン」

アマゾン ウェブサービス ジャパン株式会社 ソリューションアーキテクト 針原 佳貴  [slides]

AWS ソリューションアーキテクト針原より、Amazon SageMaker の入門ハンズオンを行いました。SageMaker は、機械学習モデルの開発・トレーニング・デプロイを行うためのマネージドサービスです。SageMaker をお使いいただくことで、深層学習フレームワークを含む機械学習に必要な環境があらかじめ用意された Jupyter Notebook 環境を素早く立ち上げることができます。Gitリポジトリと連携した Jupyter 環境のインスタンスの立ち上げから、S3へのデータの格納、ビルトインコンテナや持ち込みアルゴリズム (BYOA) を使った学習、推論の流れを体験していただきました。

今回は2種類のサンプルノートブックを使い、1. Chainer を使った画像認識モデルの学習とデプロイ、2. ChainerCV を利用した物体検出を行いました。具体的には、MLP の学習スクリプトを使った手書き文字 MNIST の多クラス分類の学習〜推論、ChainerCV の学習済みモデル (SSD) を使ったバッチ推論の SageMaker 上での実行です。SageMaker コンテナを使うことで、GPU などのインスタンスを学習に必要な分だけ立ち上げ自動的に終了できるのでインスタンスを効率よくお使い頂くことができ、デプロイはたった1行のコードでエンドポイントの立ち上げが可能です。学習インスタンスの管理や分散学習構築なども容易に実装でき、機械学習導入の際に出てくる様々な課題が実際に SageMaker により解決されることを体験していただきました。

 

まとめ

次回の開催は 2019年4月17日(水)を予定しています。お客様の様々な事例に加え、お問い合わせの多い Amazon SageMaker GrondTruth の使い方について、デモを交えてご紹介いたします。皆様のご来場をお待ちしております。なお、過去の Amazon SageMaker 事例祭りの開催概要と登壇スライドは下記のリンクからご覧いただけます。

  1. 第1回 Amazon SageMaker 事例祭り 2019年1月15日
  2. 第2回 Amazon SageMaker 事例祭り 2019年2月12日