Skip to content

Eval bug: quality regression when loading experts on the GPU compared to CPU offloading #21538

Description

@grumd

Name and Version

latest master branch - b8683-d0a6dfeb2

Operating systems

Linux

GGML backends

CUDA, Vulkan

Hardware

RTX 5080 16 GB

96 GB DDR5 RAM, 9800X3D

Models

unsloth/Qwen3.5-122B-A10B-GGUF:UD-Q4_K_XL

Problem description & steps to reproduce

Depending on the usage of --cpu-moe or -ot, the same model and settings produce very different quality of results.
I'm using this benchmark: https://github.com/nlothian/llm-sql-benchmark

Base command:

llama-server -hf unsloth/Qwen3.5-122B-A10B-GGUF:UD-Q4_K_XL \
  --no-mmproj --no-mmap --jinja -b 4096 -ub 2048 --parallel 1 \
  --temp 0.6 --top-k 20 --top-p 0.95 --min-p 0.01 \
  -c 32000 \
  --cache-ram 0 --seed 3407

Testing only the Hard level tests

Adding -ot '.*_exps\.weight=CPU' to the base command (CUDA):
12/13 pass, 1 fail

Adding --cpu-moe to the base command (CUDA):
12/13 pass, 1 fail

Adding -ot '.*_exps\.weight=CPU' to the base command (Vulkan):
10/13 pass, 2 fail, 1 error

Adding --cpu-moe to the base command (Vulkan):
10/13 pass, 2 fail, 1 error

-fitc 32000 instead of -c 32000 (CUDA)
9/13 pass, 3 fail, 1 error

-fitc 32000 instead of -c 32000 (Vulkan)
9/13 pass, 2 fail, 2 error

I've rerun the tests multiple times even changing temp and seeds, very consistently getting the same results -- the same tests Q6, Q9, Q21, Q22 are getting fails or errors in all cases except for full --cpu-moe with CUDA.

First Bad Commit

No response

Relevant log output

Not sure what logs to add here

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions