55 lines
No EOL
4.5 KiB
Markdown
55 lines
No EOL
4.5 KiB
Markdown
# 🎬 Проект генерации видео — Обзор статуса и метрики
|
||
|
||
## 📌 Введение
|
||
|
||
Этот документ фиксирует текущее состояние пайплайна генерации видео, последние обновления и принятую систему оценки качества.
|
||
Цель — иметь единый источник правды о том, что уже готово, как мы измеряем результат и какие выводы делаем по последним сгенерированным кадрам.
|
||
|
||
## 🚀 Последние обновления
|
||
|
||
- **Проведён аудит проекта**
|
||
Выполнен обзор существующих наработок команды по генерации видео. Основные выводы и план действий зафиксированы ниже.
|
||
|
||
- **Выбрана основная метрика**
|
||
После анализа нескольких вариантов в качестве ключевого показателя качества утверждён **CLIP-score**.
|
||
|
||
- **Структурирован README**
|
||
Вся разрозненная информация сведена в этот документ, который будет поддерживаться в актуальном состоянии.
|
||
|
||
## 💻 Текущее состояние кода
|
||
|
||
| Компонент | Статус | Примечания |
|
||
|---------------------------------|---------------------|-----------------------------------------------------------------------------|
|
||
| Основной пайплайн генерации | ✅ Работает стабильно | Инференс проходит без ошибок, возможны небольшие доработки. |
|
||
| Управление конфигурациями | ⚠️ В процессе | Переход на единый YAML-конфиг для повторяемости экспериментов. |
|
||
| Скрипты для оценки метрик | ✅ Добавлены | Интегрирован расчет CLIP-score, вывод как по семплам, так и агрегированный. |
|
||
| Документация | ✅ Обновлена | Данный файл заменяет заметки в чатах, актуализирован. |
|
||
|
||
> ⚡ **Ближайшие шаги**
|
||
> - Прогнать полную оценку по метрике на свежей партии генераций.
|
||
> - Задокументировать гиперпараметры и зерна (seeds) для каждого запуска.
|
||
> - Встроить логирование метрик прямо в пайплайн генерации.
|
||
|
||
## 📏 Метрика оценки: CLIP-score
|
||
|
||
Для количественной оценки соответствия сгенерированного изображения (или кадра видео) текстовому описанию мы используем **CLIP-score**.
|
||
|
||
- **Что измеряет**: Косинусное сходство между эмбеддингами CLIP для текста (промпта) и визуального контента.
|
||
- **Почему выбрана именно она**:
|
||
- Хорошо коррелирует с человеческой оценкой релевантности «текст–картинка».
|
||
- Не требует эталонного изображения (reference-free).
|
||
- Является общепринятым стандартом в сообществе.
|
||
- **Источник**: [Learning Transferable Visual Models From Natural Language Supervision](https://arxiv.org/abs/2103.00020) (Radford et al.)
|
||
|
||
### Детали реализации
|
||
|
||
```python
|
||
# Псевдокод расчета CLIP-score
|
||
from transformers import CLIPProcessor, CLIPModel
|
||
|
||
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
|
||
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
|
||
|
||
inputs = processor(text=prompt, images=image, return_tensors="pt", padding=True)
|
||
outputs = model(**inputs)
|
||
score = outputs.logits_per_image.softmax(dim=1).item() # или чистое косинусное сходство |