diff --git a/ui/locale/locale_en.json b/ui/locale/locale_en.json
index 0bc67df19..89c6a806d 100644
--- a/ui/locale/locale_en.json
+++ b/ui/locale/locale_en.json
@@ -621,6 +621,7 @@
{"id":"","label":"Generic","localized":"","hint":"","ui":"video"},
{"id":"","label":"Google GenAI","localized":"","hint":"","ui":"settings_model_options"},
{"id":"","label":"Group Offload","localized":"","hint":"","ui":"settings_offload"},
+ {"id":"","label":"Group offload type","localized":"","hint":"Granularity used by group offload.
- leaf_level: offloads at the smallest module level; maximum memory savings, slower
- block_level: offloads groups of transformer blocks (size set by Offload blocks); faster with less savings, and keeps the VAE resident
Applies only when Model offload mode is group.
Default is leaf_level.","ui":"settings_offload"},
{"id":"","label":"Grid Options","localized":"","hint":"","ui":"settings_saving-images"},
{"id":"","label":"Grids","localized":"","hint":"","ui":"settings_saving-paths"},
{"id":"","label":"Guider","localized":"","hint":"","ui":"txt2img"},
@@ -841,7 +842,7 @@
{"id":"","label":"Latent history size","localized":"","hint":"","ui":"settings_sd"},
{"id":"","label":"LLama repo","localized":"","hint":"","ui":"settings_model_options"},
{"id":"","label":"low noise","localized":"","hint":"","ui":"settings_model_options"},
- {"id":"","label":"Load caption models direct to GPU","localized":"","hint":"","ui":"settings_offload"},
+ {"id":"","label":"Load caption models direct to GPU","localized":"","hint":"Loads captioning and interrogation models straight onto the GPU instead of loading into RAM first.
Faster to start captioning, but uses VRAM while the caption model is loaded.
Enabled by default.","ui":"settings_offload"},
{"id":"","label":"leaf_level","localized":"","hint":"","ui":"settings_offload"},
{"id":"","label":"LLM","localized":"","hint":"","ui":"settings_quantization"},
{"id":"","label":"Layerwise casting storage","localized":"","hint":"","ui":"settings_quantization"},
@@ -939,9 +940,10 @@
{"id":"","label":"Model auto-download on demand","localized":"","hint":"","ui":"settings_sd"},
{"id":"","label":"Model load using streams","localized":"","hint":"When loading models attempt stream loading optimized for slow or network storage","ui":"settings_sd"},
{"id":"","label":"Model load model direct to GPU","localized":"","hint":"","ui":"settings_sd"},
- {"id":"","label":"Model types not to offload","localized":"","hint":"","ui":"settings_offload"},
- {"id":"","label":"Modules to always offload","localized":"","hint":"","ui":"settings_offload"},
- {"id":"","label":"Modules to never offload","localized":"","hint":"","ui":"settings_offload"},
+ {"id":"","label":"Model offload mode","localized":"","hint":"Controls how model components move between VRAM and system RAM to fit larger models on less VRAM.
- none: keeps everything on the GPU; fastest, but only works if the whole model fits in VRAM
- balanced: the recommended default; offloads only when VRAM use crosses a threshold, so it suits almost any GPU (tuned by the watermarks below)
- group: offloads groups of layers via diffusers group offloading; an alternative middle ground with optional stream prefetch
- model: offloads whole components such as the VAE or text encoder when idle; a more compatible fallback when balanced or group are unsupported, with smaller savings
- sequential: offloads layer by layer; the most memory saving but slowest, for when even balanced runs out of memory
Command-line flags override the automatic choice:
- --lowvram: forces sequential
- --medvram: forces balanced with low watermark 0
With no flag, balanced is the automatic default on any GPU, with watermarks set by GPU memory (low / high):
- 12 GB or less: 0 / 0.6
- 12-24 GB: 0.2 / 0.6
- 24 GB or more: 0.2 / 0.8
(or none if no GPU is detected)","ui":"settings_offload"},
+ {"id":"","label":"Model types not to offload","localized":"","hint":"Model architectures to skip when offloading, separated by spaces or commas.
Useful for model types that misbehave when offloaded.
Applies only to balanced offload.
Default is empty.","ui":"settings_offload"},
+ {"id":"","label":"Modules to always offload","localized":"","hint":"Module names that are always offloaded in balanced mode, separated by spaces, commas, or semicolons, regardless of the watermarks.
Applies only to balanced offload.
Default by GPU memory: the large text encoders (T5, UMT5) are added at roughly 4-12 GB and at 24 GB or more; empty otherwise.","ui":"settings_offload"},
+ {"id":"","label":"Modules to never offload","localized":"","hint":"Module names that are never offloaded in balanced mode, separated by spaces, commas, or semicolons, keeping them resident in VRAM.
Applies only to balanced offload.
Default by GPU memory: the CLIP text encoders and the VAE are kept resident at 24 GB or more; empty otherwise.","ui":"settings_offload"},
{"id":"","label":"Model types not to quantize","localized":"","hint":"","ui":"settings_quantization"},
{"id":"","label":"Modules to not convert","localized":"","hint":"Names of modules to leave unquantized (kept in original precision), separated by spaces, commas, or semicolons.
Useful for layers that are sensitive to quantization, such as gate or projection layers. Example: proj_out, x_embedder.
Some models already exclude sensitive modules by default; entries here extend that built-in list rather than replacing it.
Default is empty.","ui":"settings_quantization"},
{"id":"","label":"Modules dtype dict","localized":"","hint":"Advanced: JSON mapping a quantization type to a list of module names, to quantize specific modules at a different type than the global Quantization type. Example: {\"uint4\": [\"proj_out\"]}.
Some models already assign certain modules a specific type by default; entries here merge with those built-in mappings rather than replacing them.
Default is empty.","ui":"settings_quantization"},
@@ -995,7 +997,7 @@
{"id":"","label":"Near threshold","localized":"","hint":"","ui":"control"},
{"id":"","label":"Noise scale","localized":"","hint":"","ui":"video"},
{"id":"","label":"Note","localized":"","hint":"","ui":"component-8823"},
- {"id":"","label":"Non-blocking move operations","localized":"","hint":"","ui":"settings_offload"},
+ {"id":"","label":"Non-blocking move operations","localized":"","hint":"Uses non-blocking transfers when moving weights between GPU and RAM, letting copies overlap with other work.
Can be faster, but may be unstable on some platforms.
Disabled by default.","ui":"settings_offload"},
{"id":"","label":"Nunchaku attention","localized":"","hint":"Replaces default attention with Nunchaku's custom FP16 attention kernel for faster inference on consumer NVIDIA GPUs.
Might provide performance improvement on GPUs which have higher FP16 tensor cores throughput than BF16.
Currently only affects Flux-based models (Dev, Schnell, Kontext, Fill, Depth, etc.). Has no effect on Qwen, SDXL, Sana, or other architectures.
Disabled by default.","ui":"settings_quantization"},
{"id":"","label":"Nunchaku offloading","localized":"","hint":"Enables Nunchaku's own per-block CPU offloading with asynchronous CUDA streams to reduce VRAM usage.
Uses a ping-pong buffer strategy: while one transformer block computes on GPU, the next block preloads from CPU in the background, hiding most of the transfer latency.
Can reduce VRAM usage at the cost of slower inference.
This replaces SD.Next's pipeline offloading for the transformer component.
Only useful on low-VRAM GPUs. If your GPU has enough memory to hold the quantized model (16+ GB), keep this disabled for maximum speed.
Supports Flux and Qwen models. Not supported for SDXL where this setting is ignored.
Disabled by default.","ui":"settings_quantization"},
{"id":"","label":"native","localized":"","hint":"","ui":"settings_text_encoder"},
@@ -1034,13 +1036,13 @@
{"id":"","label":"Offload processor","localized":"","hint":"","ui":"control"},
{"id":"","label":"Output directory","localized":"","hint":"Folder where the processed images should be saved to","ui":"extras"},
{"id":"","label":"original","localized":"","hint":"Original LDM backend","ui":"settings_sd"},
- {"id":"","label":"Offload caption models","localized":"","hint":"","ui":"settings_offload"},
- {"id":"","label":"Offload during pre-forward","localized":"","hint":"","ui":"settings_offload"},
- {"id":"","label":"Offload using streams","localized":"","hint":"","ui":"settings_offload"},
- {"id":"","label":"Offload low watermark","localized":"","hint":"","ui":"settings_offload"},
- {"id":"","label":"Offload GPU high watermark","localized":"","hint":"","ui":"settings_offload"},
- {"id":"","label":"Offload CPU high watermark","localized":"","hint":"","ui":"settings_offload"},
- {"id":"","label":"Offload blocks","localized":"","hint":"","ui":"settings_offload"},
+ {"id":"","label":"Offload caption models","localized":"","hint":"Moves captioning and interrogation models out of VRAM when they are not in use, freeing memory for generation.
Enabled by default.","ui":"settings_offload"},
+ {"id":"","label":"Offload during pre-forward","localized":"","hint":"In balanced offload, rebalances VRAM just before each component runs rather than on demand.
Applies only to balanced offload.
Enabled by default.","ui":"settings_offload"},
+ {"id":"","label":"Offload using streams","localized":"","hint":"In balanced offload, uses CUDA streams to overlap weight transfers with computation, hiding transfer latency.
Faster, but uses more VRAM and needs a compatible GPU.
Applies only to balanced offload.
Disabled by default.","ui":"settings_offload"},
+ {"id":"","label":"Offload low watermark","localized":"","hint":"Lower VRAM threshold for balanced offload, as a fraction of total GPU memory. While VRAM use stays below this, nothing is offloaded; above it, idle components are moved back to RAM.
Applies only to balanced offload. --lowvram and --medvram set this to 0.
Default by GPU memory: 0 at 12 GB or less, 0.2 above.","ui":"settings_offload"},
+ {"id":"","label":"Offload GPU high watermark","localized":"","hint":"Upper VRAM threshold for balanced offload, as a fraction of total GPU memory. Sets the most VRAM a single component may use before it is offloaded.
Applies only to balanced offload.
Default by GPU memory: 0.6, rising to 0.8 at 24 GB or more.","ui":"settings_offload"},
+ {"id":"","label":"Offload CPU high watermark","localized":"","hint":"Upper system-RAM threshold for offloaded weights in balanced offload, as a fraction of total RAM.
Applies only to balanced offload.
Default is 0.9.","ui":"settings_offload"},
+ {"id":"","label":"Offload blocks","localized":"","hint":"Number of transformer blocks per offload group when Group offload type is block_level. Larger groups offload less often (faster, more VRAM); smaller groups save more memory.
Applies only to group offload with block_level.
Default is 1.","ui":"settings_offload"},
{"id":"","label":"OpenVINO activations mode","localized":"","hint":"","ui":"settings_quantization"},
{"id":"","label":"ONNX Execution Provider","localized":"","hint":"","ui":"settings_backends"},
{"id":"","label":"ONNX allow fallback to CPU","localized":"","hint":"Allow fallback to CPU when selected execution provider failed","ui":"settings_backends"},
@@ -1235,7 +1237,7 @@
{"id":"","label":"Rebase","localized":"","hint":"","ui":"tab_update"},
{"id":"","label":"Repos","localized":"","hint":"","ui":"component-8779"},
{"id":"","label":"Refiner model","localized":"","hint":"Refiner model used for second-pass operations","ui":"settings_sd"},
- {"id":"","label":"Record torch streams","localized":"","hint":"","ui":"settings_offload"},
+ {"id":"","label":"Record torch streams","localized":"","hint":"Records CUDA stream usage during group offload so reused buffers stay correct when Use torch streams is enabled.
Applies only to group offload with streams.
Disabled by default.","ui":"settings_offload"},
{"id":"","label":"Remote VAE image type","localized":"","hint":"","ui":"settings_vae_encoder"},
{"id":"","label":"Remote VAE for encode","localized":"","hint":"","ui":"settings_vae_encoder"},
{"id":"","label":"RAS enabled","localized":"","hint":"","ui":"settings_advanced"},
@@ -1559,7 +1561,7 @@
{"id":"","label":"Use spaces","localized":"","hint":"Replace underscores with spaces in tag output.
Some prompt systems prefer spaces between words (e.g., 'long hair') while others use underscores (e.g., 'long_hair').","ui":"caption"},
{"id":"","label":"Username","localized":"","hint":"","ui":"component-8823"},
{"id":"","label":"UNET model","localized":"","hint":"","ui":"settings_sd"},
- {"id":"","label":"Use torch streams","localized":"","hint":"","ui":"settings_offload"},
+ {"id":"","label":"Use torch streams","localized":"","hint":"In group offload, uses CUDA streams to prefetch the next group while the current one runs, hiding transfer latency.
Faster, but uses more VRAM.
Applies only to group offload.
Disabled by default.","ui":"settings_offload"},
{"id":"","label":"Use SVD quantization","localized":"","hint":"Adds a low-rank (SVDQuant) correction on top of SDNQ to recover accuracy lost at low bit widths, at the cost of extra size and compute.
Tuned by SVD rank size and SVD steps.
Disabled by default.","ui":"settings_quantization"},
{"id":"","label":"Use Dynamic quantization","localized":"","hint":"Picks a per-layer weight type automatically instead of one type everywhere. Each layer starts at the Quantization type (the minimum) and steps up to higher precision until its error meets the Dynamic loss threshold.
Protects error-sensitive layers at the cost of a larger model and slower load.
Disabled by default.","ui":"settings_quantization"},
{"id":"","label":"Use Hadamard rotations","localized":"","hint":"Applies a Hadamard rotation before quantizing to spread out weight outliers, which can improve accuracy at low bit widths.
Group size is set by Hadamard group size.
Disabled by default.","ui":"settings_quantization"},