
Represent the world
Byte, character, and deterministic BPE inputs enter the same typed matrix and semantic-operation system.

Machine Learning
A GPU-first Rust system for automatic differentiation, dense and sparse models, state-space intelligence, training control, and portable model artifacts.
Learning path
The engine sees one connected act: representation, model, differentiation, optimization, evaluation, and memory. Every boundary stays explicit enough to inspect and test.

Byte, character, and deterministic BPE inputs enter the same typed matrix and semantic-operation system.

RNN, GRU, Transformer, sparse MoE, and Mamba-3 modules share parameters, autograd, loss, and metrics.

Forward, loss, backward, gradient transforms, and AdamW become explicit work owned by one oa::Engine.

.oam records architecture identity, model state, optimizer progress, and Dense, Q4, or Q8 weights.
One learning system
One semantic graph carries values, differentiation, optimization, execution, and persistence. Rust owns the native work; language bindings map to that system instead of maintaining parallel learning implementations.

Sequence intelligence
RNN and GRU establish compact recurrence; dense Transformer and dropless sparse MoE express attention; grouped-state Mamba-3 SISO and shared-state MIMO carry state-space memory. Each is a different theory of sequence intelligence expressed through the same values, gradients, optimizer, metrics, generation, and checkpoint lifecycle.
Native training
Modules register parameters. The tape records semantic backward rules. The training session coordinates steps, validation, metrics, and checkpoints without taking ownership away from oa::Engine.
1use oa::{Engine, Matrix, ml};23let engine = Engine::new()?;4let x = Matrix::from_f32(&engine, [5, 1], &[-2., -1., 0., 1., 2.])?;5let target = Matrix::from_f32(&engine, [5, 1], &[-3., -1., 1., 3., 5.])?;6let model = ml::nn::Linear::with_seed(&engine, 1, 1, 0)?;7let mut optimizer = ml::Sgd::new(model.parameters(), 0.05, 0.0, 0.0)?;89for _ in 0..80 {10 optimizer.zero_grad();11 let tape = ml::GradientTape::new();12 let loss = ml::loss::mse(&model.forward(&x)?, &target)?;13 tape.backward(&loss)?;14 drop(tape);15 optimizer.step()?;16}
Verified workloads
Five families, three tokenizers, and 15 complete workloads share one 300-step contract. The table uses the published OA 0.7.4 single-method Byte reference so wall time, source throughput, and learning quality remain directly comparable.
204.68K
RNN source byte/s
128.93K
Transformer source byte/s
118.79K
Sparse MoE source byte/s
30.72K
Mamba-3 source byte/s
Iris Xe TGL GT2, FP32, batch 64, sequence 16, 1,024 predicted positions per step. The v0.8.5 tree includes newer grouped Mamba-3 correctness evidence; its separately measured current-tree timing is not mixed into this historical five-family table.
Oa Library
Follow the same Engine, values, and explicit execution contract into another module.