いっしきまさひこBLOG

AI・機械学習関連、Web制作関連、プログラミング関連、旅行記録などなど。一色政彦。

GTC Japan 2018 聴講ノート

※これはセミナー聴講時の個人的なノートをそのまま公開したものです。誤字誤植や勘違いがある可能性があるのでご了承ください。

Day 1: GTC Japan 2018: 9/13-14 グランドプリンスホテル新高輪


基調講演[JENSEN HUANG  NVIDIA 創業者、社長兼 CEO]

NVIDIA GDX-2

世界をリードするAIプラットフォーム

  • 例:1週間かかったResNet-50モデルの学習が、TensorコアGPUでは数分で完了した
  • 日本のリーダー企業との協業例: TSUBAMEはNVIDIA Teslaを使った世界初のスパコン

Tesla 14を発表

  • 高速な推論アーキテクチャを持つ
  • 1クロックで4x4行列の積和演算を行うTensorコアを320個搭載

Tesla T4を発表

  • Pascalに比べて12倍の性能を向上させた
  • そのすべてが消費電力75Wで実現される
  • TensorRTの発表以来(1年間)、12000以上の開発者がダウンロード

NVIDA TensorRTハイパースケール推論プラットフォームを発表

  • 多精度Tensorコアを持つTesla T4やTensorRT 5、それにTensorRTハイパースケールから成る、新しい推論プラットフォーム
  • 次世代のAIサービスを更新していく

XAVIER

  • 初の自律動作マシンプロセッサ
  • わずか30Wで毎秒100兆以上のオペレーションを行う

NVIDIA AGXを発表

  • ロボットなどで使えるコンピューター基盤
  • XAVIERが搭載されている

NVIDIA DRIVE


人工知能をビジネスに実装するとき、今やるべきこと[松尾 豊 東京大学 特任准教授、日本ディープラーニング協会理事長]

  • https://www.nvidia.com/ja-jp/gtc/sessions?sid=2018-1010
  • 画像認識は人間を超える結果が多く出ている
  • 翻訳精度も上がっており、マイクロソフトが中国語⇒英語翻訳は人間並みと発表している
  • ディープラーニングを一番理解してもらえる可能性が高いのが、「最小二乗法」を学んで中身を知ってもらうこと
    • 線を引く=最小二乗法( Y' = a + bx, J=Σ(y - y')2 )こと
    • ここから変数を増やしていく( Y' = a + bx_1 +cx_2 ... )
    • 誤差を最小にするようにパラメーターを求めてやる
    • ディープラーニングは、この最小二乗法のお化けのようなもの
    • これの層を深くしていったもの
  • なぜ深いことが重要か
    • 1層(素材が1つ)だと、できる料理は少ない
    • 層を増やすと、飛躍的にできる料理は増えていく
  • xとyに何を置くかでいろんなことができる
    • x:画像, y:クラス, =画像認識
  • 要するに「ディープラーニング=深い関数を使った最小二乗法」
  • 現状の原理は簡単だが、今後、組み合わされたり発展したりして、さまざまな活用が行われていく
  • わずか6~7年にディープラーニングは急速に発展してきた
  • これから先も発展があるはず。特に世界モデル(世界を3次元として認識する)は進展の可能性が高い
    • World Models(シュミットさん、2018年)
    • GQN(Generative Query Network)(アリさんら、2018年)。特に重要な論文
  • AI研究の歴史は「シンボル派とパターン派の戦い」だった。
    • ディープラーニングは記号(シンボル)の世界
    • 今後、パターンの世界でも革新が起きていくはず。人間の場合、記号がパターンを呼び出すから
  • 2020年までは、単なる画像認識もまだまだ発展していく
  • 2017年~2025年は、目を持つ機械が誕生する
  • ディープラーニングのプロジェクトがどう進むか
    • 警備会社が「イベント会場内で不審者を見つけるシステムを作りたい」という問題例
      • 不審者の定義が必要。そこから議論
        • 顔認証? 行動認識? 異常検知?
      • 製品化のための具体的な内容の議論が始まる
        • データを集める。映像データとアノテーション、公開されているデータも積極的に活用
        • アルゴリズムを構築する。精度がどのくらい出るかを見る
      • 試行錯誤
      • 製品化
    • 最初は社長「AIで何か作れ」と適当な指示で始まる
      • 半年くらいでこなれてきて、分かってくるので、楽しくなる
      • 社長も見て喜び、プレスリリースを出す
      • AIチームが強化されていく
      • 最終的にAI専門の子会社が立ち上がる
    • というのが、ディープラーニングを取り組む企業のよくあるパターン
  • ディープラーニングは、インターネットでいうと1998年。20年ぐらいずれている印象
    • 次の20年で、FacebookやAmazonのような大企業がディープラーニング分野で登場する
    • 2038年がどうなっているか、を想像して、われわれは動く必要がある
  • ディープラーニング時代のプラットフォーマーとは?
    1. 熟練の目のスコア化
    2. 中心的な作業の自動化
    3. 現場作業への横展開
    4. サプライチェーンの再編
    5. 個人の消費活動にまで及ぶ(ここが一番利益率が高い)
  • ディープラーニングの人材が不足している
    • 松尾研の講座や卒業者のスタートアップの紹介
    • JDLA(資格試験)の紹介
    • Courceraのディープラーニング講座が分かりやすくてお勧め
    • 人材では「高専生」の可能性が実は一番大きいのではないか
      • なぜなら、ディープラーニングはハードウェア系と結び付きが強いから
      • IT系の人はハードウェアの知識がないので、ハードウェアを教育するのに時間がかかるため
  • ディープラーニング×ものづくり=日本向きなので、日本の新たな産業競争力になる
    • ぜひ日本で事業を興してほしい

CuPy -NumPy 互換 GPU ライブラリによる Python での高速計算-[奥田 遼介 Preferred Networks 取締役 最高技術責任者]

CuPyとは?

  • GPUを使ったNumPy互換のライブラリ
  • NumPyのコードは、import numpyからimport cupyに書き換えるだけで基本的に動く

なぜCuPyを作ったか?

  • NumPyは裏でいろいろやっていて闇のトリックがある
  • ゆえに、互換性があるライブラリを作るのは大変だった
  • Chainerとともに生まれたが、別ライブラリとして分離した

CuPy v2以降の取り組み

  • NumPyとの差分の改善
  • 速度向上: Cytahon化、メモリプールの改善など
  • CUDA Streamサポート
  • 対応関数の充実: Numpy, Sparase Matic, FFG, scipy ndimage対応など

CuPyの目指す方向

  • 最小限の修正でPythonコードをGPU対応に
    • CPU向けライブラリと高い互換性の確保
    • NumPyだけでなく、SciPyなどにも対応している
  • 気軽にGPUで高速化
    • インストールの簡易化
    • デフォルトで性能が出る設計

コード例(CPU<-->GPUも簡単):

import numpy as np
import cupy as cp
cpu_val = cp.asarray(gpu_val)    # GPU -> CPU
gpu_val = np.asnumpy(cpu_val) # CPU -> GPU

パフォーマンス

  • NumPyと比較して、データが多くなってくるとCuPyの数十倍~百倍ほど速い
  • @cupy.fuse()を使うともっと速くなる

応用レベルの機能

  • GPUメモリが足りない場合、Unified Memoryを利用して回避できる: CuPy+Tesla V100など(※対応するGPUがある)
  • どうしてもCUDAを直接書きたい場合は、ユーザー定義カーネル(cp.RawKernel())を使えばよい
  • どうしてもCUDAは書きたくない場合、Numba(from numba import cuda)と連携して回避できる

CuPyのこれから

  • 2018年10月にCuPy v5をリリース予定
    • 前述のFusionやNumbaサポート
    • Windows対応

最新の論文や独自手法を活用したディープラーニングソリューションの事例[柳原 尚史 Ridge-i CEO、木村 正成 Ridge-i エンジニア]

従来システム開発とAI開発の比較

  • ルールベースか、質がデータに依存するか
  • 厳密解か、近似解か
  • 演繹的でホワイトボックスか、機能的でブラックボックスか
  • 両方に得意なところがあるので、ベストミックスを目指すとよい

AI開発アセスメントからAI開発・導入までの流れ

  • AI導入の目的を明確にするのが重要
  • お客さんと一緒に、アセスメント~導入をいったりきたりする必要もある

Ridge-i の取り組み

  • ベストミックスを実現したソリューション

Ridge-i の事例

  • ディープラーニングによる自動彩色: 求める色合いを正確に再現する彩色ディープラーニング(服などをビビッドな色に)
  • ごみ焼却炉でのセグメンテーション活用: ゴミ質によって安定した燃焼ができないが、ディープラーニングによりモノを識別してゴミの質を安定化させることに成功
  • 衛星レーダー画像(SAR)でオイル流出検出: 衛星画像に対するディープラーニングによる解析の普及活動に参画。オイル漏れは教師データが少ないため、画像を増やすテクノロジを多用してデータを用意した
  • ルールにできなかった異常検知: 良品には存在しなかった傷やゆがみを検出。良品画像の特徴のみを学習させた。これにより極小の傷を検知できるようになった
    • さまざまな課題があった:
      • 良品の定義が難しい
      • 画像を高解像度に維持してGANモデルを作成する必要性があり、通常のGANだと収束しない
      • PCサーバーだと学習に数週間かかってしまう。高解像度データがメモリに乗らない
    • さまざまな工夫をして解決した

異常検知の難しさ

  • 画像を細かく切るパッチ処理だと、傷なのか模様なのか判別できないので、切らずに高解像度の画像を使う必要があった
  • 最新の敵対生成学習の手法(Progressive Growing of GANs)によって、高解像度かつ高精細な画像を生成できるようになった

敵対生成学習

  • GAN(Generative Adversarial Networks)で正常画像を生成できるようにする
  • それと入力データの差分を取ることで、異常が検知できる

データ拡張

  • 画像データの水増し: ノイズを減らせるが、それ以上の影響が出ないかの注意も必要

パネル: ディープラーニング ビジネス活用の理想と現実[井﨑 武士 エヌビディア合同会社 エンタープライズ事業部 事業部長]

  • https://www.nvidia.com/ja-jp/gtc/sessions?sid=2018-1017

  • 米中に比べると日本は後進国と呼ばれている

  • 国策としてデータの利活用など促進させようとしているが、人材育成や企業連携が十分ではない
  • ディープラーニングは2025年までに54%成長を続けるというグラフもある
  • パネリスト:
    • 東京大学の松尾先生
    • 武蔵精密工業の大塚氏
    • IGPIビジネスアナリティクス&インテリジェンスの川上氏
    • コマツの岩本氏
    • DeepXの那須野氏
    • 以下継承略。

データの利活用

  • 「データはある」という会社は多いが、実際には使えるデータと使えないデータがある。そのポイントは?
  • 川上: 自社に何のデータがあるかよく分かっていない。最後はSIが出てくるが、開いて見ると「使いにくいデータですね」という話になる。
  • 岩本: データというのはいっぱいある。デジタルデータで見ると数字の山。そこからピックアップして初めて情報になる。そこにもノイズがあったりする。次に情報の意味づけ(=タグ付け)が必要になる。ここまでデータを作る工数は大変なもの。ここは人海戦術しかなく、実際に全体の半分がここに費やされている。
  • 松尾: データのタグ付けにコストがかかるので、それをどうやってやるかが企業の競争力になる。中国などは、そこに専門部隊を用意していたりするので競争力がある。
  • 大塚: 大量に同じモノを作るので、大量のデータがすでにある。だからといってそれを使ってディープラーニングという話には違和感がある。そうではなく課題を明確にする必要がある。目を作るという課題を掲げれば、それに必要なデータを用意できる。そう考えないとうまくいかないと感じている。
  • 松尾: 不良品データを集めるのは難しいですよね?
  • 大塚: それが本当に大変。不良品は出ない。だから不良品の画像を自作する。もしくは良品データだけを学習させて異常検知することをしている。
  • 利益を生み出すシナリオ作りはどうしたらよいか?
  • 松尾: シナリオについては、技術が分かればどれを使えばよいか分かる。どこまでやるかは経営判断。だからそんなに難しい話ではない。

人材

  • 経産省が発表した先端IT人材は2020年までに4.8万人不足すると言っている
  • JDLAでは3万人のエンジニアを育成することを目標としている
  • 企業ではどんな人材が求められているのか
  • 松尾: 米中はどんどんやっているという話はあったけど、お金になるチャンスの話は米中は意識が研ぎ澄まされていると感じている。だから米中が先行している。日本はこの20年で内向きになってしまった。インターネット時代は、HTMLをやって、サーバーをやって、プログラミング言語をやりましょうよ、とやった。ディープラーニング協会でやろうとしてるのはそれと同じで、必要な技術はちゃんと学びましょうよ、ということ。知識を付けてやってみるのが最初のステップ。
  • 起業についてのアドバイスは?
  • 那須野: わたしが起業したのは「気質」という理由があるかもしれない。Web開発でザッカーバーグになるというのが学部3年ごろの時代の雰囲気だった。たまたま松尾研でAIを学んで、Amazonのレコメンドなどデータサイエンスが脚光を浴びる時代だった。ディープラーニングで機械を自動化していくというのは魅力を感じている。周りも起業していったので、自分も起業しようと思った。
  • ディープラーニングを勉強するのはどれくらい難しいのか?
  • 松尾: やればできるはず。情報がWebにたくさんある。昔のHTML登場時に学ぶ時の方が難しかった。プログラミングができれば、1時間もあれば何かしらできる。
  • 人材育成にどう取り組まれているか?
  • 岩本: なかなかディープラーニングに興味を持ってもらえない。新人と年配の人の両方でやっていくしかない。年配の人は新しい技術が来ても使わない人と、何でもかんでもそれで実現できると思う人と、両極端になってしまっている。ディープラーニングはそういう状況。
  • 大塚: 社内募集した。Pythonを知っている人など、技術好きの人が応募してきた。そういう若い技術好きが会社には必ず居るはず。好きこそものの上手なれだと感じている。おじさんたちは理解できないので、ほっておけば勉強してきてくれる。
  • 松尾: 社内で手を上げさせるのは賛成。あとは任せておけば、自分たちでコミュニティを作ってやっていく。

企業連携

  • 従来のIT業界は受託開発中心だった。しかしディープラーニング時代は協業など対等な関係で連携しているのが多い。
  • 契約やPoCの課題点は?
  • 川上: 自由度を持ってしっかり開発できるかが、企業連携を成功させるには重要。対等な関係で協業すべきだが、やはり受託的になっていくことも多い。
  • 那須野: AIスタートアップという立場で大手メーカーと連携している。人工知能の成果物は汎用的なので知財をもっていかれると問題。だから法務をしっかりとするのが大切。
  • 那須野: ディープラーニングは開発方法が、ITとは違う。最初に完全な設計はできない。アジャイル型になる。すべてを文書化することも、開発時間に影響するのでできない。
  • 川上: スタートアップと80年の伝統企業は違う。服装から年齢からいろいろ違う。ディープラーニングはある程度の精度でスピードは圧倒的に速いので、スタートアップ向け。お互いに歩み寄りが必要。