[codex] Document current video caption models and Qwen migration#2148
[codex] Document current video caption models and Qwen migration#2148lbliii wants to merge 5 commits into
Conversation
Signed-off-by: Lawrence Lane <llane@nvidia.com>
Greptile SummaryThis PR rewrites the video captioning documentation page to replace the removed
Confidence Score: 5/5Documentation-only change; all model IDs, parameter defaults, and behavioral descriptions verified against the implementing Python modules. Every factual claim in the rewritten page was traced to source code: Hugging Face model IDs match _QWEN_VARIANTS_INFO, _NEMOTRON_VARIANTS_INFO, and _HF_MODEL_ID constants; default values match dataclass field declarations; the vllm_kwargs Qwen-only scoping matches the _initialize_model branch logic; the stage2_prompt_text forwarding behavior matches the constructor call sites; and the 131072-token context and tensor-parallel-size-1 constraints for nemotron-3-nano-omni match Nemotron3NanoOmni.setup(). No production code is touched. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[CaptionPreparationStage] -->|writes llm_inputs| B[PreviewStage]
B --> C[CaptionGenerationStage]
C -->|writes caption| D{Stage-two?}
D -->|generate_stage2_caption=True - same VLM reruns| E[Refined caption replaces first pass]
D -->|No| F[Caption ready]
E --> F
F --> G{Enhance?}
G -->|CaptionEnhancementStage reads caption key| H[Qwen-LM text-only model]
H -->|writes enhanced_caption/qwen_lm| I[Enhanced caption stored separately]
G -->|No| J[Done]
I --> J
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[CaptionPreparationStage] -->|writes llm_inputs| B[PreviewStage]
B --> C[CaptionGenerationStage]
C -->|writes caption| D{Stage-two?}
D -->|generate_stage2_caption=True - same VLM reruns| E[Refined caption replaces first pass]
D -->|No| F[Caption ready]
E --> F
F --> G{Enhance?}
G -->|CaptionEnhancementStage reads caption key| H[Qwen-LM text-only model]
H -->|writes enhanced_caption/qwen_lm| I[Enhanced caption stored separately]
G -->|No| J[Done]
I --> J
Reviews (5): Last reviewed commit: "Merge branch 'main' into codex/docs-vide..." | Re-trigger Greptile |
| | `sampling_fps` | float | 2.0 | Frames per second sampled from the source clip. | | ||
| | `window_size` | int | 256 | Number of sampled frames in each caption window. | | ||
| | `remainder_threshold` | int | 128 | Minimum remaining frames required to create a final shorter window. | | ||
| | `preprocess_dtype` | str | `"float32"` | Raw-frame dtype. The example CLI accepts `float32`, `float16`, `bfloat16`, or `uint8` and defaults to `float16`. | |
There was a problem hiding this comment.
preprocess_dtype default is contradicted in the same cell
The Default column records "float32" but the Description ends with "and defaults to float16". A reader who only glances at the Default column will set float32, while a reader who reads the full sentence will choose float16 — and both will believe they are matching the canonical default. If the Python class constructor defaults to float32 and the example script defaults to float16, state both separately (e.g., "Python default: float32; CLI default: float16") rather than having the two halves of the row disagree.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| | `fp8` | bool | `False` | Quantize Qwen weights to FP8. Select `nemotron-fp8` for the Nemotron FP8 checkpoint. | | ||
| | `max_output_tokens` | int | 512 | Maximum tokens generated for each caption. | | ||
| | `disable_mmcache` | bool | `False` | Disable the vLLM multimodal cache for Qwen. The example CLI disables it unless `--captioning-use-vllm-mmcache` is set. | | ||
| | `vllm_kwargs` | dict | `{}` | Additional keyword arguments forwarded to the Qwen vLLM constructor. | |
There was a problem hiding this comment.
vllm_kwargs description is scoped to Qwen only
The description says "forwarded to the Qwen vLLM constructor", but vllm_kwargs is a generic escape-hatch on CaptionGenerationStage that should also be usable with Nemotron variants. Describing it as Qwen-only will cause users to skip it when working with Nemotron checkpoints.
| | `vllm_kwargs` | dict | `{}` | Additional keyword arguments forwarded to the Qwen vLLM constructor. | | |
| | `vllm_kwargs` | dict | `{}` | Additional keyword arguments forwarded to the vLLM constructor for any variant. | |
Signed-off-by: Lawrence Lane <llane@nvidia.com>
dfd8c61 to
934a406
Compare
Signed-off-by: Lawrence Lane <llane@nvidia.com>
|
🌿 Preview your docs: https://nvidia-preview-codex-docs-video-caption-models.docs.buildwithfern.com/nemo/curator Here are the markdown pages you've updated: |
|
@ayushdg friendly ping on this docs PR for the #2118 release-docs workstream — when you have a moment, could you take a look at the video caption model matrix and Qwen migration? Docs preview: https://nvidia-preview-codex-docs-video-caption-models.docs.buildwithfern.com/nemo/curator Thanks! |
Closes #2145.
Summary
qwenvariant with explicitqwen2.5andqwen3guidanceValidation
fern check: 0 errors, 103 pre-existing warningsastfern docs broken-links: only the 22 pre-existing errors outside this page