Fix: Footprint-Schaetzung robust (max aus Name+Dateigroesse) fuer Split-GGUFs
heavy ist Split-GGUF (size_bytes = nur erster Teil) -> aus Namen (122B); coder ohne Groesse im Namen -> aus Dateigroesse (~84B). max() deckt beide Faelle ab. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -101,20 +101,18 @@ def hermes_brain_info() -> dict:
|
|||||||
persist.update(g.get("members") or [])
|
persist.update(g.get("members") or [])
|
||||||
|
|
||||||
def _foot(m: dict) -> float:
|
def _foot(m: dict) -> float:
|
||||||
"""Loaded-Footprint: echte Dateigröße als Gewichte (genauer als Namens-
|
"""Loaded-Footprint = Gewichte + kalibrierter KV-Anteil. Params robust aus dem
|
||||||
Schätzung) + kalibrierter KV-Anteil. Params aus Größe ableiten, falls der
|
MAXIMUM von Namens-Schätzung und Dateigröße (deckt beides ab: 'Coder-Next' ohne
|
||||||
Name keine Größe hergibt (z.B. 'Qwen3-Coder-Next')."""
|
Größe im Namen → aus Datei; Split-GGUFs wie heavy → aus Namen, da size_bytes nur
|
||||||
|
den ersten Teil zählt)."""
|
||||||
caps = m.get("capabilities") or {}
|
caps = m.get("capabilities") or {}
|
||||||
quant = m.get("quant") or "Q4_K_M"
|
quant = m.get("quant") or "Q4_K_M"
|
||||||
ctx = int(m.get("ctx") or 32768)
|
ctx = int(m.get("ctx") or 32768)
|
||||||
bpp = QUANT_BYTES_PER_PARAM.get(quant.upper(), 0.55)
|
bpp = QUANT_BYTES_PER_PARAM.get(quant.upper(), 0.55)
|
||||||
sz = m.get("size_bytes")
|
size_gb = (m.get("size_bytes") or 0) / (1024 ** 3)
|
||||||
if sz:
|
pb_size = (size_gb / bpp) if size_gb > 1.0 else 0.0 # Split-Teil → ignoriert
|
||||||
weights = sz / (1024 ** 3)
|
pb = max(float(caps.get("params_b") or 0), pb_size, 7.0)
|
||||||
pb = float(caps.get("params_b") or 0) or (weights / bpp)
|
weights = max(pb * bpp, size_gb)
|
||||||
else:
|
|
||||||
pb = float(caps.get("params_b") or 7.0)
|
|
||||||
weights = pb * bpp
|
|
||||||
kv = estimate_memory_gb(pb, quant, ctx) - pb * bpp
|
kv = estimate_memory_gb(pb, quant, ctx) - pb * bpp
|
||||||
return weights + max(kv, 0.0)
|
return weights + max(kv, 0.0)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user