GSoC 2024 Project Idea 8.2 Improving ML/AI Parameter Tuning/Optimization of Electrophysiological Models (175/350 h)

NetPyNE is a high-level graphical and python scripting interface to NEURON that describes multiscale models of brain neural circuits in a declarative, json-like syntax that can then be simulated in-silico via the NEURON simulator. NetPyNE’s toolkit allows users to declare–within a single framework–interactions between molecules (reaction diffusion modeling), synapses, channels, morphologies, and networks exemplified in our published, publicly available large-scale, biologically realistic models of rodent motor (M1), rodent somatosensory (S1), and macaque auditory (A1) thalamocortical circuits. NetPyNE is used in over 100 published models developed over 40 institutions worldwide, from smaller networks that can be run on user machines to models encompassing 50 million synaptic interactions run on highly parallelized computing centers. NetPyNE additionally integrates with multiple popular neuroscience standards, toolkits and platforms including the NeuroML, SONATA formats, CoreNEURON, LFPykit, HNN, TVB, OSB, EBRAINS, and SciUnit.

To aid in model development, NetPyNE has developed multiple python tools for scalable model tuning within our “batch” subpackage. This subpackage is continually improved upon based on new hardware infrastructures and algorithms and based on end-user needs including model tuning for large multiscale models on increasingly available high powered computing platforms. To this end, part of 2024 will involve research and development into improving the “batch” subpackage and exploring the efficacy of already implemented/ to be implemented AI/ML algorithms in parameter optimization for large scale models, using parameter prediction against our M1, S1 and A1 circuits as algorithm testbenches. Of note, these aims represent larger project aims and can be tailored to the applicant’s background expertise / time constraints/ interest.

Aims:

  1. Improving fitness reporting/ data aggregation & visualization for batch automation
  2. Validating new batch scripts on multiple hardware platforms
  3. Testbench existing / to be implemented algorithms on tuning large scale models
  4. Implement new AI/ML algorithms within NetPyNE batch subpackage.

Skill level: Flexible

Required skills: Python; open source software development. Other useful skills: background in computational/theoretical neuroscience and/or modeling experience; experience with NEURON/NMODL/hoc.

Time commitment: Flexible (175/350 h)

Lead mentor: Valery Bragin (vbragin19@gmail.com), Eugenio Urdapilleta (urdapile@gmail.com), James Chen (jchen.6727@gmail.com), Salvador Dura-Bernal (Salvador.Dura-Bernal@downstate.edu)

Project website: TBA (Discuss on Neurostars)

Backup mentors: TBD

Tech keywords: Python, open source, Data Science, Automation, NEURON, NetPyNE

1 Like

Hello!

I am one of the mentors for this project–we’ve received a couple of emails regarding both 8.1 and 8.2:

We appreciate the interest but also would kindly request any correspondence to be posted here as well–

Also, some FAQs from the emails I’ve gotten:

  1. Do I need to come into this project with NEURON/NetPyNE experience?
    Nope! It’s an “other/useful skill”. We’ll appreciate any knowledge you have on these software tools, but it is not a prerequisite per se. We will have didactic sessions covering NEURON/NetPyNE syntax as necessary for the purposes of automating exploration of large cortical models for 8.2, and the syntax for cell/ephys/connectomic rule declarations for 8.1 if the project proceeds to that topic.
    We do want people with some background in Python programming / collaborative software development, but this is also a mentor/mentee relationship and the project can be catered to the skill level/interests of the contributor. Finally we are happy to review any topics relevant to the project, all of us are employed in academia, so we do have an interest in teaching.

  2. Do I need to achieve all Aims?
    Nope! Again, depending on contributor interest/skill, we are willing to prioritize certain aims and drop other aims altogether. This is something we can tailor prior to your project proposal. For example–for 8.2-- if you are interested in data visualization and learning about parameter tuning, we can focus more on aims 1 and 3. If you are interested in software development and automation, we can look at aims 1, 2 and 4. &c…

  3. So what DO I need to do?
    Beyond meeting your time commitment, this project is designed as an opportunity for you to learn from a “real” task encountered in academic research (in a very diverse lab). We think the best experience will come if you are both highly interested in the project/research themes and the effort you put into open and honest communication. Our end of project evaluation is not going to be based solely on any strict deliverable but the effort you put in and how you communicate that to the team. For instance, a lab notebook/journal, your active participation on our Slack (or other communication) channels, etc, presentation of any interesting findings/ work. Of course, in terms of “building your resume” achieving any of these Aims will certainly stand out!

As a forewarning though, a lot of us on the mentor team are involved in a lot of different projects so we tend to be distracted very easily. Don’t hesitate to reach out on the forum (this thread), and please be aware that there may be a lag time in replies!

1 Like

Hello!

I’ve reached out to some of the mentors here but wanted to introduce myself to the forums; I’m Jacob Sprouse and I am a co-current computer science/Neuroscience undergraduate at Auburn University. I am finishing my Neuroscience classes this year and beginning my computer science major as well. I look forward to learning more about how I can utilize both fields in AI/ML and contribute to the project!

I did have a question about “exploring the efficacy of already implemented/ to be implemented AI/ML algorithms in parameter optimization for large scale models, using parameter prediction against our M1, S1 and A1 circuits as algorithm testbenches.” and if the circuits use data from recent clinical models of the primary motor, somatosensory, and auditory areas as a basis for the algorithms prediction? if not, will we need to research new predictions from recent clinical models involving the primary areas and implement those findings into the new algorithms, or should we use the existing parameters instead when optimizing the sub-package?

Thanks!

Hi,

Thanks for the interest!

The models (Models · NetPyNE – Open source package for neuronal networks) are both recently published and based on recently published literature, they are also currently being evaluated to match recent clinical findings by our lab.

However; I want to clarify that we will not be trying to tune these models to new clinical data; rather, we will be evaluating algorithms to see if we can demonstrate an improvement in compute cost when comparing one algorithm to another on the same parameter search space to pre-existing targets. In other words, we will provide arbitrary search spaces and comparing how long / how accurate various tuning methods are to matching already established targets (that is, we already “know solutions” that work).

Hope this explains the project better,

Best,

James Chen

Hi everyone,

I’m Dev, a Computer Science undergraduate at MDU, Rohtak. I’ve actually been working as an ML Engineer for about a year now, and the focus on incorporating AI/ML algorithms into NetPyNE’s “batch” subpackage for large-scale model optimization really excites me.

I’m particularly interested in exploring how different machine learning techniques can be applied to this challenge. Having the opportunity to learn more about the project and how my background in ML could contribute to NetPyNE’s development would be fantastic.

Question:
The document mentions exploring the efficacy of existing and to-be-implemented AI/ML algorithms. Could you elaborate on the specific types of algorithms envisioned for this purpose? Are there any particular areas of AI/ML that hold promise for parameter optimization within the context of NetPyNE’s “batch” subpackage?

Hello Dev,

We use a variety of algorithms to tune our models, though the question of which approach works best seems dependent on the particular model and isn’t formalized (something which we are in the process of doing…).

Our NetPyNE batch tool (https://github.com/suny-downstate-medical-center/netpyne/tree/development/netpyne/batch) currently implements various algorithms, including population based models (various evolutionary models, stochastic descent) and sequential inference models (simulation based inference with inference based on neural net structures or other non NN bayesian constructs).

On complex simulations, simulation based inference likely is more effective, whereas for simple models, the cost/benefits may equalize.

Because we are more interested in complex simulations, we’re looking to explore sequential inference techniques more, as well as techniques used traditionally in hyperparameter optimization.

Hello all,

Thank you for your interest regarding our NetPyNE projects,
just as a heads up, some important upcoming dates include
March 18, 2024 (next week) when Contributor Proposals Open and
April 02, 2024 when Proposals are due.

Since we are a smaller group with a heavy focus on research,
we would prefer doing a quick informal videocall or chat to
discuss your Contributor Proposal (and this will also be a
chance for you to ask any questions) before submission.

To set up a quick meeting, feel free to message me, either through
neurostars (click on my icon and select “send message”), or my specific email.

Thanks,
James Chen

Hello all,

Thanks for expressing your interest in our project 8.2;
Unfortunately, at this point, we already have multiple applications for this project–and as we have limited mentors in our lab, it is highly unlikely that we will be able to take on any more project mentees for 8.2 at this time.

I would recommend taking a look at other projects on neurostars if you are interested. Some of which are very similar to our project 8.2.

Thanks,
James Chen

Hello all,

I believe GSoC is releasing the official acceptance emails later today…
We’re thankful for all applicants and it was a wonderful experience getting to meet each of you, while we wish we had the slots and bandwidth to support everyone who applied it is likely that not everyone who applied will be accepted.

If this is the case, feel free to reach out if you wish to contribute in an unofficial capacity, but otherwise best of luck in your future endeavors.

Many thanks,
James

Hi @J_C and @greg_incf,

I’m Vritti, a 3rd year B.Tech student in IT, and I’m interested in this project for GSoC 2026. I have experience in Python and machine learning through various projects, and I’ve worked on ML pipelines and LLM-based systems using tools like LangChain.

I’d love to explore contributing and understand where I could be most helpful. Could you please guide me on how you would prefer I proceed?

Thank you
Vritti | Github

Hi Mentors,

I am targeting Project 8.2 (Improving ML/AI Parameter Tuning of Electrophysiological Models).

Knowing that the core of this project involves replacing basic parameter sweeps with advanced AI/ML algorithms, I wanted to first prove that I fully understand the existing NetPyNE batch simulation data flow and fitness evaluation pipeline.

To demonstrate this, I built a complete pipeline prototype: I ran a grid search over synMechTau2 and connWeight (based on the tut8 architecture), extracted the population firing rates from the JSON outputs, and built an automated Pandas/Seaborn visualization suite to map the fitness landscape.

You can view the repository and the resulting heatmaps here: [GitHub - hafeez-exe/NetPyNE-Batch-Viz-Prototype]

Note: For the sake of rapid prototyping and bypassing local NEURON compilation overhead on my end, I simulated the network outputs, but the data extraction and visualization logic is designed to ingest standard NetPyNE batch JSONs directly.

Before I start writing the proposal and integrating a specific ML search algorithm (like a Bayesian or Evolutionary approach) to benchmark against this baseline grid search, is there a specific M1 or S1 circuit model you’d prefer I use as the standard testbench?

Looking forward to your guidance!

Hello everyone,

My name is Shaik Abdus Sattar, and I am a Computer Science undergraduate with a strong focus on Machine Learning, Deep Learning, and optimization-driven modeling. I am very interested in contributing to the “Improving ML/AI Parameter Tuning/Optimization of Electrophysiological Models” project and would love to engage with the community as I prepare a formal proposal.

Over the past year, I have been working as a Research Assistant on ML problems grounded in real-world scientific and healthcare data. My work involves:

  • Designing and training clinically informed CNN and hybrid deep learning models
  • Developing structured evaluation pipelines and custom loss functions
  • Building scalable data-processing workflows
  • Working with optimization algorithms (gradient-based methods, parallel search, heuristic tuning strategies)
  • Implementing ML systems fully from scratch when needed

I am particularly interested in:

  • Improving scalable parameter tuning pipelines
  • Designing intelligent batch optimization workflows
  • Testing and integrating AI/ML algorithms for large-scale model parameter prediction
  • Strengthening fitness reporting, logging, and visualization systems
  • Exploring efficient parallel/heuristic optimization strategies for complex biological models

From a technical standpoint, I am comfortable with:

  • Python (advanced)
  • ML/DL frameworks and algorithm implementation
  • Structured experimentation and reproducible research pipelines
  • Working in research-driven, open-source environments

While my primary background is in ML/DL and scientific computing, I am very motivated to deepen my exposure to computational neuroscience workflows and large-scale simulation ecosystems.

I would be happy to discuss potential directions, propose concrete algorithmic improvements for the batch subpackage, and align my proposal with current development priorities.

You can find more about my work here:
GitHub: Seventie (Shaik Abdus Sattar) · GitHub
LinkedIn: https://linkedin.com/in/seventie

I’m looking forward to interacting with the mentors and contributors, understanding current bottlenecks, and refining a strong, technically grounded proposal.

Thank you!