- same qwen3_5_moe arch and native block-fp8 format (e4m3, 128x128 weight_block_size, un-fused per-expert layout) as the official Qwen FP8 checkpoint: identical FreeToken loader path, pool numbers unchanged (2048 MoE slots / 453005 KV tokens / 4 requests) - checkpoint downloaded to /home/dank/models/huihui-qwen36-35b-a3b-abliterated-fp8 (26 shards, ~35G); official checkpoint kept for rollback - ships froggeric fixed Qwen3.6 chat template, read from checkpoint - also refresh both .service Descriptions (large still said STRIX_LEAN)
56 lines
2.6 KiB
Bash
56 lines
2.6 KiB
Bash
# Tunables for frank-default-small (batsclamp/Huihui-Qwen3.6-35B-A3B-
|
|
# abliterated-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 10 full-attention
|
|
# layers page KV (~20 KiB/token); the 30 GDN layers use constant-size
|
|
# per-sequence state (mamba slot pool).
|
|
#
|
|
# Model: batsclamp/Huihui-Qwen3.6-35B-A3B-abliterated-FP8 (HuggingFace
|
|
# safetensors). Abliterated (refusal-removed) Huihui finetune of
|
|
# Qwen3.6-35B-A3B, quantized to the SAME native format the previous
|
|
# official checkpoint used: modelopt block-fp8 e4m3, dynamic
|
|
# activations, 128x128 weight_block_size, bf16 weight_scale_inv;
|
|
# lm_head/embeds/norms/router gates/visual/MTP kept BF16. Un-fused
|
|
# per-expert layout matches the official Qwen FP8, so the FreeToken
|
|
# loader path is identical; ~35 GB on disk. Ships the fixed Qwen3.6
|
|
# chat template (froggeric/Qwen-Fixed-Chat-Templates) — FreeToken
|
|
# reads it from the checkpoint; no template override needed.
|
|
# Replaced Qwen/Qwen3.6-35B-A3B-FP8 on 2026-08-30; pool numbers
|
|
# unchanged — same arch, same weight mass.
|
|
#
|
|
# 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 (2048/10240) 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, ~35 GB, block-fp8).
|
|
MODEL_DIR=/home/dank/models/huihui-qwen36-35b-a3b-abliterated-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 |