Ornith-1.5-35B-A3B-FP8 failed to load on FreeToken v0.1.2: its compressed-tensors checkpoint uses a nonstandard expert tensor layout (FreeToken: 'Missing MoE expert source layers: gate_up'). Retarget to the HauhauCS Aggressive FP8 finetune of the SAME Qwen3.6-35B-A3B arch Huihui used, which carries compressed-tensors BLOCK-fp8 (128x128) with the standard per-expert naming (mlp.experts.N.gate_proj/up_proj/down_proj + .weight_scale) that FreeToken's MoE loader reads. - MODEL_DIR -> /home/dank/models/hauhaucs-qwen36-35b-a3b-aggressive-fp8 - use the checkpoint's own chat_template.jinja (drop the Sharp override; forcing a template the finetune wasn't trained on risks format drift) - pool plan unchanged (same ~35 GB FP8 mass / qwen3_5_moe arch)
71 lines
3.6 KiB
Bash
71 lines
3.6 KiB
Bash
# Tunables for frank-default-small (lamianlbe/Qwen3.6-35B-A3B-Uncensored-
|
||
# HauhauCS-Aggressive-fp8, qwen3_5_moe hybrid MoE, Dankserver, RTX 3090).
|
||
#
|
||
# Runtime: FreeToken v0.1.2 (edge-native MoE serving engine).
|
||
# Installed via uv into /home/dank/freetoken/.venv (CPython 3.12).
|
||
# FreeToken keeps expert weights in host RAM with an LRU GPU cache;
|
||
# KV is paged with radix prefix sharing. Only the full-attention
|
||
# layers page KV (~20 KiB/token); the GDN layers use constant-size
|
||
# per-sequence state (mamba slot pool).
|
||
#
|
||
# Model: lamianlbe/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-fp8
|
||
# (HuggingFace safetensors, ~37.5 GB on disk). HauhauCS "Aggressive"
|
||
# uncensored finetune of Qwen3.6-35B-A3B — same qwen3_5_moe arch 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) and the
|
||
# same ~35 GB FP8 weight mass, so the FreeToken memory/pool plan carries
|
||
# unchanged. Quantized to 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) that FreeToken's MoE loader reads — the layout the
|
||
# Ornith compressed-tensors checkpoint lacked. Also ships a BF16 visual
|
||
# encoder + MTP module (both in the quant "ignore" list; text-only
|
||
# serving ignores them). The RTX 3090 has no FP8 tensor cores, so FP8
|
||
# runs via upcast. Replaced batsclamp/Huihui-...-FP8 on 2026-09-01.
|
||
#
|
||
# NOTE (loader risk): compressed-tensors block-fp8 is not the modelopt
|
||
# block-fp8 the runbook lists as ✅ — it shares the block layout and the
|
||
# per-expert naming but carries a different quant_method. Load is
|
||
# verified live; 37.5 GB fits RAM so a failure is a clean exit, never a
|
||
# swap-thrash.
|
||
#
|
||
# Chat template: the checkpoint ships its own chat_template.jinja (the
|
||
# format this finetune was trained on); FreeToken reads it from the model
|
||
# directory — no override. The fleet Qwen-Sharp template is deliberately
|
||
# NOT forced here: applying a template the model was not trained on risks
|
||
# format drift on an uncensored finetune. To force Sharp, set
|
||
# CHAT_TEMPLATE_FILE=/home/dank/serverAppConfigs/scripts/chat-template.jinja.
|
||
#
|
||
# Pool sizing: GPU budget (~17.6 GiB after weights + fixed caches) is
|
||
# split MoE-first. MOE_CACHE_SIZE pins resident expert slots; NUM_TOKENS
|
||
# pins the KV pool. At 2048 slots / 453005 tokens the split is ~20%
|
||
# residency and ~8.6 GiB KV. Live resize via
|
||
# `ft ctl cache --kv N --moe M` can grow KV by shrinking MoE without
|
||
# restart (the reverse requires a restart).
|
||
#
|
||
# WARNING: do not name any variable TEMP, HOST, or GPU_MAX_HEAP_SIZE.
|
||
# The ROCm HIP runtime reads those bare env vars (see the 2026-08-13 TEMP
|
||
# incident). This box is NVIDIA/CUDA, but the rule keeps the env portable.
|
||
|
||
# Model directory (safetensors checkpoint, ~37.5 GB, compressed-tensors block-fp8).
|
||
MODEL_DIR=/home/dank/models/hauhaucs-qwen36-35b-a3b-aggressive-fp8
|
||
|
||
# FreeToken venv (uv-managed CPython 3.12, ft CLI, flashinfer, torch+cu130).
|
||
FT_VENV=/home/dank/freetoken/.venv
|
||
CUDA_HOME_DIR=/home/dank/freetoken/.venv/lib/python3.12/site-packages/nvidia/cu13
|
||
|
||
ALIAS=frank-default-small
|
||
BIND_ADDR=0.0.0.0
|
||
LISTEN_PORT=7770
|
||
|
||
# Expert residency: 2048 of 10240 total expert instances (20%).
|
||
# Each slot ~3 MiB → ~6.0 GiB VRAM for the MoE cache.
|
||
MOE_CACHE_SIZE=2048
|
||
|
||
# KV pool: 453005 tokens (~8.6 GiB at ~20 KiB/token).
|
||
# Covers 4 concurrent sessions at ~113k unique context each
|
||
# (more with radix prefix sharing for common prefixes).
|
||
NUM_TOKENS=453005
|
||
|
||
# Max concurrent decoding requests (also caps mamba slot allocation).
|
||
MAX_RUNNING_REQUESTS=4 |