NOMA, or Neural-Oriented Machine Architecture, is an experimental systems language and compiler designed to integrate reverse-mode automatic differentiation as a compiler pass, translating Rust to LLVM IR. Unlike traditional Python frameworks like PyTorch or TensorFlow, NOMA treats neural networks as managed memory buffers, allowing dynamic changes in network topology during training without halting the process. This is achieved through explicit language primitives for memory management, which preserve optimizer states across growth events, making it possible to modify network capacity seamlessly. The project is currently in alpha, with implemented features including native compilation, various optimizers, and tensor operations, while seeking community feedback on enhancing control flow, GPU backend, and tooling. This matters because it offers a novel approach to neural network training, potentially increasing efficiency and flexibility in machine learning systems.
Read Full Article: NOMA: Dynamic Neural Networks with Compiler Integration