frank-default-small: revert to Huihui FP8 — FreeToken v0.1.2 cannot load compressed-tensors FP8

Two live-verified loader failures on Dankserver (2026-09-01), each a
clean exit at load (no swap-thrash, 37 GB fits RAM):

1. ornith-ai/Ornith-1.5-35B-A3B-FP8 (compressed-tensors PER-CHANNEL fp8):
   ValueError: Missing MoE expert source layers: {'gate_up': [0, 1, ...]}
   — nonstandard expert tensor naming, provider finds no expert sources.

2. lamianlbe/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-fp8
   (compressed-tensors BLOCK-fp8 128x128, standard per-expert naming):
   RuntimeError: The size of tensor a (2048) must match the size of
   tensor b (...) in _dequant_fp8_weight — the dequant path multiplies
   weight * weight_scale directly and cannot expand compressed-tensors
   block scales.

Empirical matrix for FreeToken v0.1.2 on qwen3_5_moe (RTX 3090):
  modelopt block-fp8 (quant_method 'fp8' + weight_scale_inv)  -> LOADS
  compressed-tensors per-channel FP8                          -> fails
  compressed-tensors block-fp8 128x128                        -> fails

batsclamp/Huihui-...-abliterated-FP8 is the proven uncensored checkpoint;
restoring it until a modelopt/NVFP4 requant of a wanted model exists or
FreeToken learns compressed-tensors.
This commit is contained in:
Frank committed 2026-09-01 14:02:27 -07:00
1 parent 272ef6f0b0
commit 4d5bea42e0
3 files changed
+31 -47

No files matched your search

+11 -12
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# Serve lamianlbe/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-fp8 as
# frank-default-small via FreeToken on Dankserver (RTX 3090, 62 GB RAM).
# Serve batsclamp/Huihui-Qwen3.6-35B-A3B-abliterated-FP8 as
# frank-default-small via FreeToken on Dankserver (RTX 3090, 60 GB RAM).
#
# Runtime: FreeToken v0.1.2 (edge-native MoE serving engine).
# - Experts live in host RAM; an LRU cache of expert slots is resident
@@ -10,15 +10,14 @@
# hold constant-size per-sequence state (mamba slots).
# - OpenAI-compatible API (/v1/chat/completions, /v1/models).
#
# Model: lamianlbe/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-fp8 —
# HauhauCS "Aggressive" uncensored finetune of Qwen3.6-35B-A3B in
# compressed-tensors block-fp8 (e4m3, dynamic group-128 activations,
# 128×128 weight blocks) with the standard per-expert tensor layout
# (mlp.experts.{N}.gate_proj/up_proj/down_proj + .weight_scale). Same
# qwen3_5_moe arch and ~35 GB FP8 mass as the Huihui FP8 it replaces: 40
# layers (10 full-attention + 30 GDN), 256 experts / 8 used, 2 KV heads ×
# 128 dim, native 262144 context. FreeToken reads the checkpoint's own
# chat_template.jinja from the model directory (no template override).
# Model: batsclamp/Huihui-Qwen3.6-35B-A3B-abliterated-FP8 — Huihui
# abliterated finetune of Qwen3.6-35B-A3B in the same native modelopt
# block-fp8 format (e4m3, 128x128 weight_block_size, un-fused per-expert
# layout) as the official FP8 checkpoint this service ran before; the
# FreeToken loader path is unchanged. 40 layers (10 attention + 30
# GDN), 256 experts / 8 used, 2 KV heads × 256 dim. ~35 GB on disk.
# The checkpoint ships the fixed Qwen3.6 chat template; FreeToken reads
# it from the model directory.
#
# Pool sizing: the GPU budget is split MoE-first between expert residency
# and KV pages. --moe-cache-size pins the number of resident expert
@@ -40,7 +39,7 @@ if [[ -f "$ENV_FILE" ]]; then
fi
# --- defaults (used when the env file does not set them) -----------------
: "${MODEL_DIR:=/home/dank/models/hauhaucs-qwen36-35b-a3b-aggressive-fp8}"
: "${MODEL_DIR:=/home/dank/models/huihui-qwen36-35b-a3b-abliterated-fp8}"
: "${ALIAS:=frank-default-small}"
: "${BIND_ADDR:=0.0.0.0}"
: "${LISTEN_PORT:=7770}"