Why Project Phasor - 5 Reasons
Google docs version of this post: link
Spoiler: it’s not just about inviting AMD!
Project Phasor’s goal is to accelerate progress in neuromorphic research and engineering, especially where it intersects with NeuroAI, and to remove friction for everyone.
Project Phasor proposes 5 collaborative efforts. We outline the motivation for each one here.
Why a Joint Research Fund
A larger fund will attract the best researchers and a more diverse set of topics.
A joint fund would make it easier for more funding sources to participate.
Recently, public and private grants appear to be lacking for algorithmic research in this space, despite the amazing progress.
With some estimating overall public budget cuts could reach $2T/y in some locales, the private sector will need to pick up the slack using the resulting tax savings. Infrastructure like joint funds to handle the transition will need to be there in advance to avoid a devastating funding gap.
Why a Shared Neuromorphic Compiler Framework
I’ve seen so many accelerators that look great on paper but fail miserably when it comes time to write the compiler. Jonathan Ross and Groq had it right when they took a compiler-first approach. We should learn from both the failures and successes here.
NVIDIA has thousands of engineers improving their compiler for long tail applications. Even if a neuromorphic startup gets the core of their compiler right, there is a huge long tail that we could tackle better together.
I’ve heard many neuromorphic efforts have had issues getting a compiler working well. I suspect this resonates with more of you than are willing to admit! Pooling efforts will also allow us to tackle important but often deprioritized goals like performance, security, and test coverage.
If we can get a basic compiler written in a performant language like C++, I suspect Intel will adopt and contribute to the shared framework and make the difficult but inevitable decision to abandon its current compiler written in Python.
Why Neuromorphic Virtual Machines
To make neuromorphic architecture search accessible even to high-level algorithms researchers.
To ensure power estimates of an architecture search account for memory access and communication - not just compute.
To provide a set of easy initial targets for the shared compiler.
Depending on the level of detail, some VMs could function as potential validation aids or emulator platforms for real accelerators.
Why Solve Heterogeneous Integration
Neuromorphic processors are optimized for specific sparse and/or continuous workloads in ways that will complement rather than replace CPUs and GPUs.
All the neuromorphic accelerators will need to figure out how to live in a heterogenous world. Much of the important integration plumbing will be duplicated and undifferentiated work.
As Chris Lattner said: “computing... it's only going to get weirder from here on out.” MLIR and MOJO on their face seem well suited for one of the weirder computing paradigms that can even include analog realizations. However, some neuromorphs seem to think MLIR isn’t good for neuromorphics. To what extent is that true and how can we work around the perceived impedance mismatches? Solving that as a community will result in a better outcome for such a pivitol problem.
Why Data Center Scale Training
For reasons that make sense individually, existing players are focused on productizing inference at the edge. A more balanced ecosystem will set up tighter feedback cycles between training and inference improvements.
Profit margins are much better for training focused accelerators.
Large scale training requires solving very difficult but tangential engineering work around error recovery and automatic reconfiguration of hardware at scale. We need to make sure we have a story for how to prioritize “goodput” at scale.
Neuromorphic AI will remain fringe unless we figure out how to do data center scale right and compete head on with other large-scale AI models.
How…
A sneak peak regarding the HOW:
Getting different accelerator companies working together on a compiler and associated VMs will be extremely difficult. Once we get critical mass though, sticking with a proprietary stack will become a huge anchor. Fast iteration, open development, and the broader community will win in the end. If you are a neuromorphic startup, it will behoove you to realize this earlier than anyone else. ;)
I really enjoyed my time working on Chrome and its open development culture and hope to replicate the elements that made it so successful and inviting for other companies to adopt. It goes way beyond just open source and I look forward to working with y’all!
No comments:
Post a Comment