論文の概要: Instead of Rewriting Foreign Code for Machine Learning, Automatically
Synthesize Fast Gradients
- arxiv url: http://arxiv.org/abs/2010.01709v1
- Date: Sun, 4 Oct 2020 22:32:51 GMT
- ステータス: 処理完了
- システム内更新日: 2022-10-11 03:31:31.515510
- Title: Instead of Rewriting Foreign Code for Machine Learning, Automatically
Synthesize Fast Gradients
- Title(参考訳): 機械学習のための外部コードを書き換える代わりに、高速勾配を自動的に合成する
- Authors: William S. Moses and Valentin Churavy
- Abstract要約: 本稿では,LLVMコンパイラフレームワーク用の高性能自動微分(AD)コンパイラプラグインであるEnzymeを提案する。
EnzymeはLLVM中間表現(IR)をターゲットにした任意の言語で記述されたプログラムの勾配を合成する
MicrosoftのADBenchを含む機械学習に焦点を当てたベンチマークスイートでは、最適化されたIR上のADは、IR上のAD上の4.5倍の幾何平均スピードアップを達成する。
- 参考スコア(独自算出の注目度): 6.09170287691728
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Applying differentiable programming techniques and machine learning
algorithms to foreign programs requires developers to either rewrite their code
in a machine learning framework, or otherwise provide derivatives of the
foreign code. This paper presents Enzyme, a high-performance automatic
differentiation (AD) compiler plugin for the LLVM compiler framework capable of
synthesizing gradients of statically analyzable programs expressed in the LLVM
intermediate representation (IR). Enzyme synthesizes gradients for programs
written in any language whose compiler targets LLVM IR including C, C++,
Fortran, Julia, Rust, Swift, MLIR, etc., thereby providing native AD
capabilities in these languages. Unlike traditional source-to-source and
operator-overloading tools, Enzyme performs AD on optimized IR. On a
machine-learning focused benchmark suite including Microsoft's ADBench, AD on
optimized IR achieves a geometric mean speedup of 4.5x over AD on IR before
optimization allowing Enzyme to achieve state-of-the-art performance. Packaging
Enzyme for PyTorch and TensorFlow provides convenient access to gradients of
foreign code with state-of-the art performance, enabling foreign code to be
directly incorporated into existing machine learning workflows.
- Abstract(参考訳): 異種プログラミング技術と機械学習アルゴリズムを外国のプログラムに適用するには、開発者は機械学習フレームワークでコードを書き換えるか、あるいは外国のコードにデリバティブを提供する必要がある。
本稿では、LLVM中間表現(IR)で表される静的解析可能なプログラムの勾配を合成できる、LLVMコンパイラフレームワーク用の高性能自動微分(AD)コンパイラプラグインであるEnzymeを提案する。
Enzymeは、コンパイラがC、C++、Fortran、Julia、Rust、Swift、MLIRなどを含むLLVM IRをターゲットにしている任意の言語で書かれたプログラムの勾配を合成する。
従来のソース・ツー・ソースやオペレータ・オーバーロードツールとは異なり、Enzymeは最適化されたIR上でADを実行する。
MicrosoftのADBenchを含む機械学習のベンチマークスイートでは、最適化されたIR上のADの平均速度は、最適化前のIR上のADの4.5倍になる。
pytorchとtensorflow用のパッケージング enzymeは、最先端のパフォーマンスで外国コードの勾配への便利なアクセスを提供し、外国コードを既存の機械学習ワークフローに直接組み込むことができる。
関連論文リスト
- Forklift: An Extensible Neural Lifter [11.633770744027682]
トークンレベルのエンコーダ-デコーダ変換器を用いて,アセンブリをLLVM IRに変換する方法を学ぶ最初のニューラルリフトであるForkliftを提案する。
並列なLLVM IR、x86、ARM、RISC-Vプログラムをコンパイラや最適化レベルにわたって収集し、Forkliftをトレーニングし、入出力ベースの精度ハーネスをセットアップします。
我々は、Forkliftを2つの挑戦的なベンチマークスイートで評価し、最先端の手書きリフタよりも2.5倍、GPT-4より4.4倍のx86プログラムを翻訳し、新しいISAからの翻訳を可能にした。
論文 参考訳(メタデータ) (2024-04-01T17:27:58Z) - LILO: Learning Interpretable Libraries by Compressing and Documenting Code [71.55208585024198]
LILOは、反復的に合成、圧縮、文書化を行う、ニューロシンボリックなフレームワークである。
LILOは、LLM誘導プログラム合成と、Stitchから自動化された最近のアルゴリズムの進歩を組み合わせたものである。
LILOのシンセサイザーが学習した抽象化を解釈し、デプロイするのを手助けすることで、AutoDocがパフォーマンスを向上させることが分かりました。
論文 参考訳(メタデータ) (2023-10-30T17:55:02Z) - mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR
using Program Synthesis [48.01697184432969]
mlirSynthは、プログラムを低レベルMLIR方言から高レベルなものに翻訳する。
Cプログラムを2つの異なるハイレベルなMLIR方言にリバイバイバルすることで、既存のハイレベルな方言固有のコンパイルフローを利用できることを示す。
論文 参考訳(メタデータ) (2023-10-06T12:21:50Z) - Large Language Models for Automated Data Science: Introducing CAAFE for
Context-Aware Automated Feature Engineering [52.09178018466104]
データセットのセマンティックな特徴を生成するために、コンテキスト認識自動特徴工学(CAAFE)を導入する。
方法論的には単純だが、CAAFEは14のデータセットのうち11のパフォーマンスを改善している。
我々は,AutoMLシステムの範囲をセマンティックなAutoMLに拡張できるコンテキスト認識ソリューションの重要性を強調した。
論文 参考訳(メタデータ) (2023-05-05T09:58:40Z) - ML-driven Hardware Cost Model for MLIR [1.2987894327817158]
高レベルMLIRのための機械学習に基づくコストモデルを開発した。
MLIRをラ・NLPモデルのテキスト入力として考えることにより、現代のNLP研究からよく知られた技術を適用することができる。
これらのモデルにより,種々のハードウェア特性に対する誤差境界が低く,合理的に優れた推定値が得られることを示す。
論文 参考訳(メタデータ) (2023-02-14T11:32:47Z) - Efficient and Sound Differentiable Programming in a Functional
Array-Processing Language [4.1779847272994495]
自動微分 (AD) はプログラムで表される関数の微分を計算する手法である。
本稿では,高次関数型配列処理言語のためのADシステムを提案する。
フォワードモードADによる計算は、逆モードと同じくらい効率的に行うことができる。
論文 参考訳(メタデータ) (2022-12-20T14:54:47Z) - Enabling Retargetable Optimizing Compilers for Quantum Accelerators via
a Multi-Level Intermediate Representation [78.8942067357231]
我々は、最適化され、再ターゲット可能で、事前コンパイルが可能なマルチレベル量子古典中間表現(IR)を提案する。
ゲートベースのOpenQASM 3言語全体をサポートし、共通量子プログラミングパターンのカスタム拡張と構文の改善を提供します。
私たちの研究は、通常のPythonのアプローチよりも1000倍高速で、スタンドアロンの量子言語コンパイラよりも5~10倍高速なコンパイル時間を実現しています。
論文 参考訳(メタデータ) (2021-09-01T17:29:47Z) - Deep Data Flow Analysis [14.583644439728895]
ProGraMLは、ディープラーニングのためのプログラム全体のセマンティクスのポータブル表現である。
コンパイラ解析のための現在および将来の学習手法をベンチマークする。
本稿では, ProGraMLを用いて, ダウンストリームコンパイラ最適化タスクにおいて, 標準解析を学習し, 性能を向上できることを示す。
論文 参考訳(メタデータ) (2020-11-21T03:29:14Z) - Predictive Coding Approximates Backprop along Arbitrary Computation
Graphs [68.8204255655161]
我々は、コア機械学習アーキテクチャを予測的符号化に翻訳する戦略を開発する。
私たちのモデルは、挑戦的な機械学習ベンチマークのバックプロップと同等に機能します。
本手法は,ニューラルネットワークに標準機械学習アルゴリズムを直接実装できる可能性を高める。
論文 参考訳(メタデータ) (2020-06-07T15:35:47Z) - Automatic Differentiation in ROOT [62.997667081978825]
数学と計算機代数において、自動微分 (AD) は、コンピュータプログラムによって指定された関数の微分を評価するための一連の技術である。
本稿では、任意のC/C++関数の導関数を生成するために、ClingがサポートするROOTで利用可能なAD技術を提案する。
論文 参考訳(メタデータ) (2020-04-09T09:18:50Z) - EVA: An Encrypted Vector Arithmetic Language and Compiler for Efficient
Homomorphic Computation [11.046862694768894]
本稿では,EVA(Encrypted Vector Arithmetic)と呼ばれる新しいFHE言語を提案する。
EVAには、正しいセキュアなFHEプログラムを生成する最適化コンパイラが含まれている。
プログラマは、EVAで直接、効率的な汎用FHEアプリケーションを開発できる。
論文 参考訳(メタデータ) (2019-12-27T00:24:26Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。