Betty: An Automatic Differentiation Library for Multilevel Optimization

要約

勾配ベースのマルチレベル最適化 (MLO) は、ハイパーパラメーターの最適化やメタ学習からニューラル アーキテクチャの探索や強化学習に至るまで、さまざまな問題を研究するためのフレームワークとして注目を集めています。
ただし、チェーン ルールを介して最良の応答のヤコビアンを構成することによって得られる MLO の勾配は、実装が困難であり、メモリ/計算を集中的に使用することで有名です。
大規模 MLO 用のソフトウェア ライブラリである Betty を導入することで、このギャップを埋めるための最初の一歩を踏み出しました。
その中核として、MLO の新しいデータフロー グラフを考案しました。これにより、(1) 計算の複雑さを O(d^3) から O(d^2) に削減する MLO の効率的な自動微分を開発し、(2) 組み込みます。
スケーラビリティのための混合精度およびデータ並列トレーニングなどのシステム サポート、および (3) さまざまなアルゴリズムおよびシステム設計の選択肢のためのモジュラー インターフェイスを可能にしながら、任意の複雑さの MLO プログラムの実装を容易にします。
Betty を使用して一連の MLO プログラムを実装できることを経験的に実証し、複数のベンチマークで既存の実装と比較して、テスト精度が最大 11% 向上し、GPU メモリ使用量が 14% 減少し、トレーニング ウォール タイムが 20% 減少したことも観察しました。
.
また、Betty が MLO を数億のパラメーターを持つモデルにスケーリングできることも示します。
https://github.com/leopard-ai/betty でコードをオープンソース化しています。

要約(オリジナル)

Gradient-based multilevel optimization (MLO) has gained attention as a framework for studying numerous problems, ranging from hyperparameter optimization and meta-learning to neural architecture search and reinforcement learning. However, gradients in MLO, which are obtained by composing best-response Jacobians via the chain rule, are notoriously difficult to implement and memory/compute intensive. We take an initial step towards closing this gap by introducing Betty, a software library for large-scale MLO. At its core, we devise a novel dataflow graph for MLO, which allows us to (1) develop efficient automatic differentiation for MLO that reduces the computational complexity from O(d^3) to O(d^2), (2) incorporate systems support such as mixed-precision and data-parallel training for scalability, and (3) facilitate implementation of MLO programs of arbitrary complexity while allowing a modular interface for diverse algorithmic and systems design choices. We empirically demonstrate that Betty can be used to implement an array of MLO programs, while also observing up to 11% increase in test accuracy, 14% decrease in GPU memory usage, and 20% decrease in training wall time over existing implementations on multiple benchmarks. We also showcase that Betty enables scaling MLO to models with hundreds of millions of parameters. We open-source the code at https://github.com/leopard-ai/betty.

arxiv情報

著者 Sang Keun Choe,Willie Neiswanger,Pengtao Xie,Eric Xing
発行日 2023-03-15 14:10:55+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.LG, math.OC パーマリンク