NeuralPDE for starting a geophysics repository

Hi @ChrisRackauckas, I am writing a research proposal for creating an integrated optimization framework for multi-source geophysical data. The goal is to start something sustainable for long-term. I would like everything (modeling, optimization, ML) in the SciML ecosystem. What’s the long-term plan with NeuralPDE.jl? I see it prefers Lux (new) over Flux (more stable) now.

SciML in general has a pretty large contributor base. It’s hard to get a good count because there’s so many repos, but looking through a few logs it looks like we’ve had about 40 unique contributors this week. Each repo tends to have a few maintainers, and those that are “maintainer light” have active efforts to get new maintainers into the area.

SciML has a diverse set of funding sources and foundations for it. One core one is the MIT Julia Lab, which is about 20 students and postdocs and generally has been well-funded over the years (https://julia.mit.edu/). Then there’s JuliaHub (https://juliahub.com/) which is building JuliaSim on the SciML components and thus contributes a lot back to SciML. And Pumas-AI (https://pumas.ai/) also hires a lot of our contributors who then stay in the ecosystem. I am BDFL of SciML and am associated with each of these groups. But also note that this accounts for probably only half of our maintainers, with the others being professors at other universities, associated with companies using SciML, etc. Then there’s also direct funding to SciML, such as the CZI grants and Google Summer of Code programs, which have been funding the growth of new developers and have been successful in their own right on growing new maintainers.

So that’s SciML in general. I am pretty committed to seeing this through to the end. As for NeuralPDE.jl, we’ve recently gotten a new maintainer @xtalax who had been working on MethodOfLines.jl a lot before. We are reworking some of the parsing so that it shares more infrastructure with the rest of the PDE packages. That makes it more sustainable in the long term of course because then updates to finite difference and finite volume stuff feed in as improvements to PINNs. We also have a pretty big GSoC cohort this year forming around NeuralPDE.jl, so I suspect there’s quite a bit of action. And it tends to be a hotspot for MIT’s 18.337 graduate course’s final projects, and that upstream a lot. So late spring through this summer will be quite a big moment for the package.

In the longer term, we plan to extend the geometries to handle arbitrary domains and tessellations. We’re reading the literature and all of the physics-informed neural operator, regularization schemes, etc. are all lined up as projects. So we plan to just keep going.

As for Flux vs Lux, you can use either. Actually the easiest is that internally we can transform Flux to Lux, and we will likely just start to do that. Lux.jl is what SciML really needed so we plan to just keep going that way, and still support a Flux.jl front end through such conversions. It fixes a lot of issues and improves performance.

2 Likes

Am happy to support with this endeavour, we are looking to get more physical models for PDESystemLibrary.jl so perhaps these efforts can feed in to each other.

1 Like

I’m always happy to provide a letter of support, either from SciML directly or as part of the MIT Julia Lab.

I think you’d find it very difficult to find a Python library with as robust of a contributor base as we have at SciML. I won’t point any fingers, but if you look at most of the SciML libraries in Python they are mostly personal projects with a single contributor. NeuralPDE.jl is a library I would say is a bit understaffed with there really being two core contributors, which is why I recently brought @xtalax in and we’re going to be training 4 more potentials this summer. But even then, if you’re just looking at NeuralPDE.jl then it’s missing the fact that NeuralPDE.jl is built on Optimization.jl, ModelingToolkit.jl, Symbolics.jl, and now PDEBase.jl, each of which have different contributors playing their role in improving the ecosystem. SciML is a whole operation with its own non-profit organization, its own conference, and the contributors coming from many different companies and universities in order to minimize the risks of any single organization.

3 Likes

Awesome! I have been following SciML and other Julia repositories that might be useful in my research. This discussion was super encouraging.

2 Likes