NVIDIA logo

Nemotron 3 Nano 30B A3B

NemotronCurrent
byNVIDIANVIDIA(enterprise)
Released December 14, 2025
Context262.1K tokens
Price (In / Out)$0.05/M / $0.20/M
CategoryLarge Language Model

About Nemotron 3 Nano 30B A3B

Nemotron 3 Nano 30B A3B is a large language model from NVIDIA. Supports up to 262,144 token context window. Available from $0.05/M input tokens.

Capabilities

textcode

Input Modalities

text

Output Modalities

text

Technical Details

API Identifier
nvidia/nemotron-3-nano-30b-a3b
Category
Large Language Model
Context Window
262,144 tokens

Tags

budget-friendlylong-context

Run this model yourself

Local and cloud setup for Nemotron 3 Nano 30B A3B, with exact configurations, sources and clear evidence limits.

Find a model for your hardware
Local hardwareDocumented setupSources checked Oct 16, 2026

Run Nemotron 3 Nano on a 64 GiB Intel desktop

Serve the NVIDIA Nemotron 3 Nano hybrid MoE/Mamba text model with an exact Unsloth Q4_K_M derivative and pinned publisher template. This deliberate non-thinking configuration uses one CPU sequence, eight threads, 4,096 total context tokens and a 128-token output cap. 64 GiB RAM and 80 GiB disk are planning allocations; full fit and performance are unknown.

Hardware
Intel Core i5-12400 desktop, 8 inference threads, 64 GiB RAM
Runtime
llama.cpp v0.7.0 (620d2225cc436ab0b001e3200e590e3b286ef9ab) · CPU
Model format
GGUF · GGUF Q4_K_M mixed quantization · Q4_K_M mixed quantization by Unsloth
Workload
4,096 token context · 1 concurrent

Based on source documentation; this setup has not been executed by OpenTools. Memory: unknown. No compatible measurement available.

Read the complete setup guide

Before you start

  • Use an Intel Core i5-12400 desktop (6 cores / 12 threads, AVX2) with Ubuntu 24.04 x86_64, 64 GiB installed RAM and 80 GiB free disk. Allocate eight inference threads. Before a RAM upgrade, confirm motherboard, DIMM and OS compatibility; Intel’s 128 GB CPU maximum depends on memory type and does not validate a particular desktop. Build and run natively on this same CPU.
  • 64 GiB RAM, 80 GiB free/root disk and eight threads are author allocations for the full artifact plus runtime and OS resources, not measured minimums or fit guarantees.
  • Read both custom NVIDIA license declarations described below; do not treat this as Apache licensing.
  • Use the exact Nano 30B A3B model. Publisher gives 30B total and 3.5B active parameters, with 23 Mamba-2 blocks, 23 MoE blocks and six attention blocks; the runtime calls the 52-layer variant 31B_A3_5B. Branding is not an exact three-billion active count.

Exact model and requirements

Artifact:
Unsloth (quantizer); NVIDIA (base model) / Nemotron-3-Nano-30B-A3B Q4_K_M · checkpoint unsloth/Nemotron-3-Nano-30B-A3B-GGUF
Publisher revision:
9ad8b366c308f931b2a96b9306f0b41aef9cd405
Artifact digest:
sha256:0e7f6e51fdd9039928749d07eed9e846dbfd97681646544c5406bcdd788e5940
Download size:
22.89 GiB
Memory requirement (unknown):
Unknown — No exact peak for Nemotron hybrid MoE/Mamba Q4_K_M configuration.
System RAM / disk:
Unknown / Unknown
Placement:
single device. One CPU host; no tensor/pipeline sharding. CPU-only execution; --device none and zero GPU layers. No disk or accelerator offload.
KV cache:
F16 attention K and V only; recurrent Mamba state precision and full hybrid memory are separately runtime-managed and not established by these flags.
Workload:
4,096 token context; Unknown; Unknown; concurrency 1; batch 1; cache unknown; repetitions Unknown.
Tokenizer:
Exact derivative tokenizer with pinned NVIDIA native Jinja template · 9ad8b366c308f931b2a96b9306f0b41aef9cd405; template bf77c3174f68ad409e1c2aa60daeb46e32d1c606
Sampling / reasoning:
Author bounded non-thinking sampler uses source generation defaults temperature 1.0 and top_p 1.0; top_k 0, min_p 0, repetition 1.0 and frequency/presence 0 are explicit author settings. Output cap 128. No tool-calling recommendation is transferred. Native template enable_thinking=False emits closed empty thinking prefill; --reasoning off requests non-thinking mode. No tool executor or multimodal input.
Runtime prerequisites:
Ubuntu 24.04 x86_64; See prerequisites above.

Official artifact · License

Custom NVIDIA terms, not Apache. The current base card names NVIDIA Nemotron Open Model License (December 15, 2025), while this pinned Unsloth derivative card links NVIDIA Open Model License (October 24, 2025). Read both declarations and full terms; they are not identical. The older derivative-linked terms include guardrail and Trustworthy AI conditions. Both licenses permit commercial use subject to conditions, and require license/notice compliance on redistribution. This guide does not resolve or relicense that metadata difference.

  • All expert weights and recurrent state remain relevant even though only 3.5B publisher-rounded parameters are active per token.
  • The 24,574,373,664-byte GGUF excludes runtime buffers, attention cache, Mamba recurrent state, OS and build files. 64 GiB RAM and 80 GiB disk are allocations, not measured minimums or fit guarantees.

One-time setup and hardware

hardware
Unknown — Existing desktop purchase price and incremental hardware cost depend on the reader; unknown.
Existing desktop purchase price and incremental hardware cost depend on the reader; unknown. Tax: unknown.
setup
Unknown — Initial provisioning/build time and labor cost are unknown.
Initial provisioning/build time and labor cost are unknown. Tax: unknown.

Recurring costs

electricity
Unknown — Actual wall power, electricity rate and powered hours are unknown; no TDP-to-wall-power conversion.
Actual wall power, electricity rate and powered hours are unknown; no TDP-to-wall-power conversion. Tax: unknown.
storage
Unknown — Incremental cost of local disk capacity is unknown. The 80 GiB free-disk walkthrough allocation is an author choice, not a measured requirement.
Incremental cost of local disk capacity is unknown. The 80 GiB free-disk walkthrough allocation is an author choice, not a measured requirement. Tax: unknown.
egress
Unknown — Data transfer price, allowances and traffic volume are unknown.
Data transfer price, allowances and traffic volume are unknown. Tax: unknown.
administration
Unknown — Maintenance labor rate and hours are unknown.
Maintenance labor rate and hours are unknown. Tax: unknown.

Install the runtime

  1. 1. Build the pinned CPU server

    Install build dependencies and compile the exact official source revision. These packages are system shared dependencies; no CUDA/GPU driver is required. GGML_NATIVE=ON selects -march=native for this GNU/Linux x86 build, compiling for the host CPU. Build and run on the same machine; no AVX-512 requirement is imposed on the i5-12400.

    Command
    sudo apt-get update
    sudo apt-get install -y build-essential cmake git curl ca-certificates openssl
    mkdir -p "$HOME/nemotron3nano-hosting/models"
    cd "$HOME/nemotron3nano-hosting"
    git clone https://github.com/ggml-org/llama.cpp.git
    cd llama.cpp
    git checkout --detach 620d2225cc436ab0b001e3200e590e3b286ef9ab
    cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DGGML_METAL=OFF -DGGML_NATIVE=ON
    cmake --build build --config Release -j 8
    ./build/bin/llama-server --version

    Expected result: Build succeeds and server version identifies pinned source. Stop if checkout or build fails.

Download the model

  1. 1. Download and verify the exact GGUF

    Download the full Unsloth derivative and independently pinned NVIDIA native template; verify both before loading. All experts are included in the full artifact. Access metadata is public/ungated as captured; no paid provider API is needed.

    Command
    cd "$HOME/nemotron3nano-hosting"
    curl --fail --location --output models/Nemotron-3-Nano-30B-A3B-Q4_K_M.gguf 'https://huggingface.co/unsloth/Nemotron-3-Nano-30B-A3B-GGUF/resolve/9ad8b366c308f931b2a96b9306f0b41aef9cd405/Nemotron-3-Nano-30B-A3B-Q4_K_M.gguf'
    curl --fail --location --output nemotron-chat.jinja 'https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16/raw/bf77c3174f68ad409e1c2aa60daeb46e32d1c606/chat_template.jinja'
    sha256sum --check <<'SHA256'
    0e7f6e51fdd9039928749d07eed9e846dbfd97681646544c5406bcdd788e5940  models/Nemotron-3-Nano-30B-A3B-Q4_K_M.gguf
    ab7813c3abdd9cb655905a410728b26c7884eca45ddfab8d9f931553485a7862  nemotron-chat.jinja
    SHA256

    Expected result: Both hashes report OK; GGUF 24,574,373,664 bytes and template 10,504 bytes. Stop on mismatch.

Configure

  1. 1. Create a private service credential

    Generate this only on your own host when following the guide. It is a local service password, not an OpenAI/provider credential. Keep it private and never paste it into tickets. Create it only when absent; preserve an existing key so a repeated setup does not silently rotate access. It is not created during this documentation run.

    Command
    cd "$HOME/nemotron3nano-hosting"
    umask 077
    if [ ! -e .api-key ]; then
      openssl rand -hex 32 > .api-key
    fi
    test -s .api-key || { echo 'Existing .api-key is empty; restore it before continuing.'; exit 1; }
    chmod 600 .api-key

    Expected result: A non-empty private .api-key file exists; existing key preserved. No secret is printed.

Start the model

  1. 1. Start one CPU-only sequence

    Use the pinned native NemotronH MoE/Mamba implementation, complete CPU residency and one slot. Native Jinja enable_thinking=false produces a closed empty thinking prefill; --reasoning off disables requested reasoning. Reserve 128 output tokens inside 4,096 total context. F16 K/V settings apply to attention cache, not all recurrent state.

    Command
    cd "$HOME/nemotron3nano-hosting"
    export NEMOTRON3_SERVICE_KEY="$(cat .api-key)"
    ./llama.cpp/build/bin/llama-server -m models/Nemotron-3-Nano-30B-A3B-Q4_K_M.gguf --alias nemotron3nano --host 127.0.0.1 --port 8080 --api-key "$NEMOTRON3_SERVICE_KEY" --device none -ngl 0 -t 8 -c 4096 -np 1 --cache-type-k f16 --cache-type-v f16 --jinja --chat-template-file nemotron-chat.jinja --chat-template-kwargs '{"enable_thinking":false}' --reasoning off --temp 1.0 --top-k 0 --top-p 1.0 --min-p 0.0 --repeat-penalty 1.0 --frequency-penalty 0.0 --presence-penalty 0.0

    Expected result: Model initializes and listener starts. Pass health and authenticated chat checks before relying on the service. Command-line credentials may be visible to privileged/local users; trusted host required.

Connect to your endpoint

http://127.0.0.1:8080/v1

Same desktop loopback only; no LAN/public listener. Use on a trusted single-user host.

Access: loopback. Reader-generated private service key in Authorization: Bearer header for chat; /health is public on loopback. Run the client on this same desktop. Keep the key private; this is not an OpenAI API key.

Verify the setup

  1. 1. Check readiness and authenticated text generation

    Run checks from a second terminal on the server. Health is public on loopback. Check the authenticated chat’s non-empty final content against the supplied passage and ensure finish_reason is not length; no exact wording is guaranteed. This is a short functional summarization check, not a quality benchmark.

    Command
    cd "$HOME/nemotron3nano-hosting"
    export NEMOTRON3_SERVICE_KEY="$(cat .api-key)"
    curl --fail http://127.0.0.1:8080/health
    curl --fail http://127.0.0.1:8080/v1/chat/completions -H "Authorization: Bearer $NEMOTRON3_SERVICE_KEY" -H 'Content-Type: application/json' -d '{"model":"nemotron3nano","messages":[{"role":"user","content":"Summarize this supplied passage in one sentence without adding facts: The community library opens at 9am on weekdays and closes at 6pm. On Saturday it opens at 10am and closes at 4pm. It is closed on Sunday."}],"max_tokens":128,"temperature":1.0,"top_k":0,"top_p":1.0,"min_p":0.0,"repeat_penalty":1.0}'
    curl -o /dev/null -s -w '%{http_code}\n' http://127.0.0.1:8080/v1/chat/completions -H 'Content-Type: application/json' -d '{"model":"nemotron3nano","messages":[{"role":"user","content":"Hello"}]}'

    Expected result: Health HTTP 200 when ready; authorized response contains non-empty choices[0].message.content accurately summarizing the supplied opening hours, with finish_reason not length; unauthorized chat returns HTTP 401. Inspect facts yourself; generated text can be wrong.

Performance evidence

No compatible measurement available. Documented support and estimated memory do not establish response speed.

Limits and troubleshooting

  • Documented instructions only. Exact startup compatibility, full memory fit, latency, throughput and output quality are unknown; no model build or inference was run.
  • Publisher gives 30B total and 3.5B active parameters per token. A3B is model branding; full routed/shared expert weights remain resident in this CPU configuration.
  • Hybrid pattern has 23 Mamba blocks, 23 MoE blocks and six attention blocks. Routed experts total 128 plus one shared, with six routed experts selected per token. Active computation does not imply a small storage footprint.
  • Publisher supports up to 1M context in its documentation but ships 262,144 default positions in config. This recipe selects 4,096 total tokens, one sequence and 128 output tokens; no long-context fit or quality is inferred.
  • F16 attention K/V flags do not establish recurrent-state precision. The publisher HF float32 Mamba cache setting is not transferred as a llama.cpp memory claim. Full hybrid peak remains unknown.
  • Non-thinking uses the exact NVIDIA template with enable_thinking=false and runtime reasoning off. No separate thinking traces, tool executor, multimodal input or provider API is configured.
  • Source generation defaults temperature 1.0/top_p 1.0 are used as an author non-thinking choice; publisher .6/.95 advice specifically concerns tool calling and is not transferred. Top-k/min-p disabled explicitly.
  • Custom license metadata differs between current base and derivative; read both captured declarations and terms. This guide does not claim Apache licensing, license equivalence or legal clearance.
  • The paid OpenRouter model metadata maps this canonical API identifier to the exact NVIDIA checkpoint. The separate frozen :free canonical remains preserved and identity-held; no current free/API availability claim is made here.
  • 64 GiB RAM, 80 GiB disk and eight threads are author allocations, not measured minimums. Original dated compute/storage prices and unknown egress/admin/power remain distinct.
  • Dependencies resolve at installation. Build on the same CPU, save versions and logs, inspect all output against supplied facts. Full model-family coverage is not final.
Download or checksum failure
Check exact pinned Unsloth GGUF and NVIDIA template URLs, filename case and both hashes. Do not serve mismatched bytes.
Unsupported architecture or build failure
Use the exact llama.cpp commit pinned in the build and download steps, with native NemotronH hybrid MoE/Mamba support. Do not silently substitute an older package.
Out of memory or context overflow
Stop the service and inspect host memory. Shorten prompt/output within 4,096 total tokens or explicitly change allocation. Full fit remains unknown.
HTTP 401 or connection refused
Check foreground server startup, loopback port 8080 and matching Bearer service key. Run the client on the same desktop.
Poor or truncated summary
Confirm exact Nemotron Nano GGUF, exact NVIDIA template, enable_thinking=false, reasoning off and sampler. Inspect finish_reason and supplied facts. Increase output cap only within total context and record the changed workload; smoke checks do not establish reliable quality.

Stop the model

  1. 1. Stop the service

    Press Ctrl+C in server terminal. Unset key in each shell. Confirm this desktop localhost:8080 no longer serves the model.

    Command
    unset NEMOTRON3_SERVICE_KEY

    Expected result: Server stops and localhost:8080 stops serving.

Uninstall

  1. 1. Remove dedicated model, build and credential files

    Back up wanted logs/files first. Remove only this walkthrough directory after confirming its path. Shared apt packages can remain; do not remove other workloads.

    Command
    rm -r -- "$HOME/nemotron3nano-hosting"

    Expected result: Dedicated files and local service credential removed; shared system dependencies remain.

Sources and verification

Sources checked Oct 16, 2026. Verification source

Related guides

Compare this configuration
Cloud serverDocumented setupSources checked Oct 16, 2026

Run Nemotron 3 Nano on a private AWS CPU server

Serve the NVIDIA Nemotron 3 Nano hybrid MoE/Mamba text model with an exact Unsloth Q4_K_M derivative and pinned publisher template. This deliberate non-thinking configuration uses one CPU sequence, eight threads, 4,096 total context tokens and a 128-token output cap. 64 GiB RAM and 80 GiB disk are planning allocations; full fit and performance are unknown.

Hardware
AWS r7i.2xlarge, 64 GiB RAM, Ubuntu x86_64
Runtime
llama.cpp v0.7.0 (620d2225cc436ab0b001e3200e590e3b286ef9ab) · CPU
Model format
GGUF · GGUF Q4_K_M mixed quantization · Q4_K_M mixed quantization by Unsloth
Workload
4,096 token context · 1 concurrent

Based on source documentation; this setup has not been executed by OpenTools. Memory: unknown. No compatible measurement available.

Read the complete setup guide

Before you start

  • Use Ubuntu 24.04 x86_64 on AWS r7i.2xlarge (8 vCPUs, 64 GiB RAM) in us-east-1 with an 80 GiB gp3 root disk. Check current quote, quota and capacity before provisioning; creating resources incurs charges. Use an existing SSH key, allow inbound SSH only from your client IP, and keep port 8080 closed.
  • 64 GiB RAM, 80 GiB free/root disk and eight threads are author allocations for the full artifact plus runtime and OS resources, not measured minimums or fit guarantees.
  • Read both custom NVIDIA license declarations described below; do not treat this as Apache licensing.
  • Use the exact Nano 30B A3B model. Publisher gives 30B total and 3.5B active parameters, with 23 Mamba-2 blocks, 23 MoE blocks and six attention blocks; the runtime calls the 52-layer variant 31B_A3_5B. Branding is not an exact three-billion active count.

Exact model and requirements

Artifact:
Unsloth (quantizer); NVIDIA (base model) / Nemotron-3-Nano-30B-A3B Q4_K_M · checkpoint unsloth/Nemotron-3-Nano-30B-A3B-GGUF
Publisher revision:
9ad8b366c308f931b2a96b9306f0b41aef9cd405
Artifact digest:
sha256:0e7f6e51fdd9039928749d07eed9e846dbfd97681646544c5406bcdd788e5940
Download size:
22.89 GiB
Memory requirement (unknown):
Unknown — No exact peak for Nemotron hybrid MoE/Mamba Q4_K_M configuration.
System RAM / disk:
Unknown / Unknown
Placement:
single device. One CPU host; no tensor/pipeline sharding. CPU-only execution; --device none and zero GPU layers. No disk or accelerator offload.
KV cache:
F16 attention K and V only; recurrent Mamba state precision and full hybrid memory are separately runtime-managed and not established by these flags.
Workload:
4,096 token context; Unknown; Unknown; concurrency 1; batch 1; cache unknown; repetitions Unknown.
Tokenizer:
Exact derivative tokenizer with pinned NVIDIA native Jinja template · 9ad8b366c308f931b2a96b9306f0b41aef9cd405; template bf77c3174f68ad409e1c2aa60daeb46e32d1c606
Sampling / reasoning:
Author bounded non-thinking sampler uses source generation defaults temperature 1.0 and top_p 1.0; top_k 0, min_p 0, repetition 1.0 and frequency/presence 0 are explicit author settings. Output cap 128. No tool-calling recommendation is transferred. Native template enable_thinking=False emits closed empty thinking prefill; --reasoning off requests non-thinking mode. No tool executor or multimodal input.
Runtime prerequisites:
Ubuntu 24.04 x86_64; See prerequisites above.

Official artifact · License

Custom NVIDIA terms, not Apache. The current base card names NVIDIA Nemotron Open Model License (December 15, 2025), while this pinned Unsloth derivative card links NVIDIA Open Model License (October 24, 2025). Read both declarations and full terms; they are not identical. The older derivative-linked terms include guardrail and Trustworthy AI conditions. Both licenses permit commercial use subject to conditions, and require license/notice compliance on redistribution. This guide does not resolve or relicense that metadata difference.

  • All expert weights and recurrent state remain relevant even though only 3.5B publisher-rounded parameters are active per token.
  • The 24,574,373,664-byte GGUF excludes runtime buffers, attention cache, Mamba recurrent state, OS and build files. 64 GiB RAM and 80 GiB disk are allocations, not measured minimums or fit guarantees.

One-time setup and hardware

hardware
Not applicable — AWS hardware acquisition is included in compute rental; no purchased GPU required. Any separate hardware cost is not applicable.
AWS hardware acquisition is included in compute rental; no purchased GPU required. Any separate hardware cost is not applicable. Tax: unknown.
setup
Unknown — Initial provisioning/build time and labor cost are unknown.
Initial provisioning/build time and labor cost are unknown. Tax: unknown.

Recurring costs

compute
$0.53 / hour
AWS published us-east-1 Linux On-Demand quote USD 0.5292 per billed instance-hour, no paid preinstalled software. Eight billed hours cost USD 4.2336; 24 hours USD 12.7008 compute. Idle running hours bill. No discount, Spot or reservation assumed. Storage, egress, tax and administration additional; capacity unknown. Region: us-east-1. SKU: r7i.2xlarge Linux On-Demand. Tax: excluded. Price dated Oct 15, 2026. Price source
storage
$0.08 / GB month
Captured us-east-1 gp3 quote USD 0.08 per GB-month, with GB defined as 1024^3 bytes. Selected 80 GiB root volume costs USD 6.40 per full month, prorated by provisioned duration, at baseline 3000 IOPS and 125 MB/s. No provisioned extras assumed; retained snapshots/resources separate. Storage persists after stop; tax excluded. Region: us-east-1. SKU: EBS gp3 baseline 3000 IOPS / 125 MB/s. Tax: excluded. Price dated Oct 16, 2026. Price source
egress
Unknown — Data transfer price, allowances and traffic volume are unknown.
Data transfer price, allowances and traffic volume are unknown. Tax: unknown.
administration
Unknown — Maintenance labor rate and hours are unknown.
Maintenance labor rate and hours are unknown. Tax: unknown.

Install the runtime

  1. 1. Build the pinned CPU server

    Install build dependencies and compile the exact official source revision. These packages are system shared dependencies; no CUDA/GPU driver is required. GGML_NATIVE=ON selects -march=native for this GNU/Linux x86 build, compiling for the host CPU. Build and run on the same machine; the binary uses the instruction set exposed by this r7i.2xlarge guest. Do not copy it to a different instance family without rebuilding.

    Command
    sudo apt-get update
    sudo apt-get install -y build-essential cmake git curl ca-certificates openssl
    mkdir -p "$HOME/nemotron3nano-hosting/models"
    cd "$HOME/nemotron3nano-hosting"
    git clone https://github.com/ggml-org/llama.cpp.git
    cd llama.cpp
    git checkout --detach 620d2225cc436ab0b001e3200e590e3b286ef9ab
    cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DGGML_METAL=OFF -DGGML_NATIVE=ON
    cmake --build build --config Release -j 8
    ./build/bin/llama-server --version

    Expected result: Build succeeds and server version identifies pinned source. Stop if checkout or build fails.

Download the model

  1. 1. Download and verify the exact GGUF

    Download the full Unsloth derivative and independently pinned NVIDIA native template; verify both before loading. All experts are included in the full artifact. Access metadata is public/ungated as captured; no paid provider API is needed.

    Command
    cd "$HOME/nemotron3nano-hosting"
    curl --fail --location --output models/Nemotron-3-Nano-30B-A3B-Q4_K_M.gguf 'https://huggingface.co/unsloth/Nemotron-3-Nano-30B-A3B-GGUF/resolve/9ad8b366c308f931b2a96b9306f0b41aef9cd405/Nemotron-3-Nano-30B-A3B-Q4_K_M.gguf'
    curl --fail --location --output nemotron-chat.jinja 'https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16/raw/bf77c3174f68ad409e1c2aa60daeb46e32d1c606/chat_template.jinja'
    sha256sum --check <<'SHA256'
    0e7f6e51fdd9039928749d07eed9e846dbfd97681646544c5406bcdd788e5940  models/Nemotron-3-Nano-30B-A3B-Q4_K_M.gguf
    ab7813c3abdd9cb655905a410728b26c7884eca45ddfab8d9f931553485a7862  nemotron-chat.jinja
    SHA256

    Expected result: Both hashes report OK; GGUF 24,574,373,664 bytes and template 10,504 bytes. Stop on mismatch.

Configure

  1. 1. Create a private service credential

    Generate this only on your own host when following the guide. It is a local service password, not an OpenAI/provider credential. Keep it private and never paste it into tickets. Create it only when absent; preserve an existing key so a repeated setup does not silently rotate access. It is not created during this documentation run.

    Command
    cd "$HOME/nemotron3nano-hosting"
    umask 077
    if [ ! -e .api-key ]; then
      openssl rand -hex 32 > .api-key
    fi
    test -s .api-key || { echo 'Existing .api-key is empty; restore it before continuing.'; exit 1; }
    chmod 600 .api-key

    Expected result: A non-empty private .api-key file exists; existing key preserved. No secret is printed.

Start the model

  1. 1. Start one CPU-only sequence

    Use the pinned native NemotronH MoE/Mamba implementation, complete CPU residency and one slot. Native Jinja enable_thinking=false produces a closed empty thinking prefill; --reasoning off disables requested reasoning. Reserve 128 output tokens inside 4,096 total context. F16 K/V settings apply to attention cache, not all recurrent state.

    Command
    cd "$HOME/nemotron3nano-hosting"
    export NEMOTRON3_SERVICE_KEY="$(cat .api-key)"
    ./llama.cpp/build/bin/llama-server -m models/Nemotron-3-Nano-30B-A3B-Q4_K_M.gguf --alias nemotron3nano --host 127.0.0.1 --port 8080 --api-key "$NEMOTRON3_SERVICE_KEY" --device none -ngl 0 -t 8 -c 4096 -np 1 --cache-type-k f16 --cache-type-v f16 --jinja --chat-template-file nemotron-chat.jinja --chat-template-kwargs '{"enable_thinking":false}' --reasoning off --temp 1.0 --top-k 0 --top-p 1.0 --min-p 0.0 --repeat-penalty 1.0 --frequency-penalty 0.0 --presence-penalty 0.0

    Expected result: Model initializes and listener starts. Pass health and authenticated chat checks before relying on the service. Command-line credentials may be visible to privileged/local users; trusted host required.

Connect to your endpoint

http://127.0.0.1:8080/v1

Server loopback only. For remote client run ssh -N -L 8080:127.0.0.1:8080 USER@VM_IP using your existing SSH access, then call localhost:8080 on client with the service key. Keep EC2 8080 closed.

Access: loopback. Reader-generated private service key in Authorization: Bearer header for chat; /health is public on loopback. SSH authenticates the cloud tunnel separately. Keep the key private; this is not an OpenAI API key.

Verify the setup

  1. 1. Check readiness and authenticated text generation

    Run checks from a second terminal on the server. Health is public on loopback. Check the authenticated chat’s non-empty final content against the supplied passage and ensure finish_reason is not length; no exact wording is guaranteed. This is a short functional summarization check, not a quality benchmark.

    Command
    cd "$HOME/nemotron3nano-hosting"
    export NEMOTRON3_SERVICE_KEY="$(cat .api-key)"
    curl --fail http://127.0.0.1:8080/health
    curl --fail http://127.0.0.1:8080/v1/chat/completions -H "Authorization: Bearer $NEMOTRON3_SERVICE_KEY" -H 'Content-Type: application/json' -d '{"model":"nemotron3nano","messages":[{"role":"user","content":"Summarize this supplied passage in one sentence without adding facts: The community library opens at 9am on weekdays and closes at 6pm. On Saturday it opens at 10am and closes at 4pm. It is closed on Sunday."}],"max_tokens":128,"temperature":1.0,"top_k":0,"top_p":1.0,"min_p":0.0,"repeat_penalty":1.0}'
    curl -o /dev/null -s -w '%{http_code}\n' http://127.0.0.1:8080/v1/chat/completions -H 'Content-Type: application/json' -d '{"model":"nemotron3nano","messages":[{"role":"user","content":"Hello"}]}'

    Expected result: Health HTTP 200 when ready; authorized response contains non-empty choices[0].message.content accurately summarizing the supplied opening hours, with finish_reason not length; unauthorized chat returns HTTP 401. Inspect facts yourself; generated text can be wrong.

Performance evidence

No compatible measurement available. Documented support and estimated memory do not establish response speed.

Limits and troubleshooting

  • Documented instructions only. Exact startup compatibility, full memory fit, latency, throughput and output quality are unknown; no model build or inference was run.
  • Publisher gives 30B total and 3.5B active parameters per token. A3B is model branding; full routed/shared expert weights remain resident in this CPU configuration.
  • Hybrid pattern has 23 Mamba blocks, 23 MoE blocks and six attention blocks. Routed experts total 128 plus one shared, with six routed experts selected per token. Active computation does not imply a small storage footprint.
  • Publisher supports up to 1M context in its documentation but ships 262,144 default positions in config. This recipe selects 4,096 total tokens, one sequence and 128 output tokens; no long-context fit or quality is inferred.
  • F16 attention K/V flags do not establish recurrent-state precision. The publisher HF float32 Mamba cache setting is not transferred as a llama.cpp memory claim. Full hybrid peak remains unknown.
  • Non-thinking uses the exact NVIDIA template with enable_thinking=false and runtime reasoning off. No separate thinking traces, tool executor, multimodal input or provider API is configured.
  • Source generation defaults temperature 1.0/top_p 1.0 are used as an author non-thinking choice; publisher .6/.95 advice specifically concerns tool calling and is not transferred. Top-k/min-p disabled explicitly.
  • Custom license metadata differs between current base and derivative; read both captured declarations and terms. This guide does not claim Apache licensing, license equivalence or legal clearance.
  • The paid OpenRouter model metadata maps this canonical API identifier to the exact NVIDIA checkpoint. The separate frozen :free canonical remains preserved and identity-held; no current free/API availability claim is made here.
  • 64 GiB RAM, 80 GiB disk and eight threads are author allocations, not measured minimums. Original dated compute/storage prices and unknown egress/admin/power remain distinct.
  • Dependencies resolve at installation. Build on the same CPU, save versions and logs, inspect all output against supplied facts. Full model-family coverage is not final.
Download or checksum failure
Check exact pinned Unsloth GGUF and NVIDIA template URLs, filename case and both hashes. Do not serve mismatched bytes.
Unsupported architecture or build failure
Use the exact llama.cpp commit pinned in the build and download steps, with native NemotronH hybrid MoE/Mamba support. Do not silently substitute an older package.
Out of memory or context overflow
Stop the service and inspect host memory. Shorten prompt/output within 4,096 total tokens or explicitly change allocation. Full fit remains unknown.
HTTP 401 or connection refused
Check foreground server startup, loopback port 8080 and matching Bearer service key. Check the operator SSH tunnel; do not expose API port publicly.
Poor or truncated summary
Confirm exact Nemotron Nano GGUF, exact NVIDIA template, enable_thinking=false, reasoning off and sampler. Inspect finish_reason and supplied facts. Increase output cap only within total context and record the changed workload; smoke checks do not establish reliable quality.

Stop the model

  1. 1. Stop the service

    Press Ctrl+C in server terminal. Unset key in each shell. Close the SSH tunnel with Ctrl+C. Stopping the process alone does not stop EC2 billing.

    Command
    unset NEMOTRON3_SERVICE_KEY

    Expected result: Server stops and localhost:8080 stops serving.

Uninstall

  1. 1. Remove dedicated model, build and credential files

    Back up wanted logs/files first. Remove only this walkthrough directory after confirming its path. Shared apt packages can remain; do not remove other workloads.

    Command
    rm -r -- "$HOME/nemotron3nano-hosting"

    Expected result: Dedicated files and local service credential removed; shared system dependencies remain.

Shut down cloud resources

  1. 1. End cloud billing resources

    In EC2 us-east-1, stop for later reuse or terminate this exact VM. Review Delete on termination for its root volume. Delete unwanted detached EBS volumes, snapshots and reserved/Elastic/public IP resources. Stopped VM storage and retained resources may still bill. Check Bills/Cost Explorer later for final usage.

    Expected result: Exact instance is stopped/terminated as intended; no unwanted attached/retained billed resources remain. Instance compute stops only after its lifecycle transition, not when llama-server stops.

Sources and verification

Sources checked Oct 16, 2026. Verification source

Related guides

Compare this configuration

Pricing

Token pricing for Nemotron 3 Nano 30B A3B API usage.

Input Tokens

$0.05/M

per million tokens

Output Tokens

$0.20/M

per million tokens

Competing Models

Same pricing tier — direct alternatives to Nemotron 3 Nano 30B A3B

Efficiency