GTC JAPAN 2018に行ってきました

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

9月13・14日にグランドプリンスホテル新高輪にて行われていた、GTC JAPAN 2018の2日目に行ってきたので、その内容をざっくりとレポートします。

GTC JAPAN 2018

GTC(GPU Technology Conference)はGPUを利用した製品・研究・サービスに関する、NVIDIA主催のイベントです。 GTC JAPAN 2018では、セッション、ポスター展示、デモ展示、企業ブース、トレーニングなどなど、興味深いコンテンツが色々ありました。

セッション

参加したセッションで特に印象に残ったものをご紹介します。

PyTorch 1.0 - Building a Seamless Path from Research to Production

  • facebookでのモデル開発変遷
    • 「chainer + onnx + caffe2」から「PyTorch」へ
  • PyTorchの紹介
  • 学習の高速化
    • 今だとImageNetの学習も18分もかからない
  • 分散処理による並列化の際に同期時のオーバーヘッドが生じる
    • overlapping backward pass with allreduceといったテクニックを紹介(PyTorchで使用可能)
  • 開発者によるまとめビデオ

PyTorchは使ったことが無いので、ぜひ試してみたいです。

Jetson Xavier Deep Dive

Jetson Xavier(エグザビア)の紹介でした。

  • hardwareを提供して終わりでは無い
    • Jetson SDK
    • サンプルもある
    • 開発者向けツール(Nsight)もある
  • Jetson デベロッパーサイト
    • SDKや開発ツールのダウンロード
    • フォーラム
    • ドキュメント
    • 教育コンテンツ、チュートリアル
    • エコシステム
  • スペック紹介
  • CUDAアプリケーション エコシステム
  • NGCのレジストリでコンテナを公開している
  • TensorFlowサポートについて

Jetson ミートアップ(スポンサー 菱洋エレクトロ)

Jetsonに関するセッションと、参加者同士のネットワーキングを行うためのイベントでした。
(スマホの電池が無くなってしまったので、LT/Networkingイベントの途中で帰らせてもらいました。残念。)

  • 挨拶
  • Jetson update
  • エッジにおける深層学習の推論処理の効率化
  • CUDA on Jetson AGX Xavier
  • Lightning Talk / Networking
  • 写真撮影

軽食と飲み物もありました。

内容紹介

  • Jetson update
    • Jetsonはdeveloperによって支えられて来た
    • これからはautonomous machineの時代
    • GPUコンピューティングの隆盛
      • CPUの成長は頭打ちしている
      • 昔から深層学習はあったけども計算量が足りてなかった
        • GPUが出たことで伸びていった
      • Jetsonの成長速度は驚異的
        • 開発者の方々がJetsonを用いたものを色々作り、それが広がっていったから
      • 開発者によるビデオ
  • エッジにおける深層学習の推論処理の効率化
    • 畳み込みネットワークなどに最適化しているコンポーネントを使用する
    • 異種マルチタスクラーニング
      • 複数の異なるタスクを同時に学習
        • 例)一つのCNNで年齢・性別を同時に推定する
        • 関連すること同士を同時に学ぶことで、性能の向上を見込めることがある。ついでに効率向上
        • どれだけのタスクを学習できるか
          • DSSDで物体検出+セグメンテーション
            • 両方の推定を行えた。さらに両方重い処理にも関わらず、片方だけのタスクに比べてそこまで遅くなってない。
    • 推論処理をエッジとクラウドで分割。分割位置は自動で決定。
      • 分割位置の決定は、目的関数をレイテンシとサーバーコストとする、最適化問題
      • 副次的にプライバシーへの配慮が可能になる
        • 層の後半からサーバー側で計算することで、顔などのプライバシーの情報が削られたデータがサーバー側に渡される。
    • より小さなネットワークで再学習して、モバイルやエッジで使うケースがある。
      • アルゴリズムで高速化する
        • NNは内積計算が多いので、重みベクトルを分解して計算量を減らす(少ない実数ベクトル*基底ベクトル)
        • Quantization sub layer
          • 重みの内積計算部分を量子化ビットによってオンライン計算部分とオフライン計算(事前計算可能)部分に近似分割する
            • 試した例では、精度が数%落ちる代わりに、モデルサイズを20%くらいに圧縮できた
  • CUDA on Jetson AGX Xavier
    • CUDAの機能紹介
    • Jetsonのアップデート内容紹介
    • Jetson How to use セミナーの紹介
    • Jetsonキャリアボード製品の取り扱い
    • DIGITSチュートリアルの紹介

さいごに

当エントリではGTC JAPAN 2018の2日目に参加した内容をお伝えしました。

GPUによって機械学習、特に計算量が必要な深層学習は発展を遂げている最中です。 今後もGPU、ひいては機械学習によって様々な問題を解決することができるようになると思われます。 クラスメソッドでもそういった問題解決の一助が出来るよう、関連技術をキャッチアップしていきます。