Reduce small model context and rebalance GPU layers
This commit is contained in:
1 parent
7a17984dbc
commit
339325719e
7 files changed
+38
-35
No files matched your search
@@ -45,19 +45,21 @@ The non-expert tensors total 2.02 GiB. The layer totals are 660.96 MiB for
|
||||
ordinary SSM blocks, 655.81 MiB for full-attention blocks, and 662.40 MiB for
|
||||
block 40. The expert portion is 630 MiB in every block.
|
||||
|
||||
The service keeps all non-expert tensors on CUDA. It also keeps expert tensors
|
||||
from blocks 36 through 40 on CUDA. Those blocks sit next to the output and
|
||||
include the bundled MTP head. Expert tensors from blocks 0 through 35 move to
|
||||
CPU through this explicit override:
|
||||
The provisional service keeps all non-expert tensors on CUDA. It also keeps
|
||||
expert tensors from blocks 33 through 40 on CUDA. Those blocks sit next to the
|
||||
output and include the bundled MTP head. Expert tensors from blocks 0 through
|
||||
32 move to CPU through this explicit override:
|
||||
|
||||
```
|
||||
OVERRIDE_EXPERT='blk\.(0|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)\.ffn_(up|down|gate|gate_up)_(ch|)exps'
|
||||
OVERRIDE_EXPERT='blk\.(0|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)\.ffn_(up|down|gate|gate_up)_(ch|)exps'
|
||||
OVERRIDE_BUFT=CPU
|
||||
```
|
||||
|
||||
This places 3.69 GiB of expert weights on CUDA and 22.13 GiB on CPU. The
|
||||
selection leaves the output-adjacent blocks and MTP path on CUDA while the
|
||||
f16 context cache uses the remaining GPU budget.
|
||||
The previous five-block configuration placed 3.69 GiB of expert weights on
|
||||
CUDA and 22.13 GiB on CPU. This provisional eight-block configuration adds
|
||||
approximately 1.89 GiB of expert weights to CUDA while reducing the context
|
||||
pool by 98304 cells. The final placement will be selected after measuring this
|
||||
new headroom and discussing layer priorities.
|
||||
|
||||
To list the buffer type names on the host, run a bogus override:
|
||||
|
||||
@@ -87,8 +89,8 @@ llama-server \
|
||||
--mmproj mmproj-Ornith-1.5-35B-A3B-f16.gguf \
|
||||
--chat-template-file chat-template.jinja \
|
||||
--spec-type draft-mtp \
|
||||
--override-tensor "blk\\.(0|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)\\.ffn_(up|down|gate|gate_up)_(ch|)exps=CPU" \
|
||||
-ngl all -c 589824 -np 3 \
|
||||
--override-tensor "blk\\.(0|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)\\.ffn_(up|down|gate|gate_up)_(ch|)exps=CPU" \
|
||||
-ngl all -c 491520 -np 3 \
|
||||
--cache-type-k f16 --cache-type-v f16 --no-mmap \
|
||||
--temp 1.0 --top-p 0.95 --top-k 20
|
||||
```
|
||||
@@ -97,10 +99,11 @@ llama-server \
|
||||
|
||||
1. The 27.2 GiB Q6_K file and 0.84 GiB vision projector fit the 62 GiB RAM
|
||||
box with the selected expert offload.
|
||||
2. The context pool contains 589824 cells. Three slots receive 196608 cells
|
||||
each, which is 64K below the model context per stream.
|
||||
3. `--n-cpu-moe` remains supported. This service prefers the explicit tensor
|
||||
override because it preserves the final five expert blocks on CUDA.
|
||||
2. The provisional context pool contains 491520 cells. Three slots receive
|
||||
163840 cells each, which is 96K below the model context per stream.
|
||||
3. `--n-cpu-moe` remains supported. This service currently prefers the
|
||||
explicit tensor override because it preserves the final eight expert
|
||||
blocks on CUDA pending the next layer-priority decision.
|
||||
4. The service uses the Qwen-Sharp template from
|
||||
`peculiar-ragdoll/Qwen-Sharp-Chat-Templates` through
|
||||
`scripts/chat-template.jinja`.
|
||||
|
||||
Reference in new issue
Block a user