/ Модель

Характеристики

Контекст
262 144 токена
Размер весов
17,5 ГБ
Лицензия
Своя лицензия
Архитектура
qwen3_vl · dense
Базовая модель
Qwen3-VL-8B-Instruct
Библиотека
transformers
Опубликована
16 дек 2025

TimeLens-8B

Компьютерное зрениеВидео, текст → текст4 профессии

TimeLens-8B — дообученная мультимодальная модель для поиска в видео событий и определения соответствующих временных интервалов по текстовому запросу.

901скачиваний за 30 дней20лайковвеса обновлены21 апр 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Изображение → текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

TimeLens-8B — мультимодальная модель TencentARC для временной привязки событий в видео. Она дообучена на базе Qwen/Qwen3-VL-8B-Instruct с применением обучения с подкреплением по проверяемым наградам (RLVR) и набора данных TimeLens-100K. Модель принимает видео и текстовые запросы, а в ответ определяет временные фрагменты видео, соответствующие запросу.

Модель предназначена для поиска событий и их временных границ в видео. В README заявлено, что среди открытых моделей она показывает передовые результаты на задачах временной привязки, однако сравнительная таблица в карточке опущена. Архитектура — плотная Qwen3-VL; веса опубликованы в формате safetensors. Для запуска README описывает использование Transformers и qwen-vl-utils.

Указана лицензия other; её конкретные условия в предоставленных данных не раскрыты. Карточка ориентирована на английский язык. Отдельные показатели контекстной длины и ограничения модели в источниках не приведены.

Сценарии применения

  • поиск в видео фрагментов по описанию события
  • определение времени начала и окончания события в ролике
  • временная привязка объектов или действий к текстовому запросу
  • разметка временных интервалов в наборах видео для анализа

Ограничения

Заявление о передовых результатах в README не сопровождается доступной здесь сравнительной таблицей. Условия лицензии other и отдельные количественные характеристики модели в предоставленных источниках не раскрыты.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

TimeLens-8B

📑 Paper | 💻 Code | 🏠 Project Page | 🤗 Model & Data

✨ Model Description

TimeLens-8B is an MLLM with state-of-the-art video temporal grounding performance among open-source models, finetuned from Qwen3-VL-8B-Instruct. It is trained with carefully crafted RLVR (reinforcement learning with verifiable rewards) recipe proposed in our paper, utilizing our high-quality VTG training dataset TimeLens-100K.

📊 Performance

TimeLens-8B achieves state-of-the-art video temporal grounding performance among open-source models:

For detailed comparison with other models, please refer to the 🏆 Leaderboard.

🚀 Usage

Install the following packages:

pip install transformers==4.57.1 accelerate==1.6.0 torch==2.6.0 torchvision==0.21.0
pip install qwen-vl-utils[decord]==0.0.14
# use Flash-Attention 2 to speed up generation
pip install flash-attn==2.7.4.post1 --no-build-isolation --no-cache-dir

Using 🤗Transformers for Inference:

import requests
import os
import torch
from transformers import AutoModelForImageTextToText, AutoProcessor
from qwen_vl_utils import process_vision_info


def download_video(url):
    save_path = os.path.basename(url)
    if not os.path.exists(save_path):
        print(f"Downloading video from {url}...")
        response = requests.get(url, stream=True)
        response.raise_for_status()
        with open(save_path, 'wb') as f:
            for chunk in response.iter_content(chunk_size=8192):
                f.write(chunk)
    return save_path

# Load model and processor
model = AutoModelForImageTextToText.from_pretrained(
    "TencentARC/TimeLens-8B",
    dtype=torch.bfloat16,
    attn_implementation="flash_attention_2",
    device_map="auto",
)

processor = AutoProcessor.from_pretrained(
    "TencentARC/TimeLens-8B",
    padding_side="left",
    do_resize=False,
)

# Prepare input
query = "A man drinks water with a glass"
video_path = download_video("https://huggingface.co/datasets/JungleGym/TimeLens-Assets/resolve/main/2Y8XQ.mp4")

GROUNDER_PROMPT = "Please find the visual event described by the sentence '{}', determining its starting and ending times. The format should be: 'The event happens in <start time> - <end time> seconds'."

messages = [{
    'role': 'user',
    'content': [
        {
            'type': 'video',
            'video': video_path,
            'min_pixels': 64 * 32 * 32,
            'total_pixels': 14336 * 32 * 32,
            'fps': 2,
        },
        {
            'type': 'text',
            'text': GROUNDER_PROMPT.format(query)
        }
    ]
}]

text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
images, videos, video_kwargs = process_vision_info(
  messages,
  image_patch_size=16,
  return_video_kwargs=True,
  return_video_metadata=True,
)

videos, video_metadatas = zip(*videos)
videos, video_metadatas = list(videos), list(video_metadatas)

inputs = processor(
  text=[text],
  images=images,
  videos=videos,
  video_metadata=video_metadatas,
  padding=True,
  return_tensors='pt',
  **video_kwargs,
).to("cuda")

output_ids = model.generate(
    **inputs,
    do_sample=False,
    max_new_tokens=512,
)

generated_ids_trimmed = [
    out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, output_ids)
]
answer = processor.batch_decode(
    generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
print(f"Answer: {answer}")

Citation

If you find our work helpful for your research and applications, please cite our paper:

@article{zhang2025timelens,
  title={TimeLens: Rethinking Video Temporal Grounding with Multimodal LLMs},
  author={Zhang, Jun and Wang, Teng and Ge, Yuying and Ge, Yixiao and Li, Xinhao and Shan, Ying and Wang, Limin},
  journal={arXiv preprint arXiv:2512.14698},
  year={2025}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
Qwen3VLForConditionalGeneration
Ревизия весов
5557f14

0 моделей