Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TensorFlowとGCPの簡単な紹介

 TensorFlowとGCPの簡単な紹介

Norihiro Shimoda

April 01, 2017
Tweet

More Decks by Norihiro Shimoda

Other Decks in Technology

Transcript

  1. TensorFlowとGCPの話
    By  Norihiro Shimoda
    1

    View full-size slide

  2. ⾃自⼰己紹介
    • 下⽥田倫倫⼤大(@rindai87)
    • データ分析専業の企業のエンジニアマネージャー
    • TensorFlow User  Group(TFUG)主催者
    • 最近GDE(Google  Developer  Expert)のML  
    Expertになりました

    View full-size slide

  3. 本⽇日のAgenda
    • TFUG(TensorFlow User  Group)のご紹介
    • TensorFlowのご紹介
    • GCPでのデータ分析/機械学習環境のご紹介
    3

    View full-size slide

  4. TFUGのご紹介
    by  Norhiro Shimoda
    4

    View full-size slide

  5. What  is  TFUG  ?
    • 分散機械学習フレームワークであるTensorFlow
    のコミュニティです。
    • 2016年年10⽉月に⽴立立ち上がりました。
    公開⽤用では顔写真が⼊入ってるので割愛

    View full-size slide

  6. Meetup
    • ⽉月に⼀一度度程度度のペースでミートアップイベント
    を開催しています。
    公開⽤用では顔写真が⼊入ってるの
    で割愛

    View full-size slide

  7. #  of  our  members
    7

    View full-size slide

  8. 地域TFUGも
    • TFUG  AIZU(2016年年末に始動)
    • TFUG  KANSAI(5⽉月始動)
    • その他も増えるかも。。。?
    8
    公開⽤用では顔写真が⼊入ってるので割愛

    View full-size slide

  9. How  to  join?
    グループ名:TensorFlow User  Group  Tokyo
    イベント情報を管理理しています。
    https://tfug-‐‑‒tokyo.connpass.com/
    グループ名:TensorFlow User  Group
    各種情報交換の場として利利⽤用されています。
    https://www.facebook.com/groups/17855923
    5921208/

    View full-size slide

  10. TensorFlow概要
    by  Norhiro Shimoda
    10

    View full-size slide

  11. TensorFlowとは?
    • Googleによって2015年年11⽉月に公開されたオー
    プンソース
    – Google内部で多数の使⽤用実績があるらしい
    Google  Photo
    画像の⾃自動分類
    Google  翻訳
    翻訳の⾃自動学習
    Gmail
    スパムフィルタ
    OK  Google
    ⾳音声認識識
    11

    View full-size slide

  12. TensorFlowの歴史

    View full-size slide

  13. Googleトレンドで⽐比較
    13

    View full-size slide

  14. TensorFlowのモデル
    1. 学習モデルをグラフと
    して定義する
    2. 学習を実際にどう⾏行行う
    かも定義する
    – 学習の評価⽅方法
    – 最適化の⽅方法
    – CPU  or  GPU
    – スタンドアロン or  分散
    3. 定義に従って計算処理理
    をデバイス上で実⾏行行さ
    せる

    View full-size slide

  15. いろんなデバイスで動きます
    15
    CPU
    GPU
    Android iOS
    RasberryPi
    etc…

    View full-size slide

  16. ⽉月刊Interfaceでも特集されてます
    16
    https://www.amazon.co.jp/dp/B01MQT4OS8

    View full-size slide

  17. TensorBoardなどのツール

    View full-size slide

  18. 18
    きゅうりの規格の⾃自動仕分け
    From:  http://workpiles.com/2016/02/tensorflow-­‐cnn-­‐cucumber/

    View full-size slide

  19. 空撮写真からの⾞車車両カウント
    19
    From:  http://www.brainpad.co.jp/news/2016/09/02/3454

    View full-size slide

  20. 技術的な部分も
    もっと知りたいという⽅方は
    20
    From:  https://goo.gl/7cgzwR

    View full-size slide

  21. ここまでのまとめ
    • TensorFlowは全世界的に⼤大⼈人気
    – Googleが使ってるものが使える!
    – AlphaGOのインパクト!
    • TensorFlowに関わる⼈人もいろいろ
    – 研究で使ってる学⽣生、先⽣生
    – 趣味の延⻑⾧長で触っているWeb系開発者
    – ディープラーニングを案件として扱う分析外⾞車車
    – Android/iOS等のモバイルアプリの開発者
    – 組み込み系のハードウェア寄りの開発者
    – etc…
    21

    View full-size slide

  22. GCP上の機械学習環境
    22

    View full-size slide

  23. GCPのコンポーネントのアイコン
    23
    https://goo.gl/WOR5ej

    View full-size slide

  24. VisionAPIデモ
    24
    VisionAPIのお試しができます
    https://goo.gl/HpyrUH

    View full-size slide

  25. 機械学習いけそう!というイメージ
    出典:https://cloud.google.com/products/
    超すごいGoogleの
    ⼈人⼯工知能の要素技術である
    機械学習をクラウドで
    簡単に使えそうな雰囲気!
    25

    View full-size slide

  26. 結果、こういう流流れが
    できつつあります
    26

    View full-size slide

  27. クラウドで
    機械学習のAPI
    あるじゃない

    APIを使ってみる

    ビジネスニーズに
    微妙にフィットしない

    スクラッチでやるしか

    機械学習むずい
    \(^o^)/
    27

    View full-size slide

  28. 焦ってもすぐに機械学習⾃自体は
    理理解できるようなりませんので、
    かわりにデータ分析(機械学習
    含む)の環境としてのGCPにつ
    い⾒見見てみましょう
    28

    View full-size slide

  29. データ分析環境の前提
    世の中には⾊色んな考え⽅方がありますが、、、
    • 分析者が複数⼈人(それなりの数)いる
    • 分析するテーマがある程度度多岐に及んでいる
    – 当然、複数⼈人で1つのテーマの分析作業を⾏行行ったりする
    • 計算リソースが必要な分析も⾏行行う
    – ディープラーニングとか
    ディープラーニング登場以前/以後でも考え⽅方が少
    し変わります
    29

    View full-size slide

  30. 30
    分析環境第1世代
    • 各⼈人が⼿手元にそれぞ
    れの環境を構築する
    • データもそれぞれが
    勝⼿手にとってきて⼿手
    元のマシンに置いて
    いる状態

    View full-size slide

  31. 31
    分析環境第2世代
    • データソースは⼀一元
    化しましょう、とい
    う流流れ
    • データを加⼯工するた
    めのDWHも導⼊入しま
    しょう、となりがち

    View full-size slide

  32. 32
    分析環境第3世代
    • そろそろ開発環境も
    揃えたい、となって
    くる
    – 皆で作業分担するには
    同じ環境じゃないとね
    的な
    • ⼿手順書⽤用意したり、
    VM配ったり、
    Dockerを導⼊入したり

    View full-size slide

  33. ディープラーニング登場以後
    ここまではディープラーニング登場以前の話でした。
    ディープラーニングにはGPUが⽋欠かせませんので、
    1. クラウドのGPU環境を使う
    – まだ黎黎明期のため、少々お⾼高い印象
    – もちろんこっちでも良良い
    2. オンプレでGPU環境を使う
    – 実験的に導⼊入するのであれば、ビデオカード分への投
    資(⾼高々数万〜~⼗十数万円規模)でトライできる
    サービスに使う前のお試しの場合は2を選んでいる
    ⼈人(会社)が多い印象
    33

    View full-size slide

  34. 34
    分析環境第4世代
    GPUのリソースは
    限られているので
    共⽤用の環境となる

    View full-size slide

  35. 問題1:クソクエリ問題
    • みんなが同時にDWHを叩くと⼤大抵クソクエリが
    発⽣生して、DWH管理理者と、作業しようとしてい
    た⼈人が影響を受けてしまいます
    35
    DWH管理理者
    作業したかった⼈人
    クソクエリに
    やられたDWH

    View full-size slide

  36. 問題点2:GPU借りまーす問題
    • GPUを共⽤用で使うので、「借りまーす」「返し
    まーす」というやり取りが始まる
    • ⼀一度度借りるとなかなか返せない
    • 使いたい時はだいたい重なる
    36

    View full-size slide

  37. つまり分析環境には何が必要か?
    • 無尽蔵で可⽤用性がある安価なストレージ
    • 前処理理のための⾼高性能かつ⼿手がかからないDWH
    • 計算リソース
    – 特にディープラーニングならGPUインスタンス
    • 共通の作業環境を提供できる仕組み
    – AMIとか、コンテナとか、デプロイの⾃自動化とか
    37

    View full-size slide

  38. 進⾏行行の都合上
    おもむろにコマンドを
    叩きます
    38
    $  jupyter notebook
    $  datalab create  datalab-‐‑‒test

    View full-size slide

  39. 揃ってますよ、GCPならね
    対応するものがちゃんと揃ってます。
    • ストレージ:Google  Cloud  Storage(GCS)
    • DWH:BigQuery
    • 計算リソース:Google  Compute  Engine(GCE)
    39
    この中で他のクラウドと⽐比較して特筆すべきは
    BigQueryですが、本⽇日の本論論ではないので
    別の資料料などを参照してください

    View full-size slide

  40. Cloud  Datalab
    • JupyterをベースとしたGCP特化の分析環境
    – Jupyterはデータサイエンティストに⼈人気のある
    notebookという形態のブラウザで作業できる分析環境
    • Dockerイメージと周辺便便利利ツールの集合体
    – Githubで公開されている(https://goo.gl/aEefim)
    • 発表から⻑⾧長らくBetaだったが、最近GAになった
    40
    From:  https://cloud.google.com/datalab/

    View full-size slide

  41. Cloud  Datalabの仕組み
    41
    GCE
    (instance)
    GCE
    (disk)
    ①GCEにインスタンスを⽴立立てる
    永続化⽤用にディスクも付ける
    ネットワーク周りも設定

    View full-size slide

  42. Cloud  Datalabの仕組み
    42
    GCE
    (instance)
    GCE
    (disk)
    datalab
    (docker)
    ②DatalabのDocker imageを
    起動させる

    View full-size slide

  43. Cloud  Datalabの仕組み
    43
    GCE
    (instance)
    GCE
    (disk)
    GCS
    datalab
    (docker)
    ③GCSにバックアップも作られる

    View full-size slide

  44. Cloud  Datalabの仕組み
    44
    GCE
    (instance)
    GCE
    (disk)
    GCS
    datalab
    (docker)
    BigQuery
    ④datalabからBigQueryが使える

    View full-size slide

  45. Cloud  Datalabの仕組み
    45
    GCE
    (instance)
    GCE
    (disk)
    GCS
    datalab
    (docker)
    BigQuery
    ⑤GCEのインスタンスのスペックは上げ下げできる

    View full-size slide

  46. Cloud  Datalabの仕組み
    48
    GCE
    (instance)
    GCE
    (disk)
    GCS
    datalab
    (docker)
    BigQuery
    CloudML
    Engine
    ⑥CloudML Engineも使える

    View full-size slide

  47. Cloud  ML  Engineとは?
    • マネージドでスケーラブルな機械学習サービス
    – ???
    • TensorFlowの動作環境をオンデマンドで提供
    – distributedなTensorFlowも動かせる
    – GPUでのTensorFlowも動かせる
    • ⼤大規模にTensorFlowを使いたい時は⾮非常にあり
    がたいサービス
    – 逆に⼩小規模に試したいよってレベルだとあまり必要
    ないかも。。。
    49

    View full-size slide

  48. Cloud  Datalabで全てうまく
    いきそう!いい感じ!
    とうまくいかないのが
    世の常でして。。。
    50

    View full-size slide

  49. 惜しいよDatalab!
    • DatalabはGPUインスタンスに対応していませ
    ん。。。
    • Pythonは2系のみ。。。
    引き続き注⽬目です
    51

    View full-size slide

  50. 詳しい話はQiitaにあげてます
    52
    From:  https://goo.gl/VncKTa

    View full-size slide

  51. とはいえGCPは⾯面⽩白い
    • 時間の都合で話しきれませんが、Google内部で
    使われているテクノロジーがクラウドサービス
    として使えるようにしたものが多いので、⼤大変
    ⾯面⽩白いサービスが多いです。
    • データ分析周りで⾔言うと、、、
    – Cloud  DataFlow
    – Cloud  BigTable
    – Cloud  Spanner
    – Cloud  Dataprep
    などが個⼈人的には⾮非常に⾯面⽩白そうです。
    53

    View full-size slide

  52. 本⽇日のまとめ
    • TensorFlowは世界中で注⽬目されています
    – 気になったらTFUGにジョインしましょう!
    • GCPもここ最近で⼀一気に⾯面⽩白くなっています
    – 気になったらGCPUGにジョインしましょう!
    54

    View full-size slide

  53. 55
    Thank  You!

    View full-size slide