[Puzzletron] Runtime stats benchmark model computes head size as hidden_size // num_attention_heads instead of reading head_dim
Los mantenedores suelen responder en 2 días
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Follow-up to #3009, which fixed the Puzzletron memory objective to use the model's head_dim for the KV cache (#2482).
The runtime objective has the same root cause. calc_runtime_stats.create_benchmark_model builds the synthetic Llama benchmark model with:
model_config = LlamaConfig(
hidden_size=hidden_size, # candidate hidden size
num_attention_heads=num_attention_heads,
head_dim=None, # Compute from hidden_size // num_attention_heads instead of using default 128
...
)
So when runtime_stats_enabled=True, the benchmarked attention uses hidden_size // num_attention_heads as its head size, which is wrong in two cases:
- Models that set
head_dimindependently, e.g. Mistral-Small-24B (160 instead of 128) or gpt-oss-20b (45 instead of 64). - Every candidate with a pruned
hidden_size. Pruning leaveshead_dimunchanged, but here it shrinks with the candidate hidden size.
As a result, the latency numbers fed to the MIP are skewed the same way the memory numbers were before #3009.
Suggested fix: pass the parent's head size, get_attention_head_dim(descriptor.get_language_model_config(model_config)) from modelopt/torch/puzzletron/utils/misc.py, into create_benchmark_model as head_dim. Validate with a vLLM runtime-stats run.
Raised in the review of #3009: https://github.com/NVIDIA/Model-Optimizer/pull/3009#discussion_r4374334841
- Lenguaje dominante
- Python
- Estrellas
- 5.5k
- Forks
- 785
- Merge medio
- 3 d 22 h
- PR fusionados (30 d)
- 277
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NVIDIA/Model-Optimizer
-
[Bug] modelopt-mcp: all launcher subprocesses hang when the server runs as a stdio MCP server — missing stdin=DEVNULLPosiblemente ocupada @ChenhanYu la tomó hace 29 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
NVIDIA/Model-Optimizer#2551 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
Puzzletron Progress 6/8 (calculating one block scores) takes 10 to 20 times more than in tutorialQuizá libre de nuevo @tejasng053 la tomó hace 36 días y no hay ningún pull request abierto. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
NVIDIA/Model-Optimizer#1667 ·
Los mantenedores suelen responder en 2 días
-
INT4 packing extension never loads from a read-only installPosiblemente ocupada @ajrasane la tomó hace 2 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
NVIDIA/Model-Optimizer#3025 · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
feature request
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
NVIDIA/Model-Optimizer#2865 ·
Los mantenedores suelen responder en 2 días
-
GGML fake-quant keeps stale codes after a bitsandbytes optimizer step, so QAT/QAD silently stops training the quantized weightsPosiblemente ocupada @dcaayushd la tomó hace 12 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 54/100
NVIDIA/Model-Optimizer#2857 · 1 asignado ·
Los mantenedores suelen responder en 2 días
Todos los issues de NVIDIA/Model-Optimizer
Issues similares
-
PluginProvider.storeInstance races and clobbers the dedup cache for concurrent loadsPosiblemente ocupada @Wilson0511 la tomó hoy. Abiertoneeds-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 2 días
-
community documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
bug(sdk): add_toleration_json silently drops camelCase tolerationSeconds for static dict/list inputPosiblemente ocupada @ravikumar266 la tomó hoy. Abiertoarea/sdk kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
kubeflow/pipelines#15347 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
predict_file with crop_model duplicates predictions once per imagePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
weecology/DeepForest#1445 ·