[Engine] tools/quant_quality.py: the engine exits at start-up when the config has --prefill-head-alias

Aperta Adatta ai principianti
#5,553 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 4 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
82/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
cpp, python
Ambito
backend, tooling

Direzione di ricerca

Inizia da tools/quant_quality.py ed esamina DROP_FLAG e il modo in cui gli argomenti di configurazione vengono trasformati prima di costruire il comando del motore. Controlla anche tools/force_check.py e il relativo SCORER_DROP_FLAG, poiché l’issue segnala un conflitto simile non confermato. Riproduci il problema con una configurazione contenente --prefill-head-alias e --short-read 0; il lavoro è completato quando lo strumento interessato non passa più il flag in conflitto e il motore raggiunge READY.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Area

[Engine] (speed, kernels, models, the server and API)

Desktop app, Terminal or source?

Source (START-HERE.bat, setup.sh or a build)

What happened

tools/quant_quality.py run --config CFG.json builds the engine command from the config's args, drops or replaces some of them (DROP_VALUE, DROP_FLAG), and appends --short-read <seg_tokens + 64>. If the config contains --prefill-head-alias, the engine stops before READY with:

strata generate: --prefill-head-alias is unavailable: it needs --short-read 0

and quant_quality.py reports "the engine ended before READY (exit 2)".

My run configs (MTP, 128K context) carry --prefill-head-alias --short-read 0. --short-read is in DROP_VALUE and gets replaced, but --prefill-head-alias is kept, so the two conflict.

Fix. Add the flag to DROP_FLAG (line 45 in v0.2.12):

-DROP_FLAG = {"--serve", "--vision", "--resident-experts", "--resident-cpu-experts"}
+DROP_FLAG = {"--serve", "--vision", "--resident-experts", "--resident-cpu-experts", "--prefill-head-alias"}

The yardstick reads every token through the decode windows anyway, so the prompt-path head alias has no role there. With the flag removed from the config, the same runs completed normally (5 segments x 1,299 positions).

Possibly the same in tools/force_check.py. Its SCORER_DROP_VALUE removes --mtp, --spec and --short-read, and it appends its own --short-read, but SCORER_DROP_FLAG (--serve, --vision) keeps --prefill-head-alias, which needs both --mtp and --short-read 0. I have not run that tool, so this part is from reading the code only.

Smallest steps or command that reproduce it
  1. Take a run config whose args contain --prefill-head-alias and --short-read 0.
  2. python tools/quant_quality.py run --config CFG.json --out RUN.tsv --gpu-experts
  3. The engine exits before READY with the line above.
Reproduction status

Reproduced locally (quant_quality.py). The force_check.py part is unconfirmed static analysis.

Strata version

0.2.11-based source build (engine 0.1.57). The DROP_FLAG line is unchanged in 0.2.12.

Graphics card, memory and system

RTX 3070 Ti Laptop 8 GB, 64 GB RAM, Windows 11

Model, size and settings

Qwen3.8-Flash-Next (Unsloth UD-IQ2_XS, pruned to 384 experts), native pack, MTP, 128K context, --resident-budget-gib 24

Lingua principale
C++
Stelle
11.6k
Fork
1k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Niko1221/Strata

Tutte le issue di Niko1221/Strata

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.