Nemotron 3.5 Transcribe 30B-A4B on an RTX 5060 Ti 16 GB: what ran, and on what. Runs of 29 Oct 2026. Model NVIDIA Nemotron 3.5 Transcribe 30B-A4B (speech to text), model card https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B (OpenMDW-1.1) Weights AtomicChat/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B-GGUF, Hugging Face revision dbd06c5cad7a2f33c8e06be2fb3ef814dbd9aa59 (a quant, not NVIDIA's original weights) decoder NVIDIA-Nemotron-3.5-Transcribe-30B-A4B-AD-Q2_0_M.gguf 13.57 GB sha256 764dc3aedbc800a96346e188d74f56fc4d0932299e4771df1bc2e1c952ceed81 encoder NVIDIA-Nemotron-3.5-Transcribe-30B-A4B-Encoder-F16.gguf 1.67 GB sha256 4221029c8a565c4a80c507ffa760c716e595acf663f9f4273ce69910050e7ba2 Engine NVIDIA NeMo-Speech.cpp, commit 6a62501107e1894723880f1094a286ea996a0ec7 (llama.cpp bd4f514), Apache-2.0, preset cuda-server, CMAKE_CUDA_ARCHITECTURES=120a-real built from source in a Docker image (scripts/Dockerfile.nemo-dev.txt, base image nvcr.io/nvidia/pytorch:26.07-py3, CUDA 13.3) Card NVIDIA GeForce RTX 5060 Ti 16 GB (16,311 MiB), driver 595.71.05. One card in use. GPU memory in use before each run: 2 MiB (card-before.txt in the run folders, not in the single-piece check limits/piece9-alone). Test audio LibriSpeech test-clean (Panayotov, Chen, Povey, Khudanpur, ICASSP 2015), https://www.openslr.org/12/, CC BY 4.0, tarball md5 32fa31d27d2e1cad72775fee3f4849a9 19 whole chapters (8 speakers, 539 utterances), joined in corpus order with 0.25 s of silence between utterances and 1.0 s between chapters, 16 kHz mono. Length 3,579.355 s (59:39), sha256 f8bc7163be4bf87070a34fe528a4b22dfb9126cc9f88d994a24504bf40a00e87 (the file itself is not published, see audio/manifest.json). Reference text: audio/reference-librispeech.txt (the corpus text, upper case, no punctuation), sha256 c3806c4860044d0f526069334574630f689957edb6bc9dbdaf67d05d78657dc2. Changed by me: the utterances were cut and joined. Pieces 31 pieces of at most 120 s (the longest is 119.775 s), cut only between utterances on the 0.25 s gaps (audio/chunks120.json). 30 gaps of 0.25 s fall away, so the engine got 3,571.855 s of audio. The speed on the page uses the full 3,579.355 s. Cutting is not part of the timed run. Settings The 16 GB settings from the README of the quant: --asr.salm.max_sequences 2 --asr.salm.n_ctx_per_sequence 8192 --asr.salm.max_context 8192 --asr.salm.mtp_draft 0 --asr.salm.n_batch 512 --asr.salm.encoder_max_batch 2 --concurrency 1, language en, output format text. Nothing lowered, nothing added. Temperature is the engine default. Timing Wall time = from just before the docker run to the end of the run (t-start.txt, t-end.txt), so container start, model load and all 31 pieces are inside. The engine logged the model as loaded after about 13 s (stderr.log, the line "path=batched"). Memory nvidia-smi memory.used of the card, polled every 0.5 s while the run was going (vram-gpu1.csv). The peak is the whole card, with the CUDA context. Word error WER = (S + D + I) / N, N = reference words after the normaliser, word-level, jiwer. Normaliser: the Whisper EnglishTextNormalizer on reference and output (scripts/wer.py.txt). A plain normaliser (lower case, punctuation removed) is in the same wer.json: wer.json normalizers.basic. Runs Run 1 and run 2 are two runs with identical settings, one after the other. All 31 outputs are byte for byte the same. Run 1 is folder run1 (label e1 in the logs), run 2 is folder run2 (label e2). The numbers on the page are from run 2, run 1 is shown next to them. Limits limits/whole-hour and limits/whole-hour-lean: the whole hour in one request, two tries, both out of memory. limits/pieces-400s and limits/pieces-400s-repeat: ten pieces of up to 400 s. limits/piece9-alone: the one piece with the wrong text, alone. Not run The original BF16 weights, other quants, other cards, noisy audio, other languages, speaker labels, the engine's server mode. Files The original names of two kinds of files changed: gpu1-before.txt is published as card-before.txt, the *-errors.tsv files as wer-errors.txt, chunks120.sha256 as chunks120-sha256.txt. summary.json lost its engine_log path.