Skip to main content
QUICK REVIEW

[論文レビュー] Accelerating Generalized Linear Models with MLWeaving: A One-Size-Fits-All System for Any-precision Learning (Technical Report)

Zeke Wang, Kaan Kara|arXiv (Cornell University)|Mar 8, 2019
Neural Networks and Applications参考文献 132被引用数 4
ひとこと要約

MLWeaving は、ビットシリアルでトランスポジットメモリレイアウトと FPGA ベースのハードウェアアクセラレーションを採用することで、動的かつ任意精度の学習を可能にし、データベースにおける一般化線形モデルの学習を高速化する。16倍の高速化を達成しており、メモリトラフィックの削減と、1つのハードウェア設計で精度に適応可能な SGD の効率的な実装により、低精度 CPU 実装よりも高速である。

ABSTRACT

Learning from the data stored in a database is an important function increasingly available in relational engines. Methods using lower precision input data are of special interest given their overall higher efficiency but, in databases, these methods have a hidden cost: the quantization of the real value into a smaller number is an expensive step. To address the issue, in this paper we present MLWeaving, a data structure and hardware acceleration technique intended to speed up learning of generalized linear models in databases. ML-Weaving provides a compact, in-memory representation enabling the retrieval of data at any level of precision. MLWeaving also takes advantage of the increasing availability of FPGA-based accelerators to provide a highly efficient implementation of stochastic gradient descent. The solution adopted in MLWeaving is more efficient than existing designs in terms of space (since it can process any resolution on the same design) and resources (via the use of bit-serial multipliers). MLWeaving also enables the runtime tuning of precision, instead of a fixed precision level during the training. We illustrate this using a simple, dynamic precision schedule. Experimental results show MLWeaving achieves up to16 performance improvement over low-precision CPU implementations of first-order methods.

研究の動機と目的

  • データベースシステムにおける機械学習学習時の低精度データ処理の高メモリオーバーヘッドに対処すること。
  • 各精度レベルごとに事前量子化されたデータコピーまたは複数のマイクロアーキテクチャを必要としないようにすること。
  • 性能を犠牲にせずに、SGD 学習中に動的精度選択を可能にすること。
  • CPU の非同期アプローチに匹敵またはそれを上回る効率性を実現する、ハードウェア効率の良い FPGA 上での同期 SGD を達成すること。
  • すべての精度レベルにおいて、一般化線形モデルのためのデータ表現とハードウェアアクセラレーションを統合する単一のシステムを実現すること。

提案手法

  • MLWeaving は、各特徴値のビットを異なるメモリセグメントに分散して格納するトランスポジットメモリレイアウトを採用しており、任意精度でのビットレベルアクセスを効率的に行える。
  • データをビットストリーム形式にシリアル化することで、さまざまな精度レベルで効率的なビットシリアル乗算をハードウェアで実行し、勾配計算を効率化する。
  • FPGA ベースの SGD アクセラレータは、1サイクルあたり1つのビットスライスを処理するため、従来の設計と比較してリソース使用量を削減し、クロック周波数を向上させる。
  • システムは、エポックごとに特徴量あたりのビット数を増減させることで、学習中に動的精度チューニングを可能にする。
  • FPGA 上で同期 SGD 実行モデルを採用し、高速な収束を維持しながらも高いハードウェア効率を達成する。
  • カラムストアデータベース(DoppioDB)と統合され、オフチップデータ移動を最小限に抑えるためにオンチップメモリが使用される。

実験結果

リサーチクエスチョン

  • RQ11 つのハードウェアアクセラレータが、各精度レベルごとに別々のマイクロアーキテクチャを必要とせずに、すべての精度レベルで確率的勾配降下(SGD)を効率的にサポートできるか。
  • RQ2一般化線形モデルの学習時に低精度入力を使用するデータベースシステムが、メモリトラフィックとデータ移動のオーバーヘッドをどのように最小限に抑えられるか。
  • RQ3FPGA 上での同期 SGD が、CPU の非同期 SGD と同等またはそれ以上のハードウェア効率を達成できるか。
  • RQ4どのようなメモリ内データレイアウトが、事前量子化なしに任意精度レベルでの効率的かつ動的データ取得を可能にするか。
  • RQ5FPGA におけるビットシリアル計算が、従来のワード並列アプローチに比べて、低精度学習におけるリソース利用効率とスループットの点で優れているか。

主な発見

  • MLWeaving は、一般化線形モデル学習において、最先端の低精度一階微分 CPU 実装よりも最大 16 倍の高速化を達成した。
  • FPGA ベースの実装は、従来の低精度 SGD 用 FPGA アクセラレータに比べてリソース使用量をわずか 1/3 にまで削減した。
  • より効率的なメモリ帯域幅の活用と高いクロック周波数のおかげで、前例となる FPGA 設計と比較してデータ処理レートを倍増させた。
  • MLWeaving は、学習中に動的精度チューニングを可能にし、非同期 CPU 対応より少ないエポックで収束を達成した。
  • トランスポジットビットレベルメモリレイアウトにより、精度レベルに比例してメモリアクセスを削減でき、精度が低下するにつれて線形な高速化を実現した。
  • オンチップメモリを活用することで、最大 32K 次元のモデルをサポートでき、将来のより大きな FPGA へのスケーリングの可能性も秘めている。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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