NVIDIA NLD GGUF Loader
The loader that squeezes NVIDIA's 8B diffusion-LLM onto your card
- NLD_MODEL
NVIDIA's NL-Diffusion-Image is not a normal checkpoint. The 8B backbone is a language model that generates an image as a sequence of discrete tokens - one per 16×16 patch, picked from a 128k-entry codebook via masked diffusion - then hands the token grid to an IBQ VQ decoder to paint actual pixels. It's the same "diffusion LM" family as Emu3, and for a while that meant only people with big data-center GPUs got to play. NLDLoaderGGUF ("NVIDIA NLD GGUF Loader") is the node that changes that: it loads the quantized 8B model from a .gguf file plus its vqvae decoder, and hands ComfyUI a ready-to-generate NLD_MODEL.
It's part of the RealRebelAI "Rebels" series - the same community quantizer who ships GGUF packs for SCAIL-2 and SeFi-Image. RealRebelAI converted NVIDIA's model to GGUF and wrapped the whole thing in ComfyUI nodes so you never touch a transformers script. Given that a full-precision 8B dLM plus a big decoder would laugh at a 12GB card, GGUF is the whole reason this runs at all: Q8 is effectively fp16 quality at half the size, which is the same deal that made Flux-class models viable on consumer VRAM.
What the dropdowns actually read
- gguf_name - scanned from
ComfyUI/models/unet/andComfyUI/models/diffusion_models/, so drop the dLM.ggufin either. If the dropdown shows the placeholder "<put dLM .gguf in models/diffusion_models>", it found nothing - that's the pack telling you where to look. - vqvae_name - scanned from
ComfyUI/models/vae/. This is the Emu3-style decoder's bf16.safetensors, not a normal latent VAE; it loads through this pack, never through ComfyUI's VAELoader. - weights_location -
cpu_stream (low VRAM)(default) keeps the quantized weights in system RAM and streams them to the GPU per forward pass;gpuloads them onto the card. The streaming path uses pinned memory so the transfers are genuinely async. - attention -
auto,flash_attention_2,sdpa, oreager. Auto picks flash if it imports cleanly and falls back to sdpa otherwise. Flash attention helps dramatically - the README says so in all caps, and it's the single biggest speed lever in the whole pack. - device -
cudaorcpu. Not a real choice on CPU; that's for poking around without a card.
Under the hood the node dequantizes with the city96 ComfyUI-GGUF fork, then wraps quantized Linear and Embedding layers in custom modules that dequantize lazily on forward - the 131k-row vocab embedding uses row-gather dequant so that monster tensor never fully materializes in VRAM. Smart, and exactly the kind of optimization this model needs.
Output: a single NLD_MODEL bundle, which wires into the pack's NLDTextToImage node. Nothing else consumes it.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/RealRebelAI/ComfyUI_Rebels_NLD
Then three things must be true or it won't load:
- The city96 ComfyUI-GGUF fork must sit in the same
custom_nodes/folder. This pack imports itsdequantmodule directly. Missing it, you get a warning that quantized models will not run - that's a hard stop, not a suggestion. - Python deps into ComfyUI's embedded Python (transformers ≥4.50, accelerate, gguf, einops, safetensors; torch intentionally isn't listed because ComfyUI ships its own CUDA build):
python_embeded\python.exe -m pip install -r requirements.txt - Model files in place: dLM
.gguf→models/unet/ormodels/diffusion_models/; vqvae.safetensors→models/vae/.
ComfyUI Manager can also do the clone for you if you search the pack title.
Gotchas
The README's "IMPORTANT" note says the vqvae model.safetensors must go in model_assets\emu3_vqvae\ - but the shipped loader actually reads the vqvae from the models/vae/ dropdown. If your vqvae_name list is empty, that's the fix: the file belongs in models/vae/, not in the pack folder. And remember NVIDIA's One-Way Noncommercial License covers the model and its quants - research and development only. Finally, expect some rough edges: the README openly says the nodes are operational but slow, with speed patches landing regularly, so git pull often.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| gguf_name | COMBO | 1 options: <put dLM .gguf in models/diffusion_models> | |
| vqvae_name | COMBO | 0 options: | |
| device | COMBO | cuda | 2 options: cuda, cpu |
| weights_location | COMBO | cpu_stream (low VRAM) | 2 options: cpu_stream (low VRAM), gpu |
| attention | COMBO | auto | 4 options: auto, flash_attention_2, sdpa, eager |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| NLD_MODEL | NLD_MODEL | — |