論文の概要: Morello: Compiling Fast Neural Networks with Dynamic Programming and Spatial Compression
- arxiv url: http://arxiv.org/abs/2505.01637v1
- Date: Sat, 03 May 2025 00:14:31 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-05-06 18:49:35.20568
- Title: Morello: Compiling Fast Neural Networks with Dynamic Programming and Spatial Compression
- Title(参考訳): Morello: 動的プログラミングと空間圧縮による高速ニューラルネットワークのコンパイル
- Authors: Samuel J. Kaufman, René Just, Rastislav Bodik,
- Abstract要約: 本稿では,大規模なプログラム仕様をより小さな仕様に分解することで,検索空間をより深く探求するための動的プログラミングに基づくアプローチを提案する。
メモリ要求を減らすために,Z_geq 0$の座標で仕様をインデックス化し,同一の隣接解を圧縮する,新しいメモ表表現を用いる。
- 参考スコア(独自算出の注目度): 5.995843028932167
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: High-throughput neural network inference requires coordinating many optimization decisions, including parallel tiling, microkernel selection, and data layout. The product of these decisions forms a search space of programs which is typically intractably large. Existing approaches (e.g., auto-schedulers) often address this problem by sampling this space heuristically. In contrast, we introduce a dynamic-programming-based approach to explore more of the search space by iteratively decomposing large program specifications into smaller specifications reachable from a set of rewrites, then composing a final program from each rewrite that minimizes an affine cost model. To reduce memory requirements, we employ a novel memoization table representation, which indexes specifications by coordinates in $Z_{\geq 0}$ and compresses identical, adjacent solutions. This approach can visit a much larger set of programs than prior work. To evaluate the approach, we developed Morello, a compiler which lowers specifications roughly equivalent to a few-node XLA computation graph to x86. Notably, we found that an affine cost model is sufficient to surface high-throughput programs. For example, Morello synthesized a collection of matrix multiplication benchmarks targeting a Zen 1 CPU, including a 1x2048x16384, bfloat16-to-float32 vector-matrix multiply, which was integrated into Google's gemma.cpp.
- Abstract(参考訳): 高スループットニューラルネットワーク推論では、並列タイリング、マイクロカーネル選択、データレイアウトなど、多くの最適化決定をコーディネートする必要がある。
これらの決定の産物はプログラムの探索空間を形成し、典型的には難解に大きい。
既存のアプローチ(例えばオートスケジューラ)は、しばしばこの空間をヒューリスティックにサンプリングすることでこの問題に対処する。
これとは対照的に,我々は,大規模なプログラム仕様を一連のリライトから到達可能な小さな仕様に反復的に分解し,アフィンコストモデルを最小限に抑えた各リライトから最終プログラムを構成することによって,検索空間を探索する動的プログラミングベースのアプローチを導入する。
メモリ要求を減らすために,Z_{\geq 0}$の座標で仕様をインデックス化し,同一の隣接解を圧縮する,新しいメモ表表現を用いる。
このアプローチは、以前の作業よりもはるかに大きなプログラムのセットを訪問することができる。
提案手法を評価するために,数ノードのXLA計算グラフとほぼ同等の仕様をx86に下げるコンパイラであるMorelloを開発した。
特に,アフィンコストモデルでは高スループットプログラムの探索に十分であることがわかった。
例えば、1x2048x16384, bfloat16-to-float32 vector-matrix multiplyを含むZen 1 CPUをターゲットにした行列乗算ベンチマークを合成し、Googleの gemma.cppに統合した。
関連論文リスト
- Hexcute: A Tile-based Programming Language with Automatic Layout and Task-Mapping Synthesis [8.742879659920643]
Hexcuteはタイルベースのプログラミング言語で、共有メモリとレジスタの抽象化を公開し、混合型演算子のきめ細かい最適化を可能にする。
レイアウトとタスクマッピングの合成を、新しい型推論ベースのアルゴリズムで自動化する。
評価の結果,Hexcute は広い範囲の DL 演算子に一般化し,混合型演算子に対する既存の DL コンパイラよりも 1.7-11.28$times$ の高速化を実現し,エンドツーエンド評価では 2.91$times$ の高速化を実現している。
論文 参考訳(メタデータ) (2025-04-22T19:01:28Z) - Extreme Compression of Large Language Models via Additive Quantization [59.3122859349777]
我々のアルゴリズムは、AQLMと呼ばれ、情報検索のための古典的な加算量子化(AQ)アプローチを一般化する。
トークン生成のためのAQLMの高速GPUおよびCPU実装を提供しており、最適化されたFP16実装を高速にマッチングまたは性能良くすることができる。
論文 参考訳(メタデータ) (2024-01-11T18:54:44Z) - An Efficient Algorithm for Clustered Multi-Task Compressive Sensing [60.70532293880842]
クラスタ化マルチタスク圧縮センシングは、複数の圧縮センシングタスクを解決する階層モデルである。
このモデルに対する既存の推論アルゴリズムは計算コストが高く、高次元ではうまくスケールしない。
本稿では,これらの共分散行列を明示的に計算する必要をなくし,モデル推論を大幅に高速化するアルゴリズムを提案する。
論文 参考訳(メタデータ) (2023-09-30T15:57:14Z) - CORE: Common Random Reconstruction for Distributed Optimization with
Provable Low Communication Complexity [110.50364486645852]
コミュニケーションの複雑さは、トレーニングをスピードアップし、マシン番号をスケールアップする上で、大きなボトルネックになっています。
本稿では,機械間で送信される情報を圧縮するための共通Om REOmを提案する。
論文 参考訳(メタデータ) (2023-09-23T08:45:27Z) - NumS: Scalable Array Programming for the Cloud [82.827921577004]
タスクベース分散システム上でNumPyのような表現を最適化する配列プログラミングライブラリであるNumSを提案する。
これはLoad Simulated Hierarchical Scheduling (LSHS)と呼ばれる新しいスケジューラによって実現される。
LSHSは、ネットワーク負荷を2倍減らし、メモリを4倍減らし、ロジスティック回帰問題において実行時間を10倍減らし、Rayの性能を向上させる。
論文 参考訳(メタデータ) (2022-06-28T20:13:40Z) - Memory Safe Computations with XLA Compiler [14.510796427699459]
XLAコンパイラ拡張は、ユーザーが指定したメモリ制限に従ってアルゴリズムの表現を調整する。
我々は,k-アネレスト近傍およびスパースガウス過程回帰法が単一デバイス上ではるかに大きなスケールで実行可能であることを示す。
論文 参考訳(メタデータ) (2022-06-28T16:59:28Z) - A Vertex Cut based Framework for Load Balancing and Parallelism
Optimization in Multi-core Systems [15.913119724815733]
機械学習のような高レベルのアプリケーションは、単純な画像認識のための多層パーセプトロンに基づく単純なモデルから、自動運転車制御システムのためのより深くより複雑なニューラルネットワークへと進化している。
高性能コンピュータ上で動作する並列プログラムは、データ通信のボトルネック、メモリ帯域幅の制限、不規則なクリティカルセクションによる同期オーバーヘッドに悩まされることが多い。
マルチコアシステムにおけるデータ通信の削減と,これらのアプリケーションのスケーラビリティと性能向上のためのフレームワークを提案する。
論文 参考訳(メタデータ) (2020-10-09T07:54:28Z) - MPLP++: Fast, Parallel Dual Block-Coordinate Ascent for Dense Graphical
Models [96.1052289276254]
この研究は、人気のあるDual Block-Coordinate Ascent原則に基づく新しいMAP-solverを導入している。
驚いたことに、性能の低い解法に小さな変更を加えることで、既存の解法を大きなマージンで大幅に上回る新しい解法MPLP++を導出します。
論文 参考訳(メタデータ) (2020-04-16T16:20:53Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。