ITエンジニアのための勉強会・イベントレポート情報メディア

DeNA TECH STUDIO #1 Apache MXNet
event

DeNA TECH STUDIO #1 Apache MXNet

2017.11.22

 
  • このエントリーをはてなブックマークに追加

DeNAが、「技術向上に貢献する」ことを目的とした「DeNA TECH STUDIO」プログラムを立ち上げました。勉強会など運営に関して、会場、ケータリング費用、事前準備等をDeNAの人事がサポートするエンジニア向けのイベントサポート制度です。今回はその第一弾として9月27日に渋谷ヒカリエのDeNA本社サクラカフェで開催されたイベント、「スケーラブルなDeep Leaningフレームワーク"Apache MXNet"をAWSで学ぶ」に参加してきました。当日は、アマゾンウェブサービスジャパン株式会社の志村誠氏から、Apache MXNetとAWSを活用したディープラーニング(DL)の活用について解説を聞くことができました。

鶴田 展之

ディープラーニングとApache MXNet

近頃、ディープラーニングへの関心の高まりに合わせて、Caffe,Chainer、TensorFlow、Keras、Theanoなど、容易にDLプログラミングをはじめられるフレームワークが多数登場しています。もちろん各フレームワークにはそれぞれに得意なこと、苦手なことがありますが、その中でAWSが、自社にとって最適なフレームワークだと判断したのが「MXNet」です。 AWSには複数名のMXNetのコミッターが在籍しており、MXNetコミュニティに貢献するとともに開発を加速するためのサポートを行なっています。

もともと、MXNetはーネギーメロン大学で開発されたDLフレームワークですが、2017年1月にApache Incubatorに移管され「Apache MXNet」となりました。

MXNetの特徴

AWSがTensorFlowや他のフレームワークと比較検討してMXNetを選んだことには、もちろん理由があります。

(1) 複数の言語に対応し、シンプルに書ける
MXNetはC++、Python、R、Julia、Scala、Go等に対応していて、好きな言語でプログラミングできます。(ディープラーニングの分野ではPythonが使われることが多いようです。)また、命令形、宣言型の組み合わせが可能なので、柔軟なプログラミングが行える点も大きな特徴です。

(2) メモリ効率が高い
メモリ消費が少なく、モバイルやIoTへの展開もしやすいメリットがあります。

(3) スケーラビリティの高さ
多数のGPUで並列処理を行う場合でも性能劣化が極めて少なく、256 GPUで約88%という高い効率を実現しています。

これらの利点は開発者コミュニティにも高く評価されており、現在GitHub上でMXNetの開発に参加するコントリビューターの数も、DLフレームワーク中でTensorFlow、Theanoに次ぐ3番目と増加傾向にあります。

AWSプラットフォームとの連携

AWSでは、そのMXNetを含む機械学習サービスを4つのレイヤーで構成しています。

(1) AWS Batch
大量データを一括処理するバッチジョブの実行を簡単に管理できるサービスがAWS Batchです。ハイパーパラメータチューニング、つまり人間が選択しなければならないパラメータの値を変化させながら、様々な条件で学習を行わせたいとき等に便利な機能です。

(2) EC2 Container Service (ECS)
機械学習のための基盤環境をDockerコンテナイメージとして提供します。煩雑になりがちな環境構築の手間や、ややこしい推論アプリケーションのデプロイの手間を軽減してくれます。

(3) 主要DLフレームワークをサポートしたAMI (Amazon Machine Image)
AWSには「AWS Deep Learning AMI」というマシンイメージが用意されています。このAMIには、MXNet、TensorFlow、Keras等のフレームワーク、NVIDIA CUDA、Intel MKLなどのライブラリがあらかじめ組み込まれているので、インスタンスを立ち上げればすぐにモデル作成の作業に入れます。

(4) P2インスタンス
ディープラーニングのモデル構築は、大量のGPUを使って並列処理させることで大幅な時間短縮が可能です。NVIDIA Tesla K80 GPUを最大16個搭載したP2インスタンスを利用することで、ディープラーニングに最適な環境を構築できます。さらに、今年5月に開催されたGTC2017にて、次世代のGPUアーキテクチャであるVoltaを採用したGPUインスタンスを、AWSから提供予定であることがアナウンスされました。

まとめ

近頃、筆者もいろいろなところで質問や相談を受けるので、機械学習・深層学習に対する関心の高まりを実感しています。しかし、まず環境を用意する時点でそれなりに手間がかかってしまうので、具体的な推論アプリケーションを発想するところまでなかなか辿り着けないのが実情だったりします。そんな中で、AWSやマイクロソフトのAzureなど、ディープラーニングを包括的に支えてくれるサービスが整ってきたこと、TensorFlowやMXNetのような実用的なDLフレームワークが競い合って機能・性能を向上させてきていることは、今後のアプリケーション開発に向けた大きな推進力になりそうです。

原稿: 鶴田展之
qnote代表取締役。オープンソースソフトウェアを用いたシステムインテグレーション及びコンサルティングの傍ら、技術書を中心に多数の著述活動を行う。
なお、オフィスには7匹の猫がいる。

DeNA TECH STUDIO #1 Apache MXNet

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW