mirror of
https://github.com/vladmandic/automatic
synced 2026-09-07 05:20:47 +02:00
refactor(settings): reorganize the offload settings by mode
The offload section interleaved shared and mode-specific options. The page now reads top down: general options, an Offload Overrides section holding the exclusions shared by balanced and group offload, then one tuning section per mode. Use torch streams becomes Prefetch with streams and Record torch streams becomes Overlap stream transfers, the section headers carry hints, and the hints reflect live behavior, including dropping the model-reload badge from options that apply on change.
This commit is contained in:
@@ -52,6 +52,7 @@
|
||||
- offload: components entered through encode or decode are detected by structure rather than by name
|
||||
- offload: group offload honors the never-offload and model-type exclusion settings
|
||||
- offload: offload options take effect when changed instead of waiting for a model reload
|
||||
- settings: offload settings grouped into shared overrides and per-mode sections
|
||||
- hf progress bars
|
||||
- ltx: send the guidance stack and cross-timestep on every 2.x call path
|
||||
- ltx: distilled variants no longer force dynamic shifting on, which remapped their sigma schedule
|
||||
|
||||
@@ -138,19 +138,20 @@ def create_settings(cmd_opts):
|
||||
"offload_sep": OptionInfo("<h2>Model Offloading</h2>", "", gr.HTML),
|
||||
"diffusers_offload_mode": OptionInfo(startup_offload_mode, "Model offload mode", gr.Radio, {"choices": ['none', 'balanced', 'group', 'model', 'sequential']}),
|
||||
"diffusers_offload_nonblocking": OptionInfo(False, "Non-blocking move operations"),
|
||||
"offload_overrides_sep": OptionInfo("<h2>Offload Overrides</h2>", "", gr.HTML),
|
||||
"models_not_to_offload": OptionInfo("", "Model types not to offload"),
|
||||
"diffusers_offload_always": OptionInfo(startup_offload_always, "Modules to always offload"),
|
||||
"diffusers_offload_never": OptionInfo(startup_offload_never, "Modules to never offload"),
|
||||
"offload_balanced_sep": OptionInfo("<h2>Balanced Offload</h2>", "", gr.HTML),
|
||||
"diffusers_offload_pre": OptionInfo(True, "Offload during pre-forward", gr.Checkbox, {"visible": False}),
|
||||
"diffusers_offload_streams": OptionInfo(False, "Offload using streams"),
|
||||
"diffusers_offload_min_gpu_memory": OptionInfo(startup_offload_min_gpu, "Offload low watermark", gr.Slider, {"minimum": 0, "maximum": 1, "step": 0.01 }),
|
||||
"diffusers_offload_max_gpu_memory": OptionInfo(startup_offload_max_gpu, "Offload GPU high watermark", gr.Slider, {"minimum": 0.1, "maximum": 1, "step": 0.01 }),
|
||||
"diffusers_offload_max_cpu_memory": OptionInfo(0.90, "Offload CPU high watermark", gr.Slider, {"minimum": 0, "maximum": 1, "step": 0.01, "visible": False }),
|
||||
"models_not_to_offload": OptionInfo("", "Model types not to offload"),
|
||||
"diffusers_offload_always": OptionInfo(startup_offload_always, "Modules to always offload"),
|
||||
"diffusers_offload_never": OptionInfo(startup_offload_never, "Modules to never offload"),
|
||||
"offload_group_sep": OptionInfo("<h2>Group Offload</h2>", "", gr.HTML),
|
||||
"group_offload_type": OptionInfo("leaf_level", "Group offload type", gr.Radio, {"choices": ['leaf_level', 'block_level']}),
|
||||
"group_offload_stream": OptionInfo(False, "Use torch streams", gr.Checkbox),
|
||||
'group_offload_record': OptionInfo(False, "Record torch streams", gr.Checkbox),
|
||||
"group_offload_stream": OptionInfo(False, "Prefetch with streams", gr.Checkbox),
|
||||
'group_offload_record': OptionInfo(False, "Overlap stream transfers", gr.Checkbox),
|
||||
'group_offload_pin': OptionInfo(True, "Pin offload memory", gr.Checkbox),
|
||||
'group_offload_blocks': OptionInfo(1, "Offload blocks", gr.Number),
|
||||
"caption_offload_sep": OptionInfo("<h2>Caption Model Offloading</h2>", "", gr.HTML),
|
||||
|
||||
+12
-11
@@ -161,7 +161,7 @@
|
||||
{"id":"","label":"Benchmark","localized":"","hint":"Run benchmarks"},
|
||||
{"id":"","label":"Backend Settings","localized":"","hint":"Settings related to compute backends: torch, onnx and olive"},
|
||||
{"id":"","label":"Beta","localized":"","hint":"","ui":"component-5674"},
|
||||
{"id":"","label":"Balanced Offload","localized":"","hint":"","ui":"settings_offload"},
|
||||
{"id":"","label":"Balanced Offload","localized":"","hint":"Moves whole components between VRAM and system memory as each one is needed, keeping as much on the GPU as the watermarks below allow.<br>Suited to models whose individual components fit in VRAM; a single component larger than the card still will not fit.<br><br>Applies only when <b><i>Model offload mode</i></b> is <b>balanced</b>.","ui":"settings_offload"},
|
||||
{"id":"","label":"BitsAndBytes","localized":"","hint":"","ui":"settings_quantization"},
|
||||
{"id":"","label":"Batch count","localized":"","hint":"How many batches of images to create (has no impact on generation performance or VRAM usage)","ui":"txt2img"},
|
||||
{"id":"","label":"Batch size","localized":"","hint":"How many image to create in a single batch (increases generation performance at cost of higher VRAM usage)","ui":"txt2img"},
|
||||
@@ -621,8 +621,8 @@
|
||||
{"id":"get_changelog","label":"Get Changelog","localized":"","hint":"","ui":"system_tab_changelog"},
|
||||
{"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 <b>group</b> offload.<br>- <b>leaf_level</b>: offloads at the smallest module level; maximum memory savings, slower<br>- <b>block_level</b>: offloads groups of transformer blocks (size set by <b><i>Offload blocks</i></b>); faster with less savings<br>Text encoders always offload at leaf level. Small VAEs stay resident on the GPU; VAEs above 1GB rest in system memory and load whole for each encode or decode.<br><br>Applies only when <b><i>Model offload mode</i></b> is <b>group</b>.<br><br>Default is <b>leaf_level</b>.","reload":"model","ui":"settings_offload"},
|
||||
{"id":"","label":"Group Offload","localized":"","hint":"Offloads components in groups of layers rather than as a whole, so only the layers in use occupy VRAM.<br>Lets a single component larger than the card run, at the cost of transferring weights throughout every step.<br><br>Applies only when <b><i>Model offload mode</i></b> is <b>group</b>.","ui":"settings_offload"},
|
||||
{"id":"","label":"Group offload type","localized":"","hint":"Granularity used by <b>group</b> offload.<br>- <b>leaf_level</b>: offloads at the smallest module level; maximum memory savings, slower<br>- <b>block_level</b>: offloads groups of transformer blocks (size set by <b><i>Offload blocks</i></b>); faster with less savings<br>This setting applies to the parts of the model that run at every step. Components used once per generation, such as text encoders, always offload at <b>leaf_level</b>. The VAE is handled separately: it waits in system memory and loads as a whole when encoding or decoding.<br>Anything named in <b><i>Modules to never offload</i></b> or <b><i>Model types not to offload</i></b> stays in VRAM instead.<br><br>Applies only when <b><i>Model offload mode</i></b> is <b>group</b>.<br><br>Default is <b>leaf_level</b>.","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"},
|
||||
@@ -881,7 +881,7 @@
|
||||
{"id":"","label":"Models & Networks","localized":"","hint":"View lists of all available models and networks"},
|
||||
{"id":"","label":"Model Loading","localized":"","hint":"Settings related to how model is loaded"},
|
||||
{"id":"","label":"Model Options","localized":"","hint":"Settings related to behavior of specific models"},
|
||||
{"id":"","label":"Model Offloading","localized":"","hint":"Settings related to model offloading and memory management"},
|
||||
{"id":"","label":"Model Offloading","localized":"","hint":"Moving model components between VRAM and system memory so that models larger than the GPU can still run, at the cost of transfer time on every generation.<br>The settings directly below apply to every mode. <b><i>Offload Overrides</i></b> holds exceptions honored by <b>balanced</b> and <b>group</b> offload; each of those modes then has its own tuning section.<br><br>Start with <b><i>Model offload mode</i></b>; the rest only take effect once a mode that uses them is selected."},
|
||||
{"id":"","label":"Model Quantization","localized":"","hint":"Settings related to model quantization which is used to reduce memory usage"},
|
||||
{"id":"","label":"Model Compile","localized":"","hint":"Settings related to different model compilation methods"},
|
||||
{"id":"","label":"Metadata","localized":"","hint":"Update metadata for all available models"},
|
||||
@@ -945,9 +945,9 @@
|
||||
{"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 offload mode","localized":"","hint":"Controls how model components move between VRAM and system RAM to fit larger models on less VRAM.<br>- <b>none</b>: keeps everything on the GPU; fastest, but only works if the whole model fits in VRAM<br>- <b>balanced</b>: the recommended default; offloads only when VRAM use crosses a threshold, so it suits almost any GPU (tuned by the watermarks below)<br>- <b>group</b>: offloads groups of layers via diffusers group offloading; an alternative middle ground with optional stream prefetch<br>- <b>model</b>: 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<br>- <b>sequential</b>: offloads layer by layer; the most memory saving but slowest, for when even balanced runs out of memory<br><br>Command-line flags override the automatic choice:<br>- <code>--lowvram</code>: forces <b>sequential</b><br>- <code>--medvram</code>: forces <b>balanced</b> with low watermark <b>0</b><br><br>With no flag, <b>balanced</b> is the automatic default on any GPU, with watermarks set by GPU memory (low / high):<br>- 12 GB or less: <b>0</b> / <b>0.6</b><br>- 12-24 GB: <b>0.2</b> / <b>0.6</b><br>- 24 GB or more: <b>0.2</b> / <b>0.8</b><br>(or <b>none</b> if no GPU is detected)","reload":"model","ui":"settings_offload"},
|
||||
{"id":"","label":"Model types not to offload","localized":"","hint":"Model architectures to skip when offloading, separated by spaces or commas.<br>Useful for model types that misbehave when offloaded.<br><br>Applies only to <b>balanced</b> offload.<br><br>Default is empty.","ui":"settings_offload"},
|
||||
{"id":"","label":"Modules to always offload","localized":"","hint":"Modules that are always offloaded in <b>balanced</b> mode, separated by spaces, commas, or semicolons, regardless of the watermarks.<br>Entries match either a class name (<i>T5EncoderModel</i>) or a pipeline component name (<i>text_encoder</i>, <i>text_encoder_2</i>).<br>A component entry covers every model architecture without naming each encoder class.<br><br>Applies only to <b>balanced</b> offload.<br><br>Default by GPU memory: the large text encoders (<i>T5</i>, <i>UMT5</i>) are added at roughly 4-12 GB and at 24 GB or more; empty otherwise.","reload":"model","ui":"settings_offload"},
|
||||
{"id":"","label":"Modules to never offload","localized":"","hint":"Modules that are never offloaded in <b>balanced</b> mode, separated by spaces, commas, or semicolons, keeping them resident in VRAM.<br>Entries match either a class name (<i>CLIPTextModel</i>) or a pipeline component name (<i>vae</i>).<br>This list takes precedence, so a class entry here exempts one model from a component entry in <b><i>Modules to always offload</i></b>.<br><br>Applies only to <b>balanced</b> offload.<br><br>Default by GPU memory: the CLIP text encoders and the VAE are kept resident at 24 GB or more; empty otherwise.","reload":"model","ui":"settings_offload"},
|
||||
{"id":"","label":"Model types not to offload","localized":"","hint":"Model architectures to skip when offloading, separated by spaces or commas.<br>Useful for model types that misbehave when offloaded.<br><br>Applies to <b>balanced</b> and <b>group</b> offload.<br><br>Default is empty.","ui":"settings_offload"},
|
||||
{"id":"","label":"Modules to always offload","localized":"","hint":"Modules that are always offloaded in <b>balanced</b> mode, separated by spaces, commas, or semicolons, regardless of the watermarks.<br>Entries match either a class name (<i>T5EncoderModel</i>) or a pipeline component name (<i>text_encoder</i>, <i>text_encoder_2</i>).<br>A component entry covers every model architecture without naming each encoder class.<br><br>Applies only to <b>balanced</b> offload, since <b>group</b> offload returns every component it manages to system memory anyway.<br><br>Default is empty.","ui":"settings_offload"},
|
||||
{"id":"","label":"Modules to never offload","localized":"","hint":"Modules that are never offloaded, separated by spaces, commas, or semicolons, keeping them resident in VRAM.<br>Entries match either a class name (<i>CLIPTextModel</i>) or a pipeline component name (<i>vae</i>).<br>This list takes precedence, so a class entry here exempts one model from a component entry in <b><i>Modules to always offload</i></b>.<br><br>Applies to <b>balanced</b> and <b>group</b> offload.<br><br>Default by GPU memory: the CLIP text encoders and the VAE are kept resident at 22 GB or more; empty otherwise.","ui":"settings_offload"},
|
||||
{"id":"","label":"Model types not to quantize","localized":"","hint":"Model families that quantization always skips, even when it is otherwise enabled. Space or comma separated list of model type codes; when the loaded model matches, none of its components are quantized.<br><br>Codes are the short family names shown in the load log, such as <code>sd</code>, <code>sdxl</code>, <code>sd3</code>, <code>f1</code>.<br><br>Example: <code>sd sdxl</code> leaves <i>SD</i> and <i>SDXL</i> checkpoints in full precision while other families are still quantized.<br><br>Applies to all quantization backends.<br><br>Default is empty.","reload":"model","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.<br>Useful for layers that are sensitive to quantization, such as gate or projection layers. Example: <code>proj_out, x_embedder</code>.<br><br>Some models already exclude sensitive modules by default; entries here extend that built-in list rather than replacing it.<br><br>Default is empty.","reload":"model","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 <b><i>Quantization type</i></b>. Example: <code>{\"uint4\": [\"proj_out\"]}</code>.<br><br>Some models already assign certain modules a specific type by default; entries here merge with those built-in mappings rather than replacing them.<br><br>Default is empty.","reload":"model","ui":"settings_quantization"},
|
||||
@@ -1046,7 +1046,9 @@
|
||||
{"id":"","label":"Offload low watermark","localized":"","hint":"Lower VRAM threshold for <b>balanced</b> 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.<br><br>Applies only to <b>balanced</b> offload. <code>--lowvram</code> and <code>--medvram</code> set this to <b>0</b>.<br><br>Default by GPU memory: <b>0</b> at 12 GB or less, <b>0.2</b> above.","ui":"settings_offload"},
|
||||
{"id":"","label":"Offload GPU high watermark","localized":"","hint":"Upper VRAM threshold for <b>balanced</b> offload, as a fraction of total GPU memory. Sets the most VRAM a single component may use before it is offloaded.<br><br>Applies only to <b>balanced</b> offload.<br><br>Default by GPU memory: <b>0.6</b>, rising to <b>0.8</b> at 24 GB or more.","ui":"settings_offload"},
|
||||
{"id":"","label":"Offload CPU high watermark","localized":"","hint":"Upper system-RAM threshold for offloaded weights in <b>balanced</b> offload, as a fraction of total RAM.<br><br>Applies only to <b>balanced</b> offload.<br><br>Default is <b>0.9</b>.","ui":"settings_offload"},
|
||||
{"id":"","label":"Offload blocks","localized":"","hint":"Number of transformer blocks per offload group when <b><i>Group offload type</i></b> is <b>block_level</b>. Larger groups offload less often (faster, more VRAM); smaller groups save more memory.<br><br>Applies only to <b>group</b> offload with <b>block_level</b>.<br><br>Default is <b>1</b>.","reload":"model","ui":"settings_offload"},
|
||||
{"id":"","label":"Offload Overrides","localized":"","hint":"Exceptions to the behavior chosen by <b><i>Model offload mode</i></b>, matched by model architecture or by pipeline component.<br>Use these to keep a component in VRAM when the mode would offload it, or to offload one the mode would keep.<br>The module lists match either a class name (<i>CLIPTextModel</i>) or a component name (<i>vae</i>); a component name covers every architecture at once.<br><br>Applies to <b>balanced</b> and <b>group</b> offload; <b><i>Modules to always offload</i></b> applies to <b>balanced</b> only.","ui":"settings_offload"},
|
||||
{"id":"","label":"Overlap stream transfers","localized":"","hint":"Skips a stream synchronization each time a group offloads, letting transfers and compute overlap more tightly.<br>Slightly faster at the cost of slightly higher VRAM use; correctness is maintained either way.<br>Has no effect unless <b><i>Prefetch with streams</i></b> is enabled.<br><br>Applies only to <b>group</b> offload with streams.<br><br>Disabled by default.","ui":"settings_offload"},
|
||||
{"id":"","label":"Offload blocks","localized":"","hint":"Number of transformer blocks per offload group when <b><i>Group offload type</i></b> is <b>block_level</b>. Larger groups offload less often (faster, more VRAM); smaller groups save more memory.<br><br>Applies only to <b>group</b> offload with <b>block_level</b>.<br><br>Default is <b>1</b>.","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"},
|
||||
@@ -1070,7 +1072,8 @@
|
||||
{"id":"","label":"OpenBody","localized":"","hint":"","ui":"control"}
|
||||
],
|
||||
"p": [
|
||||
{"id":"","label":"Pin offload memory","localized":"","hint":"Keeps the CPU copy of every stream-offloaded weight in pinned non-pageable memory for the fastest transfers, at a host memory cost equal to the full module size.<br>When disabled, memory is pinned one group at a time during transfer: slower, but the weights stay pageable and use no extra memory at rest.<br>Modules larger than half of system memory fall back to per-group pinning automatically.<br><br>Applies only to <b>group</b> offload with <b><i>Use torch streams</i></b> enabled.<br><br>Enabled by default.","reload":"model","ui":"settings_offload"},
|
||||
{"id":"","label":"Prefetch with streams","localized":"","hint":"In <b>group</b> offload, uses CUDA streams to prefetch the next group while the current one runs, hiding transfer latency.<br>Faster, but offloaded weights are then staged in pinned non-pageable host memory: the whole module when <b><i>Pin offload memory</i></b> is enabled, one group at a time otherwise.<br>Components used once per generation, such as text encoders, are exempt and always offload without streams.<br><br>Applies only to <b>group</b> offload.<br><br>Disabled by default.","ui":"settings_offload"},
|
||||
{"id":"","label":"Pin offload memory","localized":"","hint":"Keeps the CPU copy of every stream-offloaded weight in pinned non-pageable memory for the fastest transfers, at a host memory cost equal to the full module size.<br>When disabled, memory is pinned one group at a time during transfer: slower, but the weights stay pageable and use no extra memory at rest.<br>A component too large for the system memory free when it loads falls back to <b>block_level</b> without streams; some memory is always left for the rest of the system.<br><br>Applies only to <b>group</b> offload with <b><i>Prefetch with streams</i></b> enabled.<br><br>Enabled by default.","ui":"settings_offload"},
|
||||
{"id":"extras_nav","label":"Process","localized":"","hint":"Process existing image<br>Can be used to upscale images, remove backgrounds, obfuscate NSFW content, apply various filters and effects"},
|
||||
{"id":"txt2img_prompts","label":"Prompts","localized":"","hint":"Image prompt and negative prompt","ui":"txt2img"},
|
||||
{"id":"txt2img_pause","label":"Pause","localized":"","hint":"Pause processing","ui":"txt2img"},
|
||||
@@ -1241,7 +1244,6 @@
|
||||
{"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":"Skips a stream synchronization each time a group offloads, letting transfers and compute overlap more tightly.<br>Slightly faster at the cost of slightly higher VRAM use; correctness is maintained either way.<br>Has no effect unless <b><i>Use torch streams</i></b> is enabled.<br><br>Applies only to <b>group</b> offload with streams.<br><br>Disabled by default.","reload":"model","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"},
|
||||
@@ -1566,7 +1568,6 @@
|
||||
{"id":"","label":"Username","localized":"","hint":"","ui":"component-8823"},
|
||||
{"id":"","label":"UNET model","localized":"","hint":"","ui":"settings_sd"},
|
||||
{"id":"","label":"UNET model secondary","localized":"","hint":"Override for the second transformer of dual-transformer architectures:<br>- <b>Ideogram 4</b>: the unconditional transformer<br>- <b>Wan</b> combined stage: the second expert (transformer_2)<br><br>Shown only when the loaded model has a second transformer.<br>Default loads the component from the base model.","ui":"settings_sd"},
|
||||
{"id":"","label":"Use torch streams","localized":"","hint":"In <b>group</b> offload, uses CUDA streams to prefetch the next group while the current one runs, hiding transfer latency.<br>Faster, but offloaded weights are then staged in pinned non-pageable host memory: the whole module when <b><i>Pin offload memory</i></b> is enabled, one group at a time otherwise.<br>Text encoders are exempt and always offload without streams.<br><br>Applies only to <b>group</b> offload.<br><br>Disabled by default.","reload":"model","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.<br>Tuned by <b><i>SVD rank size</i></b> and <b><i>SVD steps</i></b>.<br><br>Disabled by default.","reload":"model","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 <b><i>Quantization type</i></b> (the minimum) and steps up to higher precision until its error meets the <b><i>Dynamic loss threshold</i></b>.<br>Protects error-sensitive layers at the cost of a larger model and slower load.<br><br>Disabled by default.","reload":"model","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.<br>Group size is set by <b><i>Hadamard group size</i></b>.<br><br>Disabled by default.","reload":"model","ui":"settings_quantization"},
|
||||
|
||||
Reference in New Issue
Block a user