File size: 3,573 Bytes
13d5b49 700763d 13d5b49 700763d 13d5b49 700763d 13d5b49 700763d 13d5b49 700763d 13d5b49 700763d 13d5b49 700763d 13d5b49 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | ---
license: apache-2.0
base_model:
- Qwen/Qwen3-32B
pipeline_tag: text-generation
tags:
- comfyui
- qwen3
- int8
- w4a8
- w6a8
- convrot
- text-generation
---
# Language models for ComfyUI
Language models converted to one ComfyUI file each, quantized in ComfyUI's own formats, for
writing text inside a graph: prompt writing, chat and retrieval. Load them with the **Language
Model Loader** node from [WAS Node Suite](https://github.com/WASasquatch/was-node-suite-comfyui),
which hands a CLIP to core **Generate Text**, **Fast Generate Text** and **LLM From CLIP**.
## Files
Put them in `ComfyUI/models/text_encoders`.
| Model | File | Size | Weights | Writing speed, RTX 4090 24 GB |
|---|---|--:|---|--:|
| [Qwen3 32B](https://huggingface.co/Qwen/Qwen3-32B) | [`Qwen3-32B/qwen3_32b_w4a8.safetensors`](Qwen3-32B/qwen3_32b_w4a8.safetensors) | 19.1 GB | 4-bit weights in groups of 16, 8-bit activations | 27.6 tokens/s |
| | [`Qwen3-32B/qwen3_32b_w6a8.safetensors`](Qwen3-32B/qwen3_32b_w6a8.safetensors) | 26.0 GB | 6-bit weights in groups of 32, 8-bit activations | 3.3 tokens/s |
| | [`Qwen3-32B/qwen3_32b_int8_convrot.safetensors`](Qwen3-32B/qwen3_32b_int8_convrot.safetensors) | 32.8 GB | 8-bit weights | 1.5 tokens/s |
Speeds are Fast Generate Text's graph decode, greedy, with ComfyUI's `--reserve-vram 2`. A file
that fits on the graphics card runs from it; a larger one streams part of its weights from system
memory for every token, which is why w6a8 and int8 are slow on a 24 GB card. On a 32 GB card the
w6a8 file fits. Licence for all three: [Apache-2.0](Qwen3-32B/LICENSE),
[notice](Qwen3-32B/NOTICE.md).
| | w4a8 | w6a8 | int8 convrot |
|---|--:|--:|--:|
| Mean weight error of the layer linears | 7.3% | 2.3% | 0.91% |
## Qwen3 32B
Qwen's dense 32B model with its own output layer, all 64 layers, 40,960 tokens of context, and
the hybrid thinking switch: Generate Text's `thinking` input turns reasoning on, and off it answers
straight away. All three files gave the same greedy answer to the same question.
- Every layer's linears are quantized, each row rotated by a 256-wide Hadamard block before
rounding (ConvRot, as Comfy-Org quantizes its Qwen text encoders). The embedding and the output
layer are int8 in every file. Norms stay bfloat16.
- Tensor names are Qwen's own (`model.layers.0.self_attn.q_proj.weight`, `lm_head.weight`), with
a `comfy_quant` tag beside each quantized layer.
- In the w4a8 and w6a8 files each layer's `mlp.down_proj`, 25,600 inputs wide, is stored as two
12,800-wide column halves, `mlp.down_proj.parts.0` and `mlp.down_proj.parts.1`, whose outputs
add up to the layer's. ComfyUI's 4-bit and 6-bit kernels take a layer up to 17,408 inputs wide.
Language Model Loader adds the halves back up.
- ComfyUI's **Load CLIP** does not read a 32B Qwen3: it takes a 5120-wide Qwen3 for Mistral 24B.
**Language Model Loader** builds it on ComfyUI's own Qwen3 model.
- w4a8 and w6a8 need an RTX 30 series card or newer; int8 convrot an RTX 20 series or newer.
- It reads text only. MiniMax H3's `qwen3vl_32b` text encoder is a different file: the first 50
layers of Qwen3-VL 32B with no output layer, which conditions H3 and cannot write text.
Tested with ComfyUI 0.42.
## License
Qwen3 32B is by the Qwen team at Alibaba Cloud and is licensed under the Apache License 2.0, a copy
of which is in [`Qwen3-32B/LICENSE`](Qwen3-32B/LICENSE). The files here are modified from
[Qwen/Qwen3-32B](https://huggingface.co/Qwen/Qwen3-32B) by WAS: what changed is listed in
[`Qwen3-32B/NOTICE.md`](Qwen3-32B/NOTICE.md).
|