Bug - Train/inference parity: three divergences between ltx-trainer and ltx-core / ltx-pipelines
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 18/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Área
- machine-learning
Línea de trabajo
Start in ltx-trainer's timestep_samplers.py (shift computed from sequence length near lines 77 and 122) and compare with LTX2Scheduler.execute() in ltx-core, where the shift applies only when latent= is passed. Then check flexible.py around lines 432-440 for the Modality construction without keyframes_mask, and 665-680 for token ordering. Done means a clear decision on which side is intended; the issue is a design question, not a patch, and the maintainers have not yet weighed in.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Version: v1.2.0, commit fd4ded7 (2026-08-11) · Model: LTX 2.5 22B (dev and distilled)
Summary. While reading the repo to implement a custom sequence-concat conditioning scheme, I found three places where the shipped trainer and the shipped inference stack disagree. Two are internal to ltx-trainer alone — its training path versus its own validation runner. None raise an error; all three would silently train a model that behaves differently at sampling time.
-
σ schedule. ShiftedLogitNormalTimestepSampler derives its shift from actual sequence length (timestep_samplers.py:77,122). At sampling time LTX2Scheduler.execute() only applies the equivalent shift when passed latent= — and of eight call sites, exactly one does (ti2vid_two_stages_hq.py:267). The other seven, including the trainer's own validation_runner.py:875, get the fixed 4096-token default. At the trainer's default validation geometry (960×544×89 → 6120 tokens) training draws σ at mu ≈ 2.77 while validation samples at mu = 2.05.
-
keyframes_mask. Never set in training — zero grep hits across all five strategy files, Modality built without it at flexible.py:432-440. Always set at inference (tools.py:184, unconditional). Also set by the trainer's own validator (validation_runner.py:783,809). Code default for use_keyframes_abs_pos_embedding is False, which would make this inert — but both LTX 2.5 checkpoints ship it True (read from safetensors metadata).
-
Token order. Training prepends (flexible.py:665) and slices the tail (:680); inference appends (reference_video_cond.py:97) and every consumer slices the head (clear_conditioning, _first_frame_keyframes_mask, build_attention_mask, multi-GPU padding). Equivalent for the model — attention is dense, positions ride on RoPE — but opposite conventions in the two halves, so porting logic between them fails silently rather than on shape.
What I'm not claiming: I haven't verified how the released checkpoints were actually trained (pretraining code isn't public, so internal training may have matched inference and only the shipped fine-tuner diverged); I haven't measured quality impact; and #3 may be deliberate.
- Lenguaje dominante
- Python
- Estrellas
- 10k
- Forks
- 1.6k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 Lightricks/LTX-2
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Lightricks/LTX-2#336 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
Lightricks/LTX-2#335 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 34/100
Lightricks/LTX-2#334 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Lightricks/LTX-2#318 ·
-
[Training Details of dubit]Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 12/100
Lightricks/LTX-2#311 ·
Todos los issues de Lightricks/LTX-2
Issues similares
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
splunk/security_content#4418 ·
Los mantenedores suelen responder en 1 día
-
[Bug / Enhancement]: Improve teleop_robot CLI with configurable timeout, robust input validation, and clean ROS shutdownPosiblemente ocupada @muskan-creates352 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 3 días
-
bug(pipelines): shortcode stripping deletes text between a {{< >}} shortcode and the next {{% %}}Posiblemente ocupada @Ashborne-lab la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
kubeflow/docs-agent#293 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Imbad0202/academic-research-skills#1093 ·
Los mantenedores suelen responder en 1 día
-
Input: placeholder drawn in the text colour when the empty Input is focused but not yet editedAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
pierreaubert/gpui-toolkit#114 ·
Los mantenedores suelen responder en 1 día