no_rope_layer_interval is declared but never applied, and SmolLM3's own config sets it
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
Dieses Issue wurde noch nicht bewertet.
Beschreibung
ModelArgs declares no_rope_layer_interval, and examples/models/smollm3/3b_config.json sets it to 4, but nothing on the examples/models/llama export path reads it. On main (e4576d0) the name appears exactly once across the 32 Python files of that path:
examples/models/llama/model_args.py:119: no_rope_layer_interval: Optional[int] = (
__post_init__ does not touch it, and Attention.forward applies rope unconditionally (attention.py:529, attention.py:563) with no layer-index test. The two places that do honour it are backends/mlx/llm/et_attention.py:111 and examples/qualcomm/oss_scripts/llama/model/static_llama.py:288.
So a model that alternates RoPE and NoPE layers exports without complaint and comes out with rope on every layer.
Reproducing
examples/models/smollm3/3b_config.json and examples/models/smollm3/convert_weights.py are both in the tree, so SmolLM3-3B looks ready to export. Converting its weights and exporting through export_llm with that params json (XNNPACK, 8da4w + 8-bit embedding, 1852.2 MB) gives a .pte that loads and runs, then does this:
prompt: <|im_start|>user\nWhat is the capital of France?<|im_end|>\n<|im_start|>assistant\n
output: Okay, so you want to know what what what what what what what what what what what
what what what what what what what what what what what what what what what what
prompt: <|im_start|>user\nWhat is 17 times 4?<|im_end|>\n<|im_start|>assistant\n
output: I think you are looking for an answer that can be given that can be be be be be
determ determ determ determ determ determ determ determ determ determ#ae determ#
It starts as English and collapses, which is what a positional-encoding mismatch looks like: the first few tokens are fine and the drift grows with position.
What would help
Either implement the interval on this path, or reject a params json that sets a field the chosen backend does not implement. The silent version is the expensive one — the export succeeds, the file is the right size, and the model is simply a different model.
Measured with the executorch 1.4.0 wheel; the code paths quoted above are byte-identical on main at e4576d0.
cc @larryliu0820 @mergennachin @cccclai @helunwencser @jackzhxng @digantdesai
- Vorherrschende Sprache
- Python
- Sterne
- 5.1k
- Forks
- 1.2k
- Ø Merge
- 2 T. 14 Min.
- Gemergte PRs (30 T.)
- 704
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus pytorch/executorch
-
Portable remainder kernel: wrong sign for integers and float64 rounded to floatEvtl. vergeben @JakeStevens hat das vor 5 Tagen übernommen. Offenbug module: kernels triaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
pytorch/executorch#23682 · 2 zugewiesene Personen ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement triaged
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 68/100
pytorch/executorch#21640 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[QNN] 16a4w_block stride-2 conv + ReLU fails HTP graph prepare on SM8850 (Relu16bParamsPlaceholder)Evtl. vergeben @psiddh hat das vor 1 Tag übernommen. Offenbug module: qnn partner: qualcomm
pytorch/executorch#23922 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 40/100
pytorch/executorch#23913 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Cortex-M backend replaces channels-first dw conv with channels-last dw conv without handling the changed layout, fails at runtimeEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenbug module: microcontrollers partner: arm
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
pytorch/executorch#23812 · 2 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in pytorch/executorch
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Graphify-Labs/graphify#4524 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
topoteretes/cognee#5982 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Patches of derivations with `__structuredAttrs` are ignoredEvtl. vergeben @KiaraGrouwstra hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 81/100
nix-community/vulnix#184 ·
-
New InternshipOffennew_internship
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
aws-samples/sample-per-model-bedrock#295 ·
Maintainer antworten meist innerhalb von 1 Tag