Files
serverAppConfigs/scripts/frank-default-small.env
T
Frank 34ab6b4d0c frank-default-small: retarget to lamianlbe/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-fp8
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)
2026-09-01 13:56:22 -07:00

71 lines
3.6 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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