SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2017】セッションレポート

クラウドの活用や内製ツールで、柔軟かつ効率的な機械学習基盤と分析基盤を実現【デブサミ2017】

【17-B-4】DeNAの機械学習基盤と分析基盤

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

 AI技術に注力しているDeNAでは、環境の構築・運用における課題を解決するため、クラウドを積極的に活用しています。また、データ分析基盤においてもさまざまな内製ツールを展開し、日々の作業を効率化しています。「Developers Summit 2017」で行われた、株式会社ディー・エヌ・エー 瀬尾直利氏のセッションでは、DeNAにおける機械学習基盤とデータ分析基盤の取り組みとそこで生まれた極意、活用しているツールなどが紹介されました。本記事ではその内容についてレポートします。

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

講演資料

「次世代の事業の柱」を目指し、柔軟な機械学習基盤を構築

 現在DeNAでは「次世代の事業の柱」にすることを目指し、AI技術、特にディープラーニングに力を入れているといいます。Developers Summit 2017に先立って行われたテクノロジーカンファレンス「DeNA TechCon 2017」でも、トラックの1本がAI関連セッションで統一されていたほどです。

株式会社ディー・エヌ・エー AIシステム部 リードエンジニア 瀬尾直利氏
株式会社ディー・エヌ・エー AIシステム部 リードエンジニア 瀬尾直利氏

 DeNAにおける機械学習基盤の話に入る前に、瀬尾氏は「GPU」に関する基礎知識を解説しました。

 GPUとは(Graphics Processing Unit:グラフィックス プロセッシング ユニット)の略で、画像処理を担う主要な部品の1つです。並列処理を行うことで高速な演算を実現しており、ディープラーニングの場合、CPUで30日かかる処理を4日で完了してしまうほどです。そのため、ディープラーニングの機械学習基盤は、基本的にGPU基盤であることを前提としています。

 よく使われているGPU製品には、NVIDIAのHPC(ハイパフォーマンスコンピューティング)向けシリーズの「NVIDIA Tesla」があります。このシリーズは世代を追うごとにスペックも向上しているため、瀬尾氏は「最新世代のGPUを積極的に使っていくべき」と、性能比較図を交えて解説しました。

NVIDIA Teslaの性能比較図
NVIDIA Teslaの性能比較図

 AI案件におけるDeNAのGPU基盤には、用途別に3つの環境が用意されています。

 1つ目はトライアンドエラーを繰り返す開発で用いる、オンプレミスのGPU専有マシンです。

 2つ目はパラメータチューニング用途のマシン。学習させる過程で使用し、パラメータを少し変えて、大量の処理を並列で走らせます。チューニングが終わると不要になるため、オンプレミスのマシンではなくクラウドサービスの利用が適しています。AWSではG2インスタンスとP2インスタンスがGPUに対応しており、DeNAはusリージョンでP2インスタンスを学習時にのみ起動して使っています。また、Google Compute EngineでもGPU環境が提供される予定で、そちらの使用も検討しているそうです。

 3つ目はサービス提供環境、つまりプロダクション環境です。機械学習には大きく「学習フェーズ」と「予測フェーズ」の2つのフェーズがあり、前者はその処理量やパフォーマンスからGPUの開発環境が必要となります。しかし後者はそこまで高い処理能力を必要としていません。そのためCPUが採用されており、HTTP APIとして実際のサービスに提供しています。瀬尾氏はディープラーニングのフレームワーク「Chainer」を活用した実例について、構成図を元に解説しました。

Chainerを活用した実例
Chainerを活用した実例

 さらに、DeNAの機械学習環境を支援するツールとして、内製の「ec2-scale-run」が紹介されました。これはGPUサーバーのオンデマンドオートスケールツールで、必要な分だけGPUサーバーを自動で立ち上げ、学習が終わると「自動で」そのサーバーを落とす仕組みです。学習が終わったサーバー群を落とし忘れてしまい、思わぬところで費用を無駄使いしてしまうケースへの対応策として作成されました。

ec2-scale-run
ec2-scale-run

次のページ
DeNA流データエンジニアリングの極意とDeNAの分析基盤

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
【デブサミ2017】セッションレポート連載記事一覧

もっと読む

この記事の著者

しんや(シンヤ)

2010年末~2013年前半位までの期間で興味のある勉強会に頻繁に参加。参加してきた勉強会のレポートブログとTogetterをひたすらまとめ続け、まとめ職人(自称/他称含む)として暫く過ごしておりました。色々な縁あってDevelopers Summit 2013では『公募レポーター』も務めました。2013年05月『出張ブロガー』を経て2013年08月にクラスメソッド株式会社へ転職。現在は業務(AWS及びその周辺技術を扱う)の...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10090 2017/04/25 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング