Why is Python, not Julia, still used for most state-of-the-art AI research?

Microsoft seems to already be using Julia for neural networks, at least one of their employee does in “slimgroup” collaboration work (and a paper on work building on this names him and Microsoft, and Julia):

Authors

[IBM also has lots of ML Julia packages, latest I’ve seen: GitHub - IBM/Lale.jl: a Julia wrapper of Python's lale automl package “a Julia wrapper of Python’s lale automl package”.]

I decided to look into this after seeing new package (that is not yet registered, while Microsoft’s older OptimSim.jl package is, and is pure Julia): GitHub - microsoft/AzureClusterlessHPC.jl: A Julia package for clusterless distributed computing on Azure

AzureClusterlessHPC.jl is a package for simplified parallel computing on Azure.
[…]

Applications

[…]

  • Generic batch, map-reduce and iterative map-reduce examples
  • Deep learning with AzureClusterlessHPC.jl and Flux.jl
  • Seismic imaging and inversion with COFII.jl and JUDI.jl

https://arxiv.org/pdf/2101.03709.pdf

Our implementation relies on InvertibleNetworks.jl (P. Witte et al., 2020), a recently-developed memory-efficient framework for training invertible networks in the Julia programming language.

Here, we heavily rely on InvertibleNetworks.jl, a recently-developed, memory-efficient framework for training invertible networks in Julia.

Memory efficient convolution layer via matrix sketching

[…] This package contains two implementation:

  • A julia implementation that overloads NNlib for the computation of ∇conv_filter .
  • A PyTorch implementation that defines a new convolution layer Xconv2D, Xconv3D .
15 Likes