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

今なら、継続入会で月額会員費が1ヶ月分無料!

【エヌ教授の事件簿】マルチGPUでディープラーニングを高速化!NVIDIA Digits2のヒミツ
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

【エヌ教授の事件簿】マルチGPUでディープラーニングを高速化!NVIDIA Digits2のヒミツ

2015-07-09 09:13
    ※この物語はフィクションです。実在する人物・OS・プログラミング言語・端末・企業・団体名等とは一切関係がありませんのでご注意下さい

    ■登場人物紹介

    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdケイス淀橋
    コンピュータウィルスに感染し、ネットのアチラ側からこちら側にでられなくなってしまった電脳空間カウボーイ。

    debf7fb808c733e9f4c07b4305b6b3cc5e691522
    シン石丸
    電脳空間カウボーイズのリーダー。ケイスともケイスの兄とも昵懇の仲

    f9c4486465c553cfd6b37807d564ce276519dd6c
    エヌ教授
    実際には何を研究しているのかよくわからないがコンピュータに詳しい教授


    ■ニュース多すぎなディープラーニング業界
    debf7fb808c733e9f4c07b4305b6b3cc5e691522NVIDIAがDigitsの新しいバージョンを発表したよー
    6e70cc49c2b4434cb5afe56c1d3cdbf38d0c8943

    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdおお、何ができるようになったの?
    debf7fb808c733e9f4c07b4305b6b3cc5e691522とりあえず今回の目玉はマルチGPU対応みたいだね
    8cd5209040e64945f847d68678d42734df34dd93
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdちょっと待て、今までマルチGPUに対応していなかったのか?
    debf7fb808c733e9f4c07b4305b6b3cc5e691522そうみたいだね。
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdNVIDIA、4GPU搭載マシンとか売ってたのに!? 120万円もする
    e191d39e90a4eb4fc8bec0703e24e037cbbbe698
    debf7fb808c733e9f4c07b4305b6b3cc5e691522ああ。あれを買った人は全く意味ナシだったわけだな。その当時は
    6f6cf68eeae14831db833f4b82af268828732711NVIDIAもアコギな商売するなあ・・・


    ■価格4倍でも性能2.5倍以下!?ディープラーニングは並列化がニガテ?
    f9c4486465c553cfd6b37807d564ce276519dd6cまあまあ二人とも。結果的には4GPUで性能が上がるんだからいいじゃないですか
    debf7fb808c733e9f4c07b4305b6b3cc5e691522しかし、4GPUでも性能は2.5倍以下しか上がんないんですよね。これってなぜなんですか?
    6f6cf68eeae14831db833f4b82af268828732711NVIDIAは全力でGPUを売りたいだけなんだろうけどね
    f9c4486465c553cfd6b37807d564ce276519dd6cそんなことも解らないのですか君たちは。ディープラーニングディープラーニングとバカの一つ覚えのように唱えてれば、そのうちシリコンバレーのエンジェル投資家が「私は人間に投資するのだ」とか言って5億円をいきなり投資してくれるとかいう夢物語を見てるのですか?
    debf7fb808c733e9f4c07b4305b6b3cc5e691522日テレの例の番組の話はいいから、教えて下さいよ
    f9c4486465c553cfd6b37807d564ce276519dd6cしかたないですね。Digitsがフォーカスしているのは畳み込みニューラルネットワークによる画像分類タスクです。このとき、畳み込みニューラルネットワークは以下のような構造になっています。

    4eea01e9c7d884894c6db8980e24cc283ebb2240
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cd教授!わかりません!!
    debf7fb808c733e9f4c07b4305b6b3cc5e691522これは2012年のいわゆるAlexNetと呼ばれるやつですね。
    f9c4486465c553cfd6b37807d564ce276519dd6cしゃあねえな。君でもわかるように色分けしてあげるよ
    2931265edff8d1deec6e38a380886d4f8b1b32f9
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdおお、さっきよりわかりやすいような・・・わかんないような
    f9c4486465c553cfd6b37807d564ce276519dd6cこれを見るとわかると思いますが、まず左側から224×224のカラー画像(3チャンネル)を入力し、それを畳み込みニューラルネットワークで局所的に分解しながら学習していくわけです。それぞれの箱の下に書かれた数字は、その層の厚み(チャンネル数)になっている。こうやって局所から高所へとデータを読み取っていって、最終的に結合層で全てのニューロンからのデータを統合して最後は1000ニューロンに出力する。この1000ニューロンというのが、それぞれひとつずつ「これはネコ」とか「これは犬」とかに対応しているというわけです。
    debf7fb808c733e9f4c07b4305b6b3cc5e691522なるほど!ということは、このニューラルネットワークでは、出力が1000ニューロンだから1000種類までしか分類できないのか!
    f9c4486465c553cfd6b37807d564ce276519dd6cご名答。この構造を踏まえてChainerのサンプルコードをみるとさらに理解が深まりますぞ
    31ed424f3931d9a2550f907dbeffcf02db89c1bb
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdおお、さっきの図とビミョーに対応してる!つまり、最初3チャンネルで入力されたデータが96チャネル(図では48x2)の畳み込みそうに放り込まれ、5層(conv2,conv3,conv4,conv5)ほど畳み込んだ後、結合層で4096(図では2048が2つ)ニューロンを2つつなげて、最後に1000ニューロンになってる!なるほど納得!
    debf7fb808c733e9f4c07b4305b6b3cc5e691522いつになく難しい話になってますが、しかしこれでもマルチGPUでリニアに性能が上がらない理由がわからないんですよねー
    f9c4486465c553cfd6b37807d564ce276519dd6cちょっと考えればわかるでしょ。この処理をどこでやってると思いますか?
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdえーと、CUDAだから当然GPUの上ですよね。
    f9c4486465c553cfd6b37807d564ce276519dd6cこの一直線な流れをどうやって分散するんですか?全てGPUの上で処理しているというのに・・・
    4f8c2cd4af13ad0668e9c1a845cb45fffb6b405aあ・・・確かに

    ■SLI効果がでるかどうかはネットワークの構造に深く関わる
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cd図だけ見ると、畳込みニューラルネットワークの部分は分散できそうですが、結合層では結合しないと無理ですね。
    f9c4486465c553cfd6b37807d564ce276519dd6cそう。マルチGPUになったからって二ューラルネットワークの学習全てを分散できると思ったら大間違いなのです!!
    4f8c2cd4af13ad0668e9c1a845cb45fffb6b405aしかもネットワークの構造によっても違うはずだしなー。とするとあのベンチマークはどのニューラルネットワークの話なんだろう。

    4c6966a8da4b71c61da5a142e30e729825efaeba
    f9c4486465c553cfd6b37807d564ce276519dd6c一応、GoogLeNetをDigits2とTITAN Xを4枚SLIでやると3倍ほどのスピードアップになるらしいですね。ブログによると
    4f8c2cd4af13ad0668e9c1a845cb45fffb6b405aさっきの2.5倍以下というのはどれのことなんだろう。
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cd使うニューラルネットワークモデルによってもそんなに違うんだなあ
    f9c4486465c553cfd6b37807d564ce276519dd6cこれにはヒミツがあります
    debf7fb808c733e9f4c07b4305b6b3cc5e691522まさかヒミツのクマちゃんみたいなヒミツじゃないでしょうね
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdあれは泣いたなー
    f9c4486465c553cfd6b37807d564ce276519dd6c違いますよ。これがGooLeNetの構造です。
    eed7605881a0f624f8094ecbe1cbbad1d7710ba0
    6f6cf68eeae14831db833f4b82af2688287327114f8c2cd4af13ad0668e9c1a845cb45fffb6b405aお、おう・・・・
    f9c4486465c553cfd6b37807d564ce276519dd6cさっきのAlexNetと決定的に違うことに気づきませんか?
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdんー、どうだろう。何もかも違うようにも見えるが・・・
    4f8c2cd4af13ad0668e9c1a845cb45fffb6b405aあ、全結合層がないのかも
    f9c4486465c553cfd6b37807d564ce276519dd6c正解です。一般的に出力層はSoftmax関数を使って仕上げられます。GoogLeNetはSoftmax層が3つもあるんです。つまり、言ってみれば一種の多数決ですね
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdなるほど!全結合層がなくてSoftmax層が3つあるということは、他のGPUに分散しやすいということか!
    f9c4486465c553cfd6b37807d564ce276519dd6cその通りです
    debf7fb808c733e9f4c07b4305b6b3cc5e691522(・・・しかしこの展開・・・読者の人はついてこれてるのだろうか・・・)

    ■マルチGPUを活用した深層学習のベストプラクティスは?
    f9c4486465c553cfd6b37807d564ce276519dd6cDigits2を使うと自動的にマルチGPUに対応してくれるので便利は便利ですね。
    debf7fb808c733e9f4c07b4305b6b3cc5e691522だけど、ニューラルネットワークの構造自体をマルチGPUにあわせたほうが効率が上がりそうだなあ
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdたぶん、今年以降の論文発表はそういうネタが増えていくんだろうなあ。
    f9c4486465c553cfd6b37807d564ce276519dd6c個人的には、CaffeのprototxtよりもChainerのコードの方が書きやすい気がするんですけどね
    debf7fb808c733e9f4c07b4305b6b3cc5e691522RNN(リカレントニューラルネットワーク)も簡単に書けるみたいだしね
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cdChainerはCaffeで学習させたモデルをインポートできるようになったらしいので、それ使って、Caffe(Digits2)でマルチGPU学習させて、ニューラルネットを実際に使うときにはChainerを使う、なんていうワークフローもあり得るかもね。


    ■しかしヒミツのクマちゃんのヒミツはあれでいいのか?

    debf7fb808c733e9f4c07b4305b6b3cc5e691522まー無垢な人工知能といえば、無垢なIT起業家であるケイスさんのお兄さんがまんまと無垢に騙されたわけだけど
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cd可愛そうだわ。アニキ、マジで「クマちゃんキター!!」って超嬉しげにFacebookに写真上げてたもん。あれほど喜んでいるのを見たのは、佐々木希のDVDが届いた時以来だ。
    debf7fb808c733e9f4c07b4305b6b3cc5e691522期待が大きいだけに落胆が大きいよね
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cd誰かがTwitterで、「紐で操ってる人形売ってる露天商と同じ商売」と言ってたけどその通りだもんなあ
    debf7fb808c733e9f4c07b4305b6b3cc5e691522可哀想に。で、お兄さんどうしたの?最近見ないけど
    cf32f2ed182c931c983a8716c7a6ab4e8e4da7cd・・・相変わらずだよ

    3da1efe0bb6a33f836066ecf74f40b5e2690c67c
    1bc6fe429432fc6b782a60001240286adc63ebfc人類滅亡の日まで、あと、365日!


    ※この物語はフィクションです。実在する人物・OS・プログラミング言語・端末・企業・団体名等とは一切関係がありませんのでご注意下さい
    チャンネル会員ならもっと楽しめる!
    • 会員限定の新着記事が読み放題!※1
    • 動画や生放送などの追加コンテンツが見放題!※2
      • ※1、入会月以降の記事が対象になります。
      • ※2、チャンネルによって、見放題になるコンテンツは異なります。
    ブログイメージ
    電脳ヒッチハイクガイド
    更新頻度: 毎週月曜日
    最終更新日:
    チャンネル月額: ¥1,080 (税込)

    チャンネルに入会して購読

    コメントを書く
    コメントをするには、
    ログインして下さい。