Announcing Raven: Scientific Computing for OCaml (Alpha Release)

Help Shape Raven’s First Alpha - Call for Contributions!

I’m excited to announce that Raven’s first alpha is scheduled in 3 weeks, just in time for FunOCaml! (Following our zeroth alpha in July)

What’s New

We’ve added a plethora of new features:

  • New Talon package that provides an equivalent for Pandas/Polars to work with dataframes
  • New Saga package providing tokenizers and NLP functionnalities (e.g. Ngram models)
  • Support for symbolic shapes and lazy views in Nx
  • Support for new and machine-learning-specific data types, including boolean, bfloat16, complex16, float8, etc.
  • Support for forward mode differenciation through Rune.jvp
  • Support for automatic vectorization through Rune.vmap
  • Addition of a complete linear algebra suite in Nx

And, of course, since it is the theme of the FunOCaml workshop: addition of transformers blocks in Kaun to train large language models.

All of these features are currently in-progress in Raven’s repository, ranging from ready-to-release (e.g. Talon) to prototyping (e.g. Kaun’s transformers), but we’re aiming for a release with all of the above mid-september.

Call for Contributions

If you were looking to contribute to Raven, now’s probably a really good time! There’s going to be a lot of activity in the coming weeks, and the repository is in good shape for first-time-contributors, with a lot of good first issues: we’ve just landed a complete linear algebra suite that’s ~80% working, which makes for the perfect set of starter issues: failing tests that need fixing.

  • 15 failing tests on the native backend
  • 35 on the C backend

These range from implementing frontend operations using our new backend ops, to investigating bugs in the newly added linear algebra functions. Pick a test, fix it, open a PR!

Getting Started

git clone https://github.com/raven-ml/raven
dune pkg lock
dune build @nx/runtest

If you’re interested in contributing, don’t hesitate to reach out as well,
I’m happy to give pointers and show you around the codebase.

Hoping you’re as excited about the upcoming release as I am - Happy Hacking!

14 Likes