Skip to main content
QUICK REVIEW

[論文レビュー] Tensor Train decomposition on TensorFlow (T3F)

Alexander Novikov, Pavel Izmailov|arXiv (Cornell University)|Jan 5, 2018
Tensor decomposition and applications参考文献 25被引用数 37
ひとこと要約

T3F は、自動微分およびリーマン最適化を備えた、GPU による高速化が可能なテンソルトレース(TT)分解のための TensorFlow ベースのライブラリです。バッチ処理、TTランクの適応、高度なリーマン幾何学的演算をサポートしており、GPU による加速により、行列-ベクトル積およびグラム行列計算において、ベースラインライブラリと比較して最大 10 倍の高速化を達成しています。

ABSTRACT

Tensor Train decomposition is used across many branches of machine learning. We present T3F -- a library for Tensor Train decomposition based on TensorFlow. T3F supports GPU execution, batch processing, automatic differentiation, and versatile functionality for the Riemannian optimization framework, which takes into account the underlying manifold structure to construct efficient optimization methods. The library makes it easier to implement machine learning papers that rely on the Tensor Train decomposition. T3F includes documentation, examples and 94% test coverage.

研究の動機と目的

  • 機械学習における GPU 実行、バッチ処理、リーマン最適化をサポートする包括的で生産用途に適したテンソルトレース分解用ライブラリの不足を解消すること。
  • TT形式によるパrameterization に依存する機械学習モデルの再現性を確保し、開発を加速すること。
  • 94% のテストカバレッジを備えた柔軟で良好にドキュメント化されたフレームワークを提供し、TensorFlow における TT ベースのモデル実装を可能にすること。
  • 固定ランクの TT テンソルの多様体構造を活用して、リーマン勾配降下法やヘッシアン射影といった高度な最適化手法を実装すること。

提案手法

  • ライブラリは、単一の TT テンソルを表す TensorTrain と、バッチ化された TT テンソルを表す TensorTrainBatch の 2 つのコアクラスを実装しており、両者とも TensorFlow の計算グラフおよびエージャス実行と互換性があります。
  • 要素ごとの乗算、行列-ベクトル積および行列-行列積、フロベニウスノルム、グラム行列計算を含む、包括的な演算スイートを提供しており、すべてがネイティブに TT 形式の計算をサポートしています。
  • リーマン幾何学的演算は接空間への射影により実装されており、線形性と共有された接空間を活用した最適化関数(例:project_sum および project_matvec)により、効率性が向上しています。
  • 自動リーマン微分がサポートされており、最適な漸近的計算量で、TT テンソルの接空間上への勾配計算が可能になっています。
  • すべての演算は TensorFlow の autodiff および GPU 実行とシームレスに連携されており、TT 構造のモデルのエンドツーエンド学習が可能になっています。

実験結果

リサーチクエスチョン

  • RQ1TensorFlow 上に、GPU アクセeleration およびバッチ処理をサポートする、専用で高性能なテンソルトレース分解ライブラリを構築できるか?
  • RQ2リーマン最適化手法は、TT パラメータ化モデルにおける収束性および安定性をどの程度向上できるか?
  • RQ3T3F のパフォーマンスは、TTPY などの既存の TT ライブラリと比較して、コア演算における速度およびメモリ効率の面でどの程度優れているか?
  • RQ4ディープラーニングフレームワーク(例:TensorFlow)において、自動リーマン微分を効率的に実装できるか?
  • RQ5バッチ処理および GPU アクセeleration は、行列-ベクトル積やグラム行列計算といった TT ベースの演算のパフォーマンスにどのような影響を与えるか?

主な発見

  • GPU アクセeleration を用いた場合、T3F は TTPY と比較して行列-ベクトル積で最大 10 倍の高速化(1 オブジェクトあたり 0.140 ms 対 1.885 ms)を達成しています。
  • 100 個の TT ベクトルに対するグラム行列計算において、GPU では CPU バッチ処理と比較して 100 倍の高速化(1 オブジェクトあたり 0.001 ms 対 0.021 ms)が実現されています。
  • T3F の project_sum 演算により、計算量が O(bdrArBrA) から O(bdrArBrA + bdrArBrB) に削減され、効率的なリーマンのミニバッチ勾配計算が可能になっています。
  • ライブラリは 94% のテストカバレッジを達成しており、グラフモードおよびエージャス実行モードの両方をサポートしており、プロトタイピングおよびデプロイメントを容易にしています。
  • T3F は、CPU および GPU の両方で、matvec、matmul、norm、gram のすべてのベンチマーク演算において TTPY を上回っており、特に GPU での性能向上が顕著です。
  • 自動リーマン微分の統合により、TT 多様体上での効率的な最適化が可能になり、理論的保証を維持しながら収束性が向上しています。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。