Nemotron-Birch
Nemotron-Birch is a permutation-equivariant desicion model with reasoning capabilities trained on top of NVIDIA Nemotron 3.5 Super VL 120B A12B during Junction Hackathon 2026. It scores supplied answers or decisions against a context and question, returning a probability distribution over the supplied candidate set. Applications under exploration include general multiple-choice QA and a human-reviewed decision API.
Reordering the choices reorders their probabilities. Every choice uses the same projections, attention blocks and scoring function, with no candidate-position embeddings. When a choice moves, its representation and attention relationships move with it, preserving its score up to numerical effects. Softmax therefore returns the same probabilities in the new choice order. This assumes unchanged choice texts and context; adding or removing alternatives can change the scores.
The head adds context–choice compatibility to a learned value informed by candidate self-attention:
Here, c is the context embedding and xᵢ is a question/choice embedding. The projected width d is 1,016; the fusion combines the context, choice and their elementwise product. CandidateSelfAttention comprises four residual blocks with eight attention heads each, normalization and shared feed-forward layers. Value converts each attention-updated choice representation into one learned scalar contribution to its score. It applies layer normalization, a linear layer, GELU and a final linear layer with one output. The same network is applied to every choice. Because its input has already attended to the other candidates, this contribution reflects the choice in relation to the available alternatives; it supplements the direct context–choice compatibility term. Value is a learned scoring network, not the V projection inside attention. Softmax over the combined scores produces the probabilities. Attention compares the available choices, rather than the original input tokens.
Reasoning that refines the context
The model retains its pretrained language-generation path alongside the parallelizable decision head. Given the context, question and candidate answers, it can generate a bounded sequence of reasoning tokens, append that text to the context, and score the choices using the refined context. This way it can leverage the Nemotrons Reasoning capabilities while still being a robust system-one model. The question and alternatives guide what information the refinement should address. Direct scoring skips generation.
Example: Tool calls, retrieving records, using scientific tools and interacting with an environment can supply evidence for context refinement.
The pretrained vocabulary readout remains frozen, while adapters modify the shared backbone. Keeping this generation path preserves access to the underlying model's reasoning capabilities, but does not guarantee unchanged reasoning accuracy. Generated notes can contain errors or be cut short by their token budget. Independently regenerating notes after reordering the candidate list can change the context; the head's equivariance applies when the refinement is held fixed.
Parallelism and context reuse
Context and question/choice texts are encoded independently in GPU batches. A shared context embedding can be reused across decisions, and cached candidate embeddings can be reused when their text and model weights are unchanged. Adding reasoning changes the context, so its embedding must be updated.
The decision head compares candidates in parallel and batches independent decisions. Reasoning generation remains autoregressive, although separate prompts can be batched. The current predictor serializes calls within one model worker; concurrent serving requires batching or separate workers. Eight-GPU BF16 training uses model sharding for capacity, rather than eight independent model replicas. No linear throughput scaling is implied.
Model and training
- Base: NVIDIA Nemotron 3.5 Super VL 120B A12B BF16, revision
fb0ee0bc6b3f70342afd8d84cb80dbadbaa8a1fe. - Adaptation: rank-32 LoRA on the final seven decoder blocks, plus a 70.4M-parameter decision head; approximately 564M trainable parameters total. Vision encoder and projector remain frozen.
- Representations: pooled final-two-block outputs, independently encoded context and question/choice pairs; 4,096-token limit per encoded sequence.
- Objective: candidate classification across 19 inference, commonsense, science, reading, medical-QA and synthetic specialty-routing tasks.
Benchmark results
At step 2,350, original-context evaluation across 19 source tasks / 6,746 questions produced 75.16% task-macro accuracy. These are internal held-out results using project preprocessing and sampling, not official leaderboard scores or a base-model comparison.
| Area | Accuracy by task |
|---|---|
| Science | ARC Easy 99.0% · ARC Challenge 97.4% · SciQ 99.0% · OpenBookQA 81.5% |
| Commonsense | PIQA 82.1% · SocialIQA 49.5% · CommonsenseQA 83.5% · HellaSwag 79.0% · WinoGrande 96.0% · COPA 70.0% |
| Inference | ANLI 61.0% · MNLI 54.5% · RTE 60.0% |
| Reading | BoolQ 78.5% · RACE 61.5% |
| Medical/research QA | MedQA 82.0% · MedMCQA 74.5% · PubMedQA 61.0% |
| Synthetic routing | BODHI 58.1% |
PIQA uses 1,838 official validation cases; SocialIQA uses 1,920 cleaned official validation cases. Other tasks use 200 cases each except ARC Challenge (117), COPA (40) and BODHI (31). Some internal holdouts originate from source training splits. PubMedQA's sample covers only two of its three gold labels. Task-macro accuracy weights each task equally; small samples and repeated validation limit interpretation.
Use and limitations
This is a custom candidate-scoring architecture, not a standard chat-model pipeline. Scores are relative to the supplied candidate set and are not calibrated probabilities of truth. Candidate self-attention enables comparison; its weights are not a verified explanation of a decision. Exact score ties require a separate tie policy.
The model is experimental and intended for research and human-reviewed demonstrations. Medical QA and synthetic routing scores do not establish clinical validity. Useful held-out image understanding has not been demonstrated. Generated reasoning is fallible, and any tool results must come from actual tool execution. An independent final evaluation remains necessary.
The upstream base model identifies OpenMDW 1.1 as its license. Adapter, head and code licensing is not specified here; source datasets retain their respective terms.
Checkpoint 2881 and quick probability prediction
The published trainable.safetensors contains the LoRA adapters and decision
head from step 2,881 (birch08-task-instructions-v1). The frozen NVIDIA base
is loaded separately. The benchmark table above remains the historical
step 2,350 evaluation; it is not a new evaluation of this checkpoint.
Download the small helper for the hosted demo (no Modal account, API key or local GPU needed):
curl -L https://huggingface.co/Toivo31/Nemotron-Birch/resolve/main/birch.py -o birch.py
from birch import predict_proba
probabilities = predict_proba(
context="My computer crashed.",
question="Which alternative is the more plausible effect?",
choices=["I installed new speakers.", "I lost all my data."],
candidate_format="inline", # preserve this example task's question/choice serialization
reasoning_budget=128, # default 0: direct scoring; 1–512: total refinement output tokens
additional_prompt="Give a concise evidence summary.",
)
print(probabilities) # same order as choices; sums to approximately 1
A positive budget automatically includes the question, choices and extra
instructions in context refinement. return_details=True includes the refined
context, checkpoint identity and cache/token accounting. Generation uses the
original frozen pretrained readout and unadapted suffix, sharing frozen prefix
weights with the trained decision path. For local inference, use
model = load_model() from the same helper and pass model=model to
predict_proba; see INFERENCE.md for the high-memory CUDA setup.
Open the demo. Scores remain relative to the supplied choices; generated summaries are fallible.
