I'm trying to run Qwen3.5 122b. The Unsloth quantized models are not starting up.

#16
by aldubl - opened

Hellow! I'm trying to run Qwen3.5 122b on my relatively weak system. I have an i5 12400f processor, a 4070 graphics card with 12GB of VRAM, and 96GB of RAM. The Unsloth quantized models are not starting up. The Bartowski quantized models start and run correctly. What could be the reason for this?

Quantized model Bartowski:

Qwen_Qwen3.5-122B-A10B-Q4_K_M-00001-of-00002.gguf

Command:

M:\Soft\llama.cpp\build\bin\Release\llama-server.exe --model G:\LlamaModels\Qwen_Qwen3.5-122B-A10B-Q4_K_M-00001-of-00002.gguf --port ${PORT} --ctx-size 64000 --fit on --fit-target 512 --fit-ctx 16384 --host 0.0.0.0 --temp 0.6 --top-p 0.95 --top-k 20 --min-p 0.00 --presence-penalty 1.5

It's ok.

Quantized model (UD):

Qwen3.5-122B-A10B-UD-Q3_K_XL-00001-of-00003.gguf
Qwen3.5-122B-A10B-UD-Q4_K_XL-00001-of-00003.gguf

Not working.

Command:

M:\Soft\llama.cpp\build\bin\Release\llama-server.exe --model G:\LlamaModels\Qwen3.5-122B-A10B-UD-Q4_K_XL-00001-of-00003.gguf --port ${PORT} --ctx-size 32000 --fit on --fit-target 512 --fit-ctx 16384 --host 0.0.0.0 --temp 0.6 --top-p 0.95 --top-k 20 --min-p 0.00 --presence-penalty 1.5

M:\Soft\llama.cpp\build\bin\Release\llama-server.exe --model G:\LlamaModels\Qwen3.5-122B-A10B-UD-Q3_K_XL-00001-of-00003.gguf --port ${PORT} --ctx-size 32000 --fit on --fit-target 512 --fit-ctx 16384 --host 0.0.0.0 --temp 0.6 --top-p 0.95 --top-k 20 --min-p 0.00 --presence-penalty 1.5

Q3 output:

ggml_cuda_init: found 1 CUDA devices:
Device 0: NVIDIA GeForce RTX 4070, compute capability 8.9, VMM: yes
main: n_parallel is set to auto, using n_parallel = 4 and kv_unified = true
build: 8233 (c5a778891) with MSVC 19.43.34808.0 for x64
system info: n_threads = 6, n_threads_batch = 6, total_threads = 12

system_info: n_threads = 6 (n_threads_batch = 6) / 12 | CUDA : ARCHS = 890 | USE_GRAPHS = 1 | PEER_MAX_BATCH_SIZE = 128 | CPU : SSE3 = 1 | SSSE3 = 1 | AVX = 1 | AVX2 = 1 | F16C = 1 | FMA = 1 | LLAMAFILE = 1 | OPENMP = 1 | REPACK = 1 |

init: using 11 threads for HTTP server
start: binding port with default address family
main: loading model
srv load_model: loading model 'G:\LlamaModels\Qwen3.5-122B-A10B-UD-Q3_K_XL-00001-of-00003.gguf'
common_init_result: fitting params to device memory, for bugs during this step try to reproduce them with -fit off, or provide --verbose logs if the bug only occurs with -fit on
llama_params_fit_impl: projected to use 55391 MiB of device memory vs. 10492 MiB of free device memory
llama_params_fit_impl: cannot meet free memory target of 512 MiB, need to reduce device memory by 45411 MiB
llama_params_fit_impl: context size set by user to 32000 -> no change
llama_params_fit_impl: with only dense weights in device memory there is a total surplus of 2479 MiB
llama_params_fit_impl: filling dense-only layers back-to-front:
llama_params_fit_impl: - CUDA0 (NVIDIA GeForce RTX 4070): 49 layers, 8496 MiB used, 1995 MiB free
llama_params_fit_impl: converting dense-only layers to full layers and filling them front-to-back with overflow to next device/system memory:
llama_params_fit_impl: - CUDA0 (NVIDIA GeForce RTX 4070): 49 layers (47 overflowing), 9708 MiB used, 783 MiB free
llama_params_fit: successfully fit params to free device memory
llama_params_fit: fitting params to free memory took 0.51 seconds
llama_model_load_from_file_impl: using device CUDA0 (NVIDIA GeForce RTX 4070) (0000:01:00.0) - 11090 MiB free
llama_model_loader: additional 2 GGUFs metadata loaded.
llama_model_loader: loaded meta data with 55 key-value pairs and 879 tensors from G:\LlamaModels\Qwen3.5-122B-A10B-UD-Q3_K_XL-00001-of-00003.gguf (version GGUF V3 (latest))
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
llama_model_loader: - kv 0: general.architecture str = qwen35moe
llama_model_loader: - kv 1: general.type str = model
llama_model_loader: - kv 2: general.sampling.top_k i32 = 20
llama_model_loader: - kv 3: general.sampling.top_p f32 = 0.950000
llama_model_loader: - kv 4: general.sampling.temp f32 = 0.600000
llama_model_loader: - kv 5: general.name str = Qwen3.5-122B-A10B
llama_model_loader: - kv 6: general.basename str = Qwen3.5-122B-A10B
llama_model_loader: - kv 7: general.quantized_by str = Unsloth
llama_model_loader: - kv 8: general.size_label str = 122B-A10B
llama_model_loader: - kv 9: general.license str = apache-2.0
llama_model_loader: - kv 10: general.license.link str = https://huggingface.co/Qwen/Qwen3.5-1...
llama_model_loader: - kv 11: general.repo_url str = https://huggingface.co/unsloth
llama_model_loader: - kv 12: general.base_model.count u32 = 1
llama_model_loader: - kv 13: general.base_model.0.name str = Qwen3.5 122B A10B
llama_model_loader: - kv 14: general.base_model.0.organization str = Qwen
llama_model_loader: - kv 15: general.base_model.0.repo_url str = https://huggingface.co/Qwen/Qwen3.5-1...
llama_model_loader: - kv 16: general.tags arr[str,2] = ["unsloth", "image-text-to-text"]
llama_model_loader: - kv 17: qwen35moe.block_count u32 = 48
llama_model_loader: - kv 18: qwen35moe.context_length u32 = 262144
llama_model_loader: - kv 19: qwen35moe.embedding_length u32 = 3072
llama_model_loader: - kv 20: qwen35moe.attention.head_count u32 = 32
llama_model_loader: - kv 21: qwen35moe.attention.head_count_kv u32 = 2
llama_model_loader: - kv 22: qwen35moe.rope.dimension_sections arr[i32,4] = [11, 11, 10, 0]
llama_model_loader: - kv 23: qwen35moe.rope.freq_base f32 = 10000000.000000
llama_model_loader: - kv 24: qwen35moe.attention.layer_norm_rms_epsilon f32 = 0.000001
llama_model_loader: - kv 25: qwen35moe.expert_count u32 = 256
llama_model_loader: - kv 26: qwen35moe.expert_used_count u32 = 8
llama_model_loader: - kv 27: qwen35moe.attention.key_length u32 = 256
llama_model_loader: - kv 28: qwen35moe.attention.value_length u32 = 256
llama_model_loader: - kv 29: qwen35moe.expert_feed_forward_length u32 = 1024
llama_model_loader: - kv 30: qwen35moe.expert_shared_feed_forward_length u32 = 1024
llama_model_loader: - kv 31: qwen35moe.ssm.conv_kernel u32 = 4
llama_model_loader: - kv 32: qwen35moe.ssm.state_size u32 = 128
llama_model_loader: - kv 33: qwen35moe.ssm.group_count u32 = 16
llama_model_loader: - kv 34: qwen35moe.ssm.time_step_rank u32 = 64
llama_model_loader: - kv 35: qwen35moe.ssm.inner_size u32 = 8192
llama_model_loader: - kv 36: qwen35moe.full_attention_interval u32 = 4
llama_model_loader: - kv 37: qwen35moe.rope.dimension_count u32 = 64
llama_model_loader: - kv 38: tokenizer.ggml.model str = gpt2
llama_model_loader: - kv 39: tokenizer.ggml.pre str = qwen35
llama_model_loader: - kv 40: tokenizer.ggml.tokens arr[str,248320] = ["!", """, "#", "$", "%", "&", "'", ...
llama_model_loader: - kv 41: tokenizer.ggml.token_type arr[i32,248320] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
llama_model_loader: - kv 42: tokenizer.ggml.merges arr[str,247587] = ["Ġ Ġ", "ĠĠ ĠĠ", "i n", "Ġ t",...
llama_model_loader: - kv 43: tokenizer.ggml.eos_token_id u32 = 248046
llama_model_loader: - kv 44: tokenizer.ggml.padding_token_id u32 = 248055
llama_model_loader: - kv 45: tokenizer.chat_template str = {%- set image_count = namespace(value...
llama_model_loader: - kv 46: general.quantization_version u32 = 2
llama_model_loader: - kv 47: general.file_type u32 = 12
llama_model_loader: - kv 48: quantize.imatrix.file str = Qwen3.5-122B-A10B-GGUF/imatrix_unslot...
llama_model_loader: - kv 49: quantize.imatrix.dataset str = unsloth_calibration_Qwen3.5-122B-A10B...
llama_model_loader: - kv 50: quantize.imatrix.entries_count u32 = 612
llama_model_loader: - kv 51: quantize.imatrix.chunks_count u32 = 76
llama_model_loader: - kv 52: split.no u16 = 0
llama_model_loader: - kv 53: split.tensors.count i32 = 879
llama_model_loader: - kv 54: split.count u16 = 3
llama_model_loader: - type f32: 361 tensors
llama_model_loader: - type q8_0: 373 tensors
llama_model_loader: - type q5_K: 1 tensors
llama_model_loader: - type q6_K: 1 tensors
llama_model_loader: - type iq3_xxs: 94 tensors
llama_model_loader: - type iq4_xs: 49 tensors
print_info: file format = GGUF V3 (latest)
print_info: file type = Q3_K - Medium
print_info: file size = 53.05 GiB (3.73 BPW)
load: 0 unused tokens
load: printing all EOG tokens:
load: - 248044 ('<|endoftext|>')
load: - 248046 ('<|im_end|>')
load: - 248063 ('<|fim_pad|>')
load: - 248064 ('<|repo_name|>')
load: - 248065 ('<|file_sep|>')
load: special tokens cache size = 33
load: token to piece cache size = 1.7581 MB
print_info: arch = qwen35moe
print_info: vocab_only = 0
print_info: no_alloc = 0
print_info: n_ctx_train = 262144
print_info: n_embd = 3072
print_info: n_embd_inp = 3072
print_info: n_layer = 48
print_info: n_head = 32
print_info: n_head_kv = 2
print_info: n_rot = 64
print_info: n_swa = 0
print_info: is_swa_any = 0
print_info: n_embd_head_k = 256
print_info: n_embd_head_v = 256
print_info: n_gqa = 16
print_info: n_embd_k_gqa = 512
print_info: n_embd_v_gqa = 512
print_info: f_norm_eps = 0.0e+00
print_info: f_norm_rms_eps = 1.0e-06
print_info: f_clamp_kqv = 0.0e+00
print_info: f_max_alibi_bias = 0.0e+00
print_info: f_logit_scale = 0.0e+00
print_info: f_attn_scale = 0.0e+00
print_info: n_ff = 0
print_info: n_expert = 256
print_info: n_expert_used = 8
print_info: n_expert_groups = 0
print_info: n_group_used = 0
print_info: causal attn = 1
print_info: pooling type = 0
print_info: rope type = 40
print_info: rope scaling = linear
print_info: freq_base_train = 10000000.0
print_info: freq_scale_train = 1
print_info: n_ctx_orig_yarn = 262144
print_info: rope_yarn_log_mul = 0.0000
print_info: rope_finetuned = unknown
print_info: mrope sections = [11, 11, 10, 0]
print_info: ssm_d_conv = 4
print_info: ssm_d_inner = 8192
print_info: ssm_d_state = 128
print_info: ssm_dt_rank = 64
print_info: ssm_n_group = 16
print_info: ssm_dt_b_c_rms = 0
print_info: model type = 122B.A10B
print_info: model params = 122.11 B
print_info: general.name = Qwen3.5-122B-A10B
print_info: vocab type = BPE
print_info: n_vocab = 248320
print_info: n_merges = 247587
print_info: BOS token = 11 ','
print_info: EOS token = 248046 '<|im_end|>'
print_info: EOT token = 248046 '<|im_end|>'
print_info: PAD token = 248055 '<|vision_pad|>'
print_info: LF token = 198 'Ċ'
print_info: FIM PRE token = 248060 '<|fim_prefix|>'
print_info: FIM SUF token = 248062 '<|fim_suffix|>'
print_info: FIM MID token = 248061 '<|fim_middle|>'
print_info: FIM PAD token = 248063 '<|fim_pad|>'
print_info: FIM REP token = 248064 '<|repo_name|>'
print_info: FIM SEP token = 248065 '<|file_sep|>'
print_info: EOG token = 248044 '<|endoftext|>'
print_info: EOG token = 248046 '<|im_end|>'
print_info: EOG token = 248063 '<|fim_pad|>'
print_info: EOG token = 248064 '<|repo_name|>'
print_info: EOG token = 248065 '<|file_sep|>'
print_info: max token length = 256
load_tensors: loading model tensors, this can take a while... (mmap = true, direct_io = false)
load_tensors: offloading output layer to GPU
load_tensors: offloading 47 repeating layers to GPU
load_tensors: offloaded 49/49 layers to GPU
load_tensors: CPU_Mapped model buffer size = 46776.46 MiB
load_tensors: CPU_Mapped model buffer size = 6851.35 MiB
load_tensors: CUDA0 model buffer size = 7668.49 MiB
....................................................................................................
common_init_result: added <|endoftext|> logit bias = -inf
common_init_result: added <|im_end|> logit bias = -inf
common_init_result: added <|fim_pad|> logit bias = -inf
common_init_result: added <|repo_name|> logit bias = -inf
common_init_result: added <|file_sep|> logit bias = -inf
llama_context: constructing llama_context
llama_context: n_seq_max = 4
llama_context: n_ctx = 32000
llama_context: n_ctx_seq = 32000
llama_context: n_batch = 2048
llama_context: n_ubatch = 512
llama_context: causal_attn = 1
llama_context: flash_attn = auto
llama_context: kv_unified = true
llama_context: freq_base = 10000000.0
llama_context: freq_scale = 1
llama_context: n_ctx_seq (32000) < n_ctx_train (262144) -- the full capacity of the model will not be utilized
llama_context: CUDA_Host output buffer size = 3.79 MiB
llama_kv_cache: CUDA0 KV buffer size = 750.00 MiB
llama_kv_cache: size = 750.00 MiB ( 32000 cells, 12 layers, 4/1 seqs), K (f16): 375.00 MiB, V (f16): 375.00 MiB
llama_memory_recurrent: CUDA0 RS buffer size = 596.25 MiB
llama_memory_recurrent: size = 596.25 MiB ( 4 cells, 48 layers, 4 seqs), R (f32): 20.25 MiB, S (f32): 576.00 MiB
sched_reserve: reserving ...
sched_reserve: Flash Attention was auto, set to enabled
sched_reserve: CUDA0 compute buffer size = 693.78 MiB
sched_reserve: CPU compute buffer size = 8.00 MiB
sched_reserve: CUDA_Host compute buffer size = 74.52 MiB
sched_reserve: graph nodes = 8037 (with bs=512), 4545 (with bs=1)
sched_reserve: graph splits = 145 (with bs=512), 98 (with bs=1)
sched_reserve: reserve took 24.13 ms, sched copies = 1
common_init_from_params: warming up the model with an empty run - please wait ... (--no-warmup to disable)
�ᯥ譮: �������, � ������䨪���஬ 14732, ����୨� �������� 7548, ��� �����襭.
�ᯥ譮: �������, � ������䨪���஬ 7548, ����୨� �������� 1676, ��� �����襭.

If you run the model with the --no-warmup flag, it starts up. I've only tested this method with the UD-Q3_K_XL model (about 53GB) so far. However, even after "warming up" the model with some initial requests, it still only achieves a throughput of 7.20 t/s. In contrast, the Bartowski Q4_K_M model (about 70GB) achieves a throughput of 12 t/s. Is there a difference in accuracy?

Sign up or log in to comment