このページの内容

Awesome JAX

JAXを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次

ライブラリ

新しいライブラリ

この節には、高品質で有用である一方、大規模な利用者層で十分に実戦検証されているとは限らないライブラリを掲載します。

  • ニューラルネットワークライブラリ
    • FedJAX - JAXにおけるフェデレートラーニング。OptaxとHaikuをベースに構築。
    • Equivariant MLP - 等変換性を持つニューラルネットワーク層の構築。
    • jax-resnet - ResNet variants in Flax. 向けのImplementations and checkpoints。
    • jax-raft - RAFT光学流推定器のJAX/Flaxへの移植。
    • Parallax - JAX. 向けのImmutable Torch Modules。
  • 非線形最適化
    • Optimistix - 根の探索、最小化、固定点、最小二乗法。
    • JAXopt - GPU/TPUによるハードウェア加速、バッチ処理可能かつ微分可能な最適化アルゴリズム(JAXで)。
  • jax-unirep - protein machine learning applications. <img src=” align=“center”>向けのLibrary implementing the 。 UniRep model https://img.shields.io/github/stars/ElArkk/jax-unirep?style=social
  • flowjax - 確率分布と正規化フローをEquinoxモジュールとして構築。
  • flaxdiff - building and training Diffusion models in multi-node multi-device distributed settings (TPUs) 向けのFramework and Library。
  • jax-flows - JAXにおける正規化フロー。
  • sklearn-jax-kernels - scikit-learnカーネル行列のJAXでの利用。
  • jax-cosmo - JAXにおける指数族分布。
  • efax - JAXにおける可微分宇宙論ライブラリ。
  • mpi4jax - CPUおよびGPUでのJAXコードにMPI操作を組み合わせる。
  • imax - 画像の拡張および変換。
  • FlaxVision - フラックス版TorchVision。
  • Oryx - プログラム変換をベースとした確率プログラミング言語。
  • Optimal Transport Tools - 最適輸送問題を解決するためのユーティリティをまとめるツールボックス。
  • delta PV - 自動微分を用いた太陽電池シミュレータ。
  • jaxlie - rigid body transformations and optimization. 向けのLie theory library。
  • BRAX - these environments. 向けのDifferentiable physics engine to simulate environments along with learning algorithms to train agents。
  • flaxmodels - Jax/Flax. 向けのPretrained models。
  • CR.Sparse - sparse representations and compressive sensing. 向けのXLA accelerated algorithms。
  • exojax - JAXと互換可能な系外行星・褐矮星の自動微分スペクトルモデル。
  • PIX - JAX. 向けのPIX is an image processing library in JAX,。
  • bayex - JAXを用いたベイズ最適化。
  • JaxDF - differentiable simulators with arbitrary discretizations. 向けのFramework。
  • tree-math - 配列に作用する関数を、PyTreeに作用する関数に変換。
  • jax-models - 元々コードがなく、またはJAX以外のフレームワークで書かれた研究論文の実装。
  • PGMax - building discrete Probabilistic Graphical Models (PGM’s) and running inference inference on them via JAX. 向けのA framework。
  • EvoJAX - ハードウェア加速によるニューロ進化 https://img.shields.io/github/stars/google/evojax?style=social
  • evosax - JAXベースの進化戦略 https://img.shields.io/github/stars/RobertTLange/evosax?style=social
  • SymJAX - シンボリックなCPU/GPU/TPUプログラミング https://img.shields.io/github/stars/SymJAX/SymJAX?style=social
  • mcx - performant inference. 向けのExpress & compile probabilistic programs。
  • Einshape - JAX and other frameworks. 向けのDSL-based reshaping library。
  • ALX - distributed matrix factorization using Alternating Least Squares, more info in ALX: Large Scale Matrix Factorization on TPUs向けのOpen-source library。
  • Diffrax - JAXにおける数値微分方程式ソルバー https://img.shields.io/github/stars/patrick-kidger/diffrax?style=social
  • tinygp - JAXにおける最も小さなガウス過程ライブラリ https://img.shields.io/github/stars/dfm/tinygp?style=social
  • gymnax - よく知られたgym APIを用いた強化学習環境 https://img.shields.io/github/stars/RobertTLange/gymnax?style=social
  • Mctx - JAXに内蔵されたモンテカルロ木探索アルゴリズム。
  • KFAC-JAX - NNs. 向けのSecond Order Optimization with Approximate Curvature。
  • TF2JAX - 関数/グラフをJAX関数に変換。
  • jwave - differentiable acoustic simulations 向けのA library。
  • GPJax - JAXにおけるガウス過程の実装。
  • Jumanji - JAXで記述された、業界向けハードウェア加速型強化学習環境のソースコード。
  • Eqxvision - TorchvisionのEquinox版。
  • JAXFit - nonlinear least-squares problems (see arXiv paper). 向けのAccelerated curve fitting library。
  • econpizza - JAXを用いて異質なエージェントを用いたマクロ経済モデルを解く。
  • SPU - MPC(セキュアマルチパーティ計算)を用いたJAXコードを実行するためのドメイン特定コンパイラおよびランタイムセット。
  • jax-tqdm - JAXのスキャンとループにtqdmの進行バーを追加する。
  • safejax - JAX、Flax、Haiku、またはObjaxのモデルパラメータを🤗safetensorsでシリアル化する。
  • Kernex - JAXにおける微分可能なステンルデコレータ。
  • MaxText - Google CloudのTPUをターゲットとした、純粋なPython/JAXで書かれたシンプルで高性能かつスケーラブルなJaxLLM。
  • Pax - training large scale models. 向けのA Jax-based machine learning framework。
  • Praxis - Pax with a goal to be usable by other JAX-based ML projects. 向けのThe layer library。
  • purejaxrl - JAXで実装されたベクトル化された、端到端の強化学習アルゴリズム。
  • Lorax - JAXモデル(Flax、Haikuなど)にLoRAを自動的に適用。
  • SCICO - JAXを用いた科学的計算画像処理。
  • Spyx - machine learning on neuromorphic hardware. 向けのSpiking Neural Networks in JAX。
  • 脳ダイナミクス・プログラミングエコシステム
    • BrainPy - Pythonで脳動力学プログラミング。
    • brainunit - JAXにおける物理単位と単位を意識した数学システム。
    • dendritex - JAXを用いた樹状細胞モデル化。
    • brainstate - Program Compilation and Augmentation. 向けのState-based Transformation System。
    • braintaichi - Taichi Langを活用した脳動力学演算子のカスタマイズ。
  • OTT-JAX - JAXにおける最適輸送ツール。
  • QDax - Jaxにおける品質多様性最適化。
  • JAX Toolbox - JAX on NVIDIA GPUs using libraries such as T5x, Paxml, and Transformer Engine. 向けのNightly CI and optimized examples。
  • Pgx - RL with an AlphaZero example. 向けのVectorized board game environments。
  • EasyDeL - training and serving (Llama, MPT, Mixtral, Falcon, etc) in JAX 向けのEasyDeL 🔮 is an OpenSource Library to make your training faster and more Optimized With cool Options。
  • XLB - Physics-Based Machine Learning. 向けのA Differentiable Massively Parallel Lattice Boltzmann Library in Python。
  • dynamiqs - JAXを用いた量子系の高性能かつ微分可能なシミュレーション。
  • foragax - JAXにおけるアグリーティブなモデリングフレームワーク。
  • tmmax - thin-film optics research 向けのVectorized calculation of optical properties in thin-film structures using JAX. Swiss Army knife tool。
  • Coreax - finding coresets to compress large datasets while retaining their statistical properties. 向けのAlgorithms。
  • NAVIX - 強化学習環境MiniGridのJAXによる再実装。
  • FDTDX - JAXを用いた有限差分時域電磁シミュレーション。
  • DiffeRT - Radio Propagation powered by the JAX ecosystem. 向けのDifferentiable Ray Tracing toolbox。
  • JAX-in-Cell - electron and ion dynamics in electromagnetic fields 向けのPlasma physics simulations using a PIC (Particle-in-Cell) method to self-consistently solve。
  • kvax - JAX with support for efficient document mask computation and context parallelism. 向けのA FlashAttention implementation。
  • astronomix - astrophysics in JAX 向けのdifferentiable (magneto)hydrodynamics。
  • vivsim - 浸没境界-格子ボルツマン法を用いた流体-構造相互作用シミュレーション。
  • MBIRJAX - 高性能トモグラフィ再構成。
  • torchax - Jax to interoperate with model code written in PyTorch.向けのtorchax is a library。

モデルとプロジェクト

JAX

Flax

Haiku

Trax

  • Reformer - Reformer(効率的なトランスフォーマー)アーキテクチャの実装

NumPyro

Equinox

動画

論文

この節にはJAXを主題とする論文(JAXベースのライブラリのホワイトペーパーやJAX自体の研究など)を掲載します。JAXで実装された論文はモデル/プロジェクト節に掲載します。

チュートリアルとブログ記事

書籍

コミュニティ

コントリビューション

コントリビューションを歓迎します。最初にコントリビューションガイドラインをお読みください。