Model reference · open weights
Nemotron-Labs-Audex is an open-weight language model from NVIDIA. Nemotron-Labs-Audex-2B (BF16) weighs 12.2 GB; the smallest configuration that runs it is RTX 4060 Ti 16 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the nvidia/Nemotron-Labs-Audex-2B model card, 2026-10-01
What it is
| Released by | NVIDIA |
|---|---|
| Released | 2026-07-06 |
| VRAM | 12.2 GB for the weights |
What it runs on
How much memory each request adds isn't estimated yet for this architecture. The weights need at least the cards below, plus room for the context.
| Card | Weights alone |
|---|---|
| RTX 3060 12 GB | does not fit |
| RTX 4060 Ti 16 GB | fits |
| RTX 3090 24 GB | fits |
| RTX 4090 24 GB | fits |
| RTX 5090 32 GB | fits |
| L40S 48 GB | fits |
| A100 80 GB | fits |
| H100 80 GB | fits |
| RTX PRO 6000 Blackwell 96 GB | fits |
| DGX Spark (GB10) 128 GB unified | fits |
| H200 141 GB | fits |
| B200 180 GB | fits |
From the model card
We're excited to introduce Nemotron-Labs-Audex-2B, a unified audio-text LLM with a similar recipe as Nemotron-Labs-Audex-30B-A3B. Audex-2B extends the vocabulary for discrete audio tokens used for speech and general audio outputs, as well as an audio encoder for speech and general audio inputs. Audex-2B delivers strong abilities on audio tasks (audio understanding, speech recognition and translation, text-to-speech, audio generation, and speech-to-speech generation) while preserving very compelling reasoning, alignment, knowledge, long-context, and agentic capabilities of its text-only LLM backbone with marginal or no regression. Audex-2B operates in both thinking and instruct (non-thinking) modes.
Audex-2B is a compact, dense model trained using the same multi-stage SFT recipe as Audex-30B-A3B. Its smaller size reduces inference resource requirements. Audex-2B is released after multi-stage SFT, while Audex-30B-A3B additionally undergoes cascaded RL.
Audex-2B follows the ChatML template and supports both thinking and instruct (non-thinking) modes. Reasoning content is enclosed within and tags. The instruct-mode prefix is task-specific. Prepend one of the following to the assistant's response, i.e. right after the assistant ChatML header:
| Task | Mode | Prefix | Note |
|---|---|---|---|
| Text | thinking | \n | The model closes the trace with `` and then answers. |
| Text | instruct (non-thinking) | \n | |
| Audio | instruct (non-thinking) | `` | No newline between `` and the answer. |
Audex-2B supports up to a 128K-token context length.
Audex-2B follows Nemotron-Cascade-2 on text evaluation.
Audex-2B has different recommended inference setups per audio-related task as described below.
We use vLLM 0.20.0 container image: vllm/vllm-openai:v0.20.0-cu129
Audio extras: vllm/vllm-openai:v0.20.0 image does not include audio codecs. This command installs audio-related packages: python3 -m pip install "vllm[audio]".
vLLM plugin: Audex-2B is served through a small vLLM plugin. From the model root, register it once (needed for every vLLM task below): pip install -e nemotron_dense_vllm_plugin --no-deps --no-build-isolation.
Audio QA includes audio understanding, speech recognition, and speech translation (see templates in Introduction).
LLM.generate and an OpenAI-compatible audio_url server.To prepare inputs, create a JSON file in the following format with the \n placeholder:
[
{
"id": "sample_0",
"sound": "/path/to/audio_0.wav",
"conversations": [
{"from": "human", "value": "\nDescribe the audio in detail."},
{"from": "gpt", "value": "N/A"}
]
},
{
"id": "sample_1",
"sound": "/path/to/audio_1.wav",
"conversations": [
{"from": "human", "value": "\n{prompt}"},
{"from": "gpt", "value": "N/A"}
]
},
...
]
To install environments:
python3 -m pip install "vllm[audio]" # audio input decoding; skip if your image already bundles it (see Environment)
pip install -e inference_scripts_vllm/audioqa_scripts --no-deps --no-build-isolation
python inference_scripts_vllm/audioqa_scripts/run_audioqa_vllm.py \
--model-path "$(pwd)/checkpoint_folder_full" \
--input-json ./inputs.json \
--output-jsonl ./audioqa_outputs/results.jsonl \
--tensor-parallel-size 1
bash inference_scripts_vllm/audioqa_scripts/serve_audioqa_vllm.sh "$(pwd)/checkpoint_folder_full" 8000
python inference_scripts_vllm/audioqa_scripts/client_audioqa.py --audio /path/to/audio.wav --prompt "Describe this audio."
bash inference_scripts_hf/inference_example.sh.Transcribe the speech in the input audio.\n; speech translation — a translation instruction such as Translate the speech in the input audio into English.\n.Audio generation includes text-to-speech and text-to-audio generation.
First, prepare vLLM inference using bash model_conversion_scripts/prepare_audiogen_vllm_checkpoint.sh (which only creates symlinks of safetensors under checkpoint_folder_audiogen).
Download XCodec1 (hf-audio/xcodec-hubert-general-balanced) via
hf download hf-audio/xcodec-hubert-general-balanced --local-dir /path/to/xcodec1
Prepare a folder /path/to/caption_txt_dir/ with all .txt files where each contains one caption. Run ```cd inference_scripts_vllm/audiogen_scri
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
How it works