論文の概要: JAXbind: Bind any function to JAX
- arxiv url: http://arxiv.org/abs/2403.08847v2
- Date: Thu, 27 Jun 2024 07:45:28 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-28 19:26:56.947128
- Title: JAXbind: Bind any function to JAX
- Title(参考訳): JAXbind: どんな関数もJAXに結合する
- Authors: Jakob Roth, Martin Reinecke, Gordian Edenhofer,
- Abstract要約: JAXbindは、カスタムのいわゆるJAXプリミティブを定義するための使いやすいPythonインターフェースを提供する。
JAXbindは、ユーザがカスタムのデリバティブとルールでJAX関数エンジンをインターフェースすることができ、カスタムのプリミティブに対してすべてのJAX変換を可能にする。
- 参考スコア(独自算出の注目度): 0.0
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: JAX is widely used in machine learning and scientific computing, the latter of which often relies on existing high-performance code that we would ideally like to incorporate into JAX. Reimplementing the existing code in JAX is often impractical and the existing interface in JAX for binding custom code either limits the user to a single Jacobian product or requires deep knowledge of JAX and its C++ backend for general Jacobian products. With JAXbind we drastically reduce the effort required to bind custom functions implemented in other programming languages with full support for Jacobian-vector products and vector-Jacobian products to JAX. Specifically, JAXbind provides an easy-to-use Python interface for defining custom, so-called JAX primitives. Via JAXbind, any function callable from Python can be exposed as a JAX primitive. JAXbind allows a user to interface the JAX function transformation engine with custom derivatives and batching rules, enabling all JAX transformations for the custom primitive.
- Abstract(参考訳): JAXは機械学習や科学計算で広く使われていますが、後者はJAXに組み込むのが理想的な既存の高性能コードに依存しています。
カスタムコードをバインディングするためのJAXの既存のインターフェースは、ユーザを単一のJacobian製品に制限するか、あるいは一般的なJacobian製品に対してJAXとそのC++バックエンドの深い知識を必要とする。
JAXbindでは、Jacobian-vector製品とbector-Jacobian製品を完全にJAXにサポートすることで、他のプログラミング言語で実装されたカスタム関数をJAXに結合するために必要な労力を大幅に削減します。
具体的には、JAXbindは、カスタムでいわゆるJAXプリミティブを定義するための使い易いPythonインターフェースを提供する。
JAXbindを使用すると、Pythonから呼び出し可能な関数は、JAXプリミティブとして公開することができる。
JAXbindは、ユーザがカスタムデリバティブとバッチルールでJAX関数変換エンジンをインターフェースすることができ、カスタムプリミティブに対するすべてのJAX変換を可能にする。
関連論文リスト
- JailbreakBench: An Open Robustness Benchmark for Jailbreaking Large Language Models [123.66104233291065]
ジェイルブレイク攻撃は、大きな言語モデル(LLM)が有害、非倫理的、またはその他の不快なコンテンツを生成する原因となる。
これらの攻撃を評価することは、現在のベンチマークと評価テクニックの収集が適切に対処していない、多くの課題を提示します。
JailbreakBenchは、以下のコンポーネントを備えたオープンソースのベンチマークである。
論文 参考訳(メタデータ) (2024-03-28T02:44:02Z) - JaxDecompiler: Redefining Gradient-Informed Software Design [0.0]
JaxDecompilerは、任意のJAX関数を編集可能なPythonコードに変換するツールである。
この記事では、JAX関数を編集可能なPythonコードに変換するツールであるJaxDecompilerを紹介します。
論文 参考訳(メタデータ) (2024-03-14T20:32:31Z) - DrJAX: Scalable and Differentiable MapReduce Primitives in JAX [9.676195490442367]
DrJAXは大規模分散および並列機械学習アルゴリズムをサポートするように設計されたライブラリである。
DrJAXはMapReduce計算のビルディングブロックをJAXのプリミティブとして組み込みます。
DrJAX計算はXLA HLOに直接変換することができ、幅広いMLトレーニングプラットフォームとの柔軟な統合を可能にする。
論文 参考訳(メタデータ) (2024-03-11T19:51:01Z) - Executable Code Actions Elicit Better LLM Agents [76.95566120678787]
この研究は、Pythonコードを使用して、Large Language Model(LLM)エージェントのアクションを統一されたアクション空間(CodeAct)に統合することを提案する。
Pythonインタプリタと統合されたCodeActは、コードアクションを実行し、事前アクションを動的に修正したり、マルチターンインタラクションを通じて新しい観察に新しいアクションを発行することができる。
CodeActのパフォーマンス向上は、解釈可能なコードを実行し、自然言語を使ってユーザとコラボレーションすることで、環境と対話するオープンソースのLLMエージェントを構築する動機となります。
論文 参考訳(メタデータ) (2024-02-01T21:38:58Z) - Automatic Functional Differentiation in JAX [8.536145202129827]
JAXを高階関数(機能や演算子)を自動的に区別する機能で拡張します。
関数を配列の一般化として表現することにより、JAXの既存のプリミティブシステムを使って高階関数を実装します。
論文 参考訳(メタデータ) (2023-11-30T17:23:40Z) - JaxMARL: Multi-Agent RL Environments and Algorithms in JAX [105.343918678781]
我々は、GPU対応の効率と多くの一般的なMARL環境のサポートを組み合わせた、最初のオープンソースPythonベースのライブラリであるJaxMARLを紹介します。
我々の実験は、壁時計時間の観点から、JAXベースのトレーニングパイプラインが既存のアプローチの約14倍高速であることを示している。
また、人気の高いStarCraft Multi-Agent ChallengeのJAXベースの近似的な再実装であるSMAXを紹介し、ベンチマークする。
論文 参考訳(メタデータ) (2023-11-16T18:58:43Z) - FORFIS: A forest fire firefighting simulation tool for education and
research [90.40304110009733]
本稿では,Python で実装された森林火災消火シミュレーションツール FORFIS について述べる。
私たちのツールは underv3 ライセンスを公開しており、GUI と出力機能が追加されています。
論文 参考訳(メタデータ) (2023-05-29T09:14:38Z) - JaxPruner: A concise library for sparsity research [46.153423603424]
JaxPrunerはスパースニューラルネットワーク研究のためのオープンソースライブラリである。
メモリとレイテンシのオーバーヘッドを最小限に抑えながら、一般的なプルーニングとスパーストレーニングアルゴリズムを実装している。
論文 参考訳(メタデータ) (2023-04-27T10:45:30Z) - SequeL: A Continual Learning Library in PyTorch and JAX [50.33956216274694]
SequeLは継続学習のためのライブラリで、PyTorchとJAXフレームワークの両方をサポートする。
それは、正規化ベースのアプローチ、リプレイベースのアプローチ、ハイブリッドアプローチを含む、幅広い連続学習アルゴリズムのための統一インターフェースを提供する。
私たちはSequeLをオープンソースライブラリとしてリリースし、研究者や開発者が自身の目的で簡単にライブラリを実験し拡張することができます。
論文 参考訳(メタデータ) (2023-04-21T10:00:22Z) - Equinox: neural networks in JAX via callable PyTrees and filtered
transformations [4.264192013842096]
JAXとPyTorchは2つの人気のあるPython自動微分フレームワークである。
JAXは純粋関数と関数型プログラミングに基づいている。
PyTorchは、パラメータ化された関数を定義するためにオブジェクト指向(OO)クラスベースの構文を普及させた。
論文 参考訳(メタデータ) (2021-10-30T14:08:56Z) - WAX-ML: A Python library for machine learning and feedback loops on
streaming data [0.0]
WAX-MLは研究指向のPythonライブラリである。
強力な機械学習アルゴリズムを設計するためのツールを提供する。
JAXを時系列専用のツールで補完しようと努力しています。
論文 参考訳(メタデータ) (2021-06-11T17:42:02Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。