[TensorFlow]2019 TensorFlow Dev Summit をおさらい | Late Riser

Late Riser

ダメ主婦ミルミルのプログラムと道の駅ドライブとリラックマの日々。
プログラム系は情報提供ではなく個人的メモなので、信憑性薄め。

2019 TensorFlow Dev Summit をおさらい
https://developers-jp.googleblog.com/2019/03/2019-tensorflow-dev-summit.html?linkId=64669426

なぜGCPのプレスリリースの日本語はこうも回りくどいのか。

去る某日、2019 TensorFlow Dev Summit(3回目)がカリフォルニアのサニーベール(どこか知らん)でありまして、
それはそれはウェーイ!って盛り上がり、実際 約1,000 人の機械学習エンジニアやリサーチャーが参加し、
さらに 1 万人の方がライブストリームで視聴したんだそうな。
当然私は視聴していません。英語だし。

で、簡単に概略をメモ。

・TensorFlow 2.0 のアルファ版をリリースしたよ!
某Udemyの講師の方々曰はく、「機械学習周りはしょっちゅう変わる」だそうで。
で、デベロッパーや研究者がTensorFlowの強力な機能を使えるようになり、
MLの構築が今まで以上に簡単にやりやすくなったんだと。
(…簡単に…簡単に…???)

で、例によってオープンソースですので、そっち業界ともコラボを進め、
さらに次世代の新規ユーザーを訓練するために、O’Reilly Media、Udacity、Coursera の deeplearning.ai、fast.ai と
新たにコミュニティ パートナーシップを結んで教育方向にも力を入れるとか
(きっとお高いんでしょうな…)


・API コンポーネントの tf.keras との統合を強化し、高レベルAPIを提供するよ!
この辺は今まで通りTensorFlowとkerasのセットということなんだけど、
「データの取り込み、変換、モデルの構築、トレーニング、保存からデプロイまでをより簡単に行えるようになります。」
とのこと。

・TensorFlow Datasets もリリースしました!
よく使われる ML データセットのコレクションを TensorFlow で簡単に使えるようにしたものがリリースされたとか。
・・・アヤメの分類ばっかやってる場合じゃないわけですね。

・公式サイトでは1.x コードの 2.0 への移行をサポートするため、変換・移行ツールとドキュメントを提供しているよ。
TensorFlow 2.0 のアルファ版へ移行しよう!

・TensorFlow では、8 台の V100 で行う学習速度が昨年と比べて 2 倍以上高速化されました。
Cloud TPU v2 でのパフォーマンスは 1.6 倍に、
Intel MKL アクセラレーションによる推論速度は 3 倍以上になりました。
(うん、わからん。が、おそらくすごい事なんでしょう。)



・TensorFlow エコシステムには便利なアドオンがありますよ!
    ・TensorFlow Federated:
      今回のイベントで発表されたライブラリで、
      デバイス側のデータを学習に活用するフェデレーション ラーニングを実行

   ・TensorFlow Privacy:
      プライバシーが異なるモデルをトレーニングする際に役立つツールを含む開発中のライブラリ

   ・TensorFlow Probability:
      ML モデルで確率的手法を使い、不確定性を扱う予測や専門知識を組み込むためのライブラリ

   ・TensorFlow Agents

      TensorFlow 2.0 で強化学習を行うためのライブラリ

   ・テキスト処理やシーケンス処理の向上:
      Unicode テキストや形状が統一されていないデータ向けの新しい RaggedTensor 型のサポートなど、

   ・Mesh TensorFlow: 

      並列技術を使って大規模モデルの構築と学習を行う研究者向けの強力なライブラリ

   ・例

    DeepMind の Sonnet: 研究所が TensorFlow のモジュールと拡張可能フレームワーク上に

    独自のライブラリを構築した例

(薄くしかわからん。もうちょっと勉強を進めてから本件には挑もうと思う。)


・本番環境で TensorFlow を使う
TensorFlow Extended(TFX)を使えば、機械学習のライフサイクル全体を管理できるんだけど、
とうとうオーケストレーションがサポートされましたーーーー!(超重要!)
これによって、各コンポーネントを 1 つにまとめ、統合されたエンドツーエンド プラットフォームを利用できるように!
外部のオーケストレータもサポートされており、TFX コンポーネントをメタデータ ストアと統合できる。
このメタデータ ストアは、実行されるすべてのコンポーネントや、入力された学習データ、生成されたモデル等の記録を管理したり
実験の記録やモデルの比較といった高度な機能を使ってそれはもう、本番環境のユースケースを大きく改善できちゃう。
あと、TFX は複数のコンポーネント ライブラリで構成されてるんだけど、コンポーネントの新機能もどんどん追加しているよ。
(GCPの設計思想として、マイクロサービス&統合管理てのがあって、
外部サービスもGCPアーキテクトも一括で管理するのがいいよね、っていう。
この思想はStackDriverなんかでも共通で、とにかく便利だと思う。)



・モバイルや IoT で TensorFlow を使う
TensorFlow Lite は、モバイル システムや組み込みシステムでモデルを実行するためのソリューションです。
世界中で爆発的に広がって 20 億台以上のモバイル端末で実行されており、次世代のオンデバイス ML を主導しています。

TensorFlow Lite は、テキストの予測生成、イメージの分類、物体検知、音声認識、テキスト読み上げや音声の書き起こし、動画セグメンテーション、エッジ検出などのユースケースに活用されています。


・JavaScript で TensorFlow を使う
JavaScript デベロッパーが ML を使えるようにするのが、TensorFlow.js 。(Ver1.0)
TensorFlow.js は、デプロイに使用するだけではなく、ブラウザや Node.js のサポートを使用して、
直接 JavaScript で機械学習モデルの構築やトレーニングに使うこともできます。
このリリースに含まれる主な機能には、大幅なパフォーマンスの改善(MobileNet v1 のブラウザでの推論は、昨年に比べて 9 倍高速化)、
すぐにアプリケーションに組み込めるたくさんの新しいモデル、JavaScript が動作するプラットフォームの拡大などがあります。
AirBnb や Uber をはじめとする多くの企業が、本番環境で TensorFlow.js を使ってるし、
コミュニティもメッチャもりあがってるらしいよ!


(こんなにJavaScript嫌いなのに、どうも逃げれない雰囲気になってきてるよね)


・Swift で TensorFlow を使う
新しい Swift 用 TensorFlow パッケージの進捗について、バージョン 0.2 をリリースしていますので、
この新しい ML パラダイムを試し、向上したユーザビリティを確認することができます。
(Swiftのことはさっぱりだ)


<<機械学習進捗について>>
上記については、複層パーセプトロンで脳が死んでいる私にとっては
いまひとつ未到達のジャンルですが、なんとかまだがんばってます。
Udemyの講座もやっとKerasとTensorFlowの章に突っ込んだんだぜ。

「まぁ、プレーンのPythonで戦えるのはこの辺りまでなので、これからはライブラリ使います」
の安堵感と
「このあたりの数値決めは、経験則からくるカンですので説明は割愛します」
の絶望感wwww