video: qwen38-caption.py — whole-video captioning + timestamped timelines (PoC) - #100
Open
davanstrien wants to merge 2 commits into
Open
video: qwen38-caption.py — whole-video captioning + timestamped timelines (PoC)#100davanstrien wants to merge 2 commits into
davanstrien wants to merge 2 commits into
Conversation
…stamped timelines (Qwen3.8-27B) No chunking: Qwen3.8-27B ingests whole videos natively (11-min film = one request). --timestamps returns <start - end> event timelines read off per-frame time tags — verified to ~2s against extracted frames (96 events, on-screen text verbatim). Thinking off by default; saturate for crash-safe resume, same shape as marlin-caption.py. Jobs-tested on a100-large (caption mode 3/3 videos, 947.7 tok/s). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012xKNwUAGVdWrLgjLacx25k
…imes Timestamps smoke (job 6a7f5b21) exposed two non-thinking failure modes: the 11-min film got a 27-token summary instead of a timeline, and one clip emitted <MM:SS> ranges the decimal-only regex missed. Thinking mode is the configuration the 96-event frame-verified run used, so --timestamps now implies it (--no-thinking opts out); the event regex accepts both time forms. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012xKNwUAGVdWrLgjLacx25k
Owner
Author
|
--timestamps verification complete (job
3/3 ok, 0 failed, 128.8 tok/s aggregate. For contrast, the pre-fix non-thinking run (job Both smoke modes now pass: caption 3/3 (947.7 tok/s, job |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
video/qwen38-caption.py: caption whole videos with no chunking using Qwen/Qwen3.8-27B (27B dense VLM, Apache 2.0, ungated) served on vLLM in-job, driven by saturate (crash-safe parquet, exact resume) — same shape asmarlin-caption.py, minus the chunking machinery Marlin needs.--timestamps: per-video<start - end>event timeline in global seconds. Times are read off per-frame time tags, not estimated — verified to ~2s against extracted frames on an 11-min 1935 film (96 events, on-screen text quoted verbatim, title-card text word-for-word).chat_template_kwargs);--thinkingre-enables with model-card sampling params + larger budget.Status: PoC — shared before merge
Being shared as work-in-progress (branch raw URL runs directly via
hf jobs uv run). Merge once we're confident; no Hub sync until then.Evidence
a100-large(vllm/vllm-openai:latestimage): 3/3 videos incl. the full 11-min film in one request, 0 failed, 947.7 tok/s aggregate (job6a7f586f).--timestampsmode: verification re-run in flight (first run's requests all succeeded but the output flush hit a concurrent-bucket-mount collision from the test setup, not the script — job6a7f5871); result will be posted here.6a7f4d0c,6a7f5185).Known limits
--fps(Qwen3-VL processor frame budget) — fine to ±2s; raising the budget for tighter accuracy is future work.a100-largeminimum.🤖 Generated with Claude Code
https://claude.ai/code/session_012xKNwUAGVdWrLgjLacx25k