TensorFlow : Roadmap : TensorFlow 2.0 がやってくる (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 10/01/2018
* 本ページは、TensorFlow の本家サイトの Community – Roadmap の以下のページを翻訳した上で
適宜、補足説明したものです:
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
TensorFlow 2.0 がやってくる
最近アナウンスされたように、私達は TensorFlow の次のメジャー・バージョン上の作業を始めました。TensorFlow 2.0 は重要なマイルストーンで、使い勝手の良さにフォーカスしています。ここにユーザが TensorFlow 2.0 で期待できる幾つかのハイライトがあります :
- Eager execution は 2.0 の中心的な特徴です。それはプログラミングモデルを TensorFlow の実践でより良くすることについてのユーザの期待を調整し、TensorFlow を学習して適用することをより容易にするはずです。
- より多くのプラットフォームと言語のサポート、そして交換フォーマットと API の調整上の標準化を通したこれらのコンポーネント間の改善された互換性と等価性のサポート。
- deprecated API を除去して重複の総計を減らします、これらはユーザを混乱させてきました。
2.0 と関連する公開デザインの相談についてのより詳細は、完全なアナウンスメント を見てください。
ロードマップ
以下の特徴は具体的なリリース日は持ちません。けれども、次の一つから2つのリリースで大部分は期待されます。
API
高位 API
- 同じデータパイプライン、API、そしてシリアライゼーション・フォーマット (Saved Model) を利用するための Keras, Eager, そして Estimator のより強力な統合。
- (TimeSeries, RNN, TensorForest, 追加のブースティング木機能のような) 一般に使用される ML モデルのための準備された Estimator と TensorFlow Core における関連する機能 (存在するのであれば contrib からのマイグレーション)。
Eager execution
- マルチ GPU とマルチ TPU コアを利用するために DistributionStrategy を使用する。
- 分散トレーニング・サポート (マルチマシン)。
- パフォーマンス改良。
- GraphDef/SavedModel へのより単純なエクスポート。
参照モデル
- 画像認識、オブジェクト検出、音声、翻訳、リコメンデーション、そして強化学習に渡る モデル のセットの構築、それらはベストプラクティスを示して高パフォーマンスモデル開発の開始点として役立ちます。
- 高パフォーマンスな Cloud TPU 参照モデル の増大するセット。
Contrib
- tf.contrib の外部で好ましい実装が存在する tf.contrib の一部を deprecate する。
- 可能な限り、tf.contrib 内の巨大なプロジェクトは分離したレポジトリに移動する。
- tf.contrib モジュールは TensorFlow 2.0 ではその現在の形式では継続されません。将来的には実験的な開発は他のレポジトリで発生します。
プラットフォーム
TensorFlow Lite
- Tensorflow Lite のサポートされる ops の範囲を増大する。
- TensorFlow Lite 上の使用のための訓練された TensorFlow グラフのより簡単な変換。
- モバイル・モデル最適化のためのツール。
- Edge TPU, TPU AIY ボードのためのサポートを拡張する。
- より良いドキュメントとチュートリアル。
TensorFlow.js
- ブラウザにおける TensorFlow.js のパフォーマンスを改良する ; 利用可能なとき、コンピュートシェーダーや WedGPU を使用するプロトタイプを実装する ; 利用可能なとき、CPU パフォーマンスを改良し、SIMD+ Web Assembly サポートを実装する。
- 音声とテキストベースのモデルにフォーカスした、TensorFlow SavedModel と Keras モデルをインポートするためのサポートを拡大する。
- 効率的なデータ入力パイプラインのための新しい tfjs-data API と、ブラウザ訓練の間の対話的なモデル可視化のための新しい tfjs-vis ライブラリのリリース。
- Node を使用するサーバサイド TensorFlow.js のために – 総ての TensorFlow ops を晒すことによってネイティブ TensorFlow ops とモデルと同等に改良する ; libuv を使用して async モードのサポートを追加する。
TensorFlow with Swift
(訳注: 省略、原文 参照)
パフォーマンス
分散 TensorFlow
- TPU とマルチノード GPU 上で Keras をサポートするために新しい分散ストラテジー API を拡大します。
- 素晴らしい革新的なパフォーマンスと簡単な配備を示します。
GPU 最適化
- 公開デザイン・レビューで mixed precision API を単純化します。
- TensorRT API をファイナライズしてコアに移動します。
- SavedModel と TF Serving のための TensorRT サポート。
- CUDA 10 統合 (CUDA 9.2 はスキップすることを計画しています、何故ならば cuDNN の同じバージョンを使用するときそれは CUDA 9.0 に対して最小限のアドバンテージしか持たないからです)。
- DGX-2 のための最適化。
Cloud TPUs と Cloud TPU Pods
- Cloud TPU 上の Keras のためのサポートを拡大してパフォーマンスを更に最適化します。
- 画像セグメンテーションのためのサポートを拡張します – Mask R-CNN を現在の RetinaNet と DeepLab セマンティック・セグメンテーション参照モデルに追加します。
- 新しい Cloud TPU 統合: GKE, CMLE, Cloud Bigtable, gRPC データ入力を最適化します。
- Cloud TPU Pod 上で巨大スケール・モデル並列を有効にします。
- Cloud TPU v3 上の参照モデル・パフォーマンスを最適化します。
CPU 最適化
- MKL を通した SkyLake のための Int8 サポート。
- MKL を通したより高速な 3D ops。
- SIMD-最適化カーネルの動的ローディング。
- Linux と Windows のための MKL。
他のパッケージ
TensorFlow Probability
- ガウス過程の追加的な実装、ハイパーパラメータ最適化へのアプリケーションも含みます。
- ベイジアン構造時系列モデル。
- サンプリングと最適化メソッドへの拡張。
- TFP を使用するための Colab チュートリアルの充実したセット。
Tensor2Tensor ライブラリ
- オートエンコーダ、GAN そして RL のためのサポートとともに、動画、音声、そして音楽のための新しいデータセットとモデル。
- 総てのプラットフォームのためのサポートを改良して TensorFlow 2.0 ベストプラクティスを使用して内部を単純化します。
- Mesh TensorFlow によるモデル並列性で大規模なモデルを訓練します。
End-to-end ML システム
TensorFlow Hub
- TF Eager 統合、Keras 層統合と TensorFlow.js 統合を伴う TF-Hub モジュールのためのサポート、そして TF-Transform と TF-Data ワークフローのためのサポートを拡大します。
TensorFlow Extended
- プロダクション設定での TensorFlow の採用を促進するために更なる TensorFlow Extended プラットフォームをオープンソース化します。
- モデル評価と検証のためのパッケージ TF Model Analysis。
- データ検証のためのリリース TFX ライブラリ。
- end-to-end ML ワークフロー・サンプルの公開。
コミュニティとパートナー・エンゲージメント
(訳注: 省略、原文 参照)
以上