Elamur Groupants⌕
☰

neural-parser-paths

The groupant beside models/neural-parser-paths.groupant in the Mova repository: what the code computes, what it never does, how to go back from its outputs, its invariants, cost and checks.

Facts

Implementation material. A Mova code model describes this code at one source revision: partial models, finite checks and their stated scope. It is not a reviewed general exposition, and its labels are shown as written, never raised.

Components

componentlabelwhere
approximantpartialforward
astnot materialized
compositionpartialcomposition
costsymbolic source derivedcost
descriptantpresentdescriptant
invariantpartialinvariant
testssee source local evidencechecks

Obernants

The typed relations around the forward model: the behaviour complement (what the code never does), the reverse reconstruction (every input compatible with an output) and specialised views.

idtypelabelwhere
behavior-complementbehavior_complementpartial source derived modelbehavior-complement
reverse-reconstructionreverse_reconstructionpartial source derived modelreverse-reconstruction
coordinate-joinrepresentation_transportpartial source derived modelcoordinate-join
gradient-joingradient_transportpartial source derived modelgradient-join
checkpoint-effectseffect_boundarypartial source derived modelcheckpoint-effects
score-metricobservation_projectionpartial source derived modelscore-metric

Model text

descriptant

neural-parser-paths: wave30

data::batch roles index (k*T+d)T+p; Net attention uses B,H,T,dh and masks head/key columns. lib transposes arcs dependent-major into Eisner head-major and maps local decoded h to flattened kT+h for Net::rels. An adapter using raw h for k>0 gathers another sentence's encoder state. Vocs labels require same ordering as model output dimensions; load files independently and missing weights are not consistency proof. CLI score zips and can hide length mismatches, so output-length invariants must be checked before claiming dataset coverage. Existing world GPU caller uses parse_forms; tokenization remains caller-owned. Tests are sibling observers, not runtime production stages.

This source-bound partial group organizes existing Mova code. Native evidence and excluded effects are recorded in source sidecars and the root wave30 report. Registration is not a universal proof or whole-system runtime claim.

model

neural-parser-paths

forward

read -> Vocs/features -> padded Batch -> Net arcs[k,d,h] -> log-softmax -> transposed Eisner sc[h][d] rounded f32 recurrence -> local heads -> flattened kT+h relation gather -> scattered tuples. Real max-plus optimality requires order-preserving arithmetic; finite f32 inputs alone do not imply it. Empty slots=[]/0; length>=max_len preserves original tuples/score0. Training loss=CEarc+CErel+0.5(CExpos+CEupos), backward then AdamW; annotation adds lexical/postverbal edits.

invariant

Admitted finite-intermediate Eisner recurrence produces one-root projective heads; first-ascending tie claims require finite candidate sums so initial -infinity is improved. Real optimality additionally requires candidate-order preservation. Coordinate transport distinguishes root keys from real loss rows. Empty/fallback tuples retain lengths/order, with fallback allowed to preserve invalid original trees. Training fused VJP preserves Q/K routes; inference fusion deliberately does not. Finite fixture scored/unscored equality is not a global rounding guarantee.

cost

Encoder O(BTd+L*(BTd²+BT²d+BTdf)); arc O(BTda+BTa²+BT²a); relation O(Ndr+Nr²K+NrK); tags O(Nd(X+U)); preprocessing O(bytes+S log S+BT²), decoding sum O(n³). Attention storage BHT², encoder BTd, arc host transfer BT², plus parameters and training graphs/AdamW state. Independent dims H,a,r,K,X,U retained; BTd work persists at L=0. Integer products/allocations assumed representable. No speed claim.

composition

data::batch roles index (k*T+d)T+p; Net attention uses B,H,T,dh and masks head/key columns. lib transposes arcs dependent-major into Eisner head-major and maps local decoded h to flattened kT+h for Net::rels. An adapter using raw h for k>0 gathers another sentence's encoder state. Vocs labels require same ordering as model output dimensions; load files independently and missing weights are not consistency proof. CLI score zips and can hide length mismatches, so output-length invariants must be checked before claiming dataset coverage. Existing world GPU caller uses parse_forms; tokenization remains caller-owned. Tests are sibling observers, not runtime production stages.

domain

UTF-8 and valid Sent/Batch coordinates; Eisner square matrices with representable finite intermediate candidate sums for chart/backtrace tie guarantees, with special empty/singleton early branches. Exact-real maximum-tree interpretation additionally requires exact arithmetic or order-preservation across every rounded comparison. Net requires max_len>0, heads>0,d divisible heads, valid indices, resources and CUDA for selected ignored synthetic tests. No live model/corpus.

limitations

CPU/GPU runtime and Candle kernels trusted beyond finite checks. CUDA tests serial on RTX4000 SFF Ada, compile cap89, two build jobs. Explicit CUDA Device::new_cuda calls do not depend on GP_CPU; CPU prediction uses GP_FUSED_SOFTMAX=0. Original model/corpus timing and optimizer experiments not executed. No full mathematical/semantic AST proof or percent-error surrogate.

checks

catalog

behavior-complement

Within representable finite candidate sums, decoded tree cannot have multiple roots; no analogous guarantee is made for nonfinite recurrence defaults or copied overlength trees. Empty slots never enter reductions. Public training fusion uses differentiable softmax. Missing tensors preserve initialization, without rollback promise.

reverse-reconstruction

Output preimages include discarded text fields, vocab/hash collisions and rounded f32 decoder decision regions; exact-real score cones describe them only under order-preservation. Softmax positive rows admit log(p)+constant; f32 zero can be underflow. Checkpoints omit optimizer moments, corpus and RNG history.

coordinate-join

Batch row=kT+i; tensor arc cell=(kT+d)T+h; decoder sc[h][d] receives that cell; relation head=kT+h. Root index0 is local per sentence and never a real loss row.

gradient-join

Train=true selects custom fused VJP or reference attention, retaining Q/K/V plus embedding/LN gradients; inference fused loses Q/K gradient while V still reaches loss. Checking any QKV gradient alone is insufficient.

checkpoint-effects

CLI metadata writes precede epoch loop, checkpoints only strict improvements on full-dev/no-dev epochs, log follows. Failures may leave partial output. Selected synthetic optimizer mutates only ephemeral variables.

score-metric

Scored prediction sums arc and raw relation plus half tag log probabilities before root/dep label rewriting. CLI percentage metrics count zipped tokens, whereas source tests assert prediction lengths explicitly; neither is normalized tree posterior.

This page in Markdown → https://md.groupants.elamur.ai/free/en/mova/models/neural-parser-paths.groupant/