raven-ml/raven

Modern scientific computing for OCaml

何を解決するか

Raven は、OCaml 言語向けに数値計算、機械学習、データサイエンスのための包括的なライブラリエコシステムを提供します。Python の科学技術スタック(NumPy、JAX、PyTorch など)の機能を OCaml に持ち込みつつ、言語の強力な型安全性を維持することを目指しています。

動作方法

Raven は、ML パイプラインの異なる部分を処理する専門的なパッケージで構成されています:

  • nx: n 次元配列と線形代数を扱います。
  • tolk: GPU でのテンソル計算用の最小限の ML コンパイラです。
  • rune: 自動微分と関数型変換を提供します。
  • runekaun: ニューラルネットワークの構築と学習に併用されます。
  • brot: 高速で HuggingFace 互換のトークナイゼーションを実装します。
  • talon: 型安全なデータフレームを提供します。
  • hugin: 公開品質のプロットに使用されます。
  • quill: 探索用のインタラクティブな REPL と Markdown ノートブックです。
  • munin: TUI ダッシュボード付きのローカル実験追跡です。
  • sowilo: 微分可能なコンピュータビジョンです。
  • fehu: 強化学習環境です。

対象ユーザー

OCaml で科学的計算や機械学習を実行したい開発者や研究者。型安全性と関数型プログラミングのパラダイムの恩恵を受けることができます。

特徴

  • フルスタック ML エコシステム: Python のエコシステムと同様に、データフレーム(Talon)やトークナイゼーション(Brot)をカバーします。
  • 型安全な操作: OCaml の型システムで科学的計算ツールを再構築します。
  • GPU アクセラレーション: Tolk を通じた GPU でのテンソル計算用コンパイラを含みます。
  • 自動微分: Rune を通じて統合された自動微分です。
  • 統合: HuggingFace 互換のトークナイゼーションと RL 環境を提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト