Nemotron-Birch

Nemotron Birch banner

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:

q=Wcontextc+bcontext,ki=Wchoicexi+bchoice q = W_{\mathrm{context}}c + b_{\mathrm{context}}, \qquad k_i = W_{\mathrm{choice}}x_i + b_{\mathrm{choice}}

hi=GELU ⁣(Wfusion[q;ki;q⊙ki]+bfusion) h_i = \mathrm{GELU}\!\left(W_{\mathrm{fusion}}[q; k_i; q \odot k_i] + b_{\mathrm{fusion}}\right)

si=q⊤kid+Value ⁣(CandidateSelfAttention(hi,{hj})) s_i = \frac{q^\top k_i}{\sqrt{d}} + \mathrm{Value}\!\left(\mathrm{CandidateSelfAttention}(h_i, \{h_j\})\right)

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.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Toivo31/Nemotron-Birch

Adapter
(1)
this model