Amazon Web Services ブログ

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

アマゾン ウェブ サービス ジャパン株式会社 (AWS) ソリューションアーキテクトの針原佳貴です。

AWS では、Amazon SageMaker のハンズオンとお客様の登壇による事例紹介を合わせたイベント「Amazon SageMaker 事例祭り」を毎月開催しています。2018年2月12日に目黒オフィスで第2回 Amzon SageMaker 事例祭りが開催され150名ほどの方にご参加頂いたので、以下でその概要についてお伝えします。今回の Amazon SageMaker 事例祭りは Chainer x AWS というテーマで、セミナーと事例発表の二部構成で開催されました。

 

セミナー

「Chainer v5 とこれから ~学習と推論の最新機能~」株式会社Preferred Networks リサーチャー 得居誠也 様 [slides]

Chainer は Python で実装された Define by Run の深層学習フレームワークで、NumPy のような既存の Python ライブラリをそのまま使い、直感的な API によるモデルの記述ができます。本発表ではまずこれらの設計思想と API の解説を改めて Chainer のリード開発者である 株式会社Preferred Networks 得居様からお話し頂きました。また、大規模データに対するトレーニングの際に求められる Serializers によるパラメータのファイル出力や、ONNX-Chainer, chainer-trt (TensorRT) でのモデル出力、ChainerMN を用いた分散深層学習の実装方法やハイパーパラメータ最適化フレームワーク Optuna をご紹介頂きました。最後に今後のロードマップとして、新しい Chainer バックエンドの ChainerX (Chainer v6 beta1 に同梱) についてご紹介頂きました。ChainerX は C++ 実装によりオーバーヘッドを減らした高速な計算、多様な実行環境のサポート、アプリケーションへのデプロイを素早く行うことを目指して開発されています。

 

「Chainerを AWSで使う方法 – Chainer on Amazon SageMaker and EC2 -」アマゾン ウェブ サービス ジャパン株式会社 機械学習ソリューションアーキテクト 宇都宮聖子 [slides]

AWS ソリューションアーキテクト宇都宮より、AWS 上の Amazon EC2/SageMaker でうまく Chainer を使う方法、関連サービスでの Chainer サポート状況、Amazon SageMaker を用いた Chainer の分散並列学習の実行方法などについてご紹介させて頂きました。AWS が提供する機械学習スタックの中でも、Amazon SageMaker は機械学習モデルの開発・トレーニング・デプロイを行うためのマネージドサービスです。SageMaker をお使い頂くと予め環境構築がされ深層学習フレームワークがインストール済みの Jupyter Notebook 環境が素早く立ち上がります。この SageMaker ノートブックインスタンスのデモ、Chainer で書かれたトレーニングジョブの呼び出し、ChainerMN を用いた AWS 上での分散深層学習ジョブの実行方法についてご紹介しました。また、アノテーションツールの GroundTruth、モデルの Marketplace、学習済モデルのコンパイルのための SageMaker Neo についてもご紹介しました。

事例発表

「SageMaker を用いた ChainerRL の活用」株式会社ACCESS 池内 康樹 様 [slides]

株式会社ACCESS 池内様からは、昨年の AWS re:Invent で発表された Amazon SageMaker RL をうまく使った、ChainerRL での強化学習についてお話しされました。はじめに強化学習の全体像についてお話し頂き、ChainerRL についての導入の後、Chainer コンテナと SageMaker RL コンテナを用いた SageMaker 上での強化学習の実行方法についてお話し頂きました。最後にデータセンターの空調制御タスクを ChainerRL を用いて実装された例についてご紹介されました。まとめでは、SageMaker で強化学習を行うメリットとして、環境構築が不要なこと、トレーニングインスタンスの立ち上げと終了が簡単なこと、SageMaker RL に面白いサンプルが多くあることを挙げて頂きました。

「SageMakerを便利に使うためにやったこと」株式会社ZOZOテクノロジーズ 中村 拓磨 様 [slides]


1回の計算に時間のかかる仕事が増えてきたため SageMaker を使い始めた、と株式会社ZOZOテクノロジーズ 中村様は話されました。はじめはリサーチャーごとに SageMaker Notebook インスタンスを使い始めたが、好みのエディターを使うため各自のラップトップ上に SageMaker Python SDK を pip install sagemaker でインストールし、Python スクリプトからトレーニングジョブを作成することに落ち着いたようです。また、SageMaker では学習データを Amazon S3 に置き、学習済みのモデルも S3 に出力される設計となっていますが、これに合わせてローカルのラップトップ実行の際は設定ファイルを S3 経由で渡すようにしたそうです。学習途中のスナップショットを S3 へ保存し Slack へログ出力する Chainer Trainer extensions を開発されたようです。これらの Tips をお話し頂きました。

「Chainerを活用したWebサービス事例 〜PaintsChainerシステム事例紹介:CPUインスタンスによる深層学習技術の提供〜」株式会社Preferred Networks 福田 昌昭 様 [slides]


株式会社Preferred Networks 福田様は PaintsChainer のシステム概要と開発・運用についてお話しされました。PaintsChainer 運用開始当初は GPU サーバーのコストや、オートスケーリングのための GPU メトリクスの取得、安定性・セキュリティに課題を抱えていたようです。そこで、クラウドを利用し、かつ CPU のリソースを活用した実装へと移行していき、70% のコスト削減・運用時のスケーラビリティ・高可用性を実現されたそうです。なお、Cython と Intel MKL-DNN で実装されていた時には PaintsChainer に新機能が追加されるたびにこれを書き足す苦労があったようで、現在は Chainer v4 から対応した Chainer Backend for Intel Architecture (iDeep) を用いて CPU での推論を行っているそうです。今後は SageMaker を用いてアノテーション、学習、デプロイまでを行ったり、Chainer で学習させたモデルを ONNX に出力して Menoh を使って CPU で推論させたり、深層学習技術のクリエイティブ領域への活用などを進めたいとお話しされました。

「Chainerの研究成果を爆速でdeployするModelPackageの仕組み」AlpacaJapan株式会社 梅澤慶介 様 [slides]


Chainer エバンジェリストとしても活動されている AlpacaJapan株式会社 梅澤様からは、Alpaca でのデータサイエンス・機械学習の取り組みについてお話し頂きました。AlpacaJapan株式会社では金融の時系列予測サービス AlpacaForecast AI prediction Matrix を提供しており、AWS のマネージド Kubernetes サービスである Amazon Elastic Container Service for Kubernetes (EKS) を用いて AWS 東京リージョンで運用されています。また、チームでデータサイエンスを行うために、データを共有し、環境を共通化し、実験の再現性を高めるためのツールも開発されているそうです。

まとめ

以上が今回の発表内容です。次回、第3回 Amazon SageMaker 事例祭りは2019年3月12日に開催されます。ただいま申し込み受付中ですので、少しでもご興味のある方はぜひ登録をお願いします。