What it costs to scout 90 minutes in three
A walkthrough of the Vision pipeline’s GPU economics and why the right cost target is "less than a coffee per match", not "free".
By Vision team
«Бесплатный AI» — маркетинговая строчка. Vision не бесплатный. Смотреть 90-минутный матч, забирать broadcast-фид, гонять детекцию, трекинг, позу, головы действий, повторную идентификацию и выдавать структурированный отчёт на 500 слов — стоит реальных GPU-минут и реального электричества. Интересный вопрос — не «стоит ли чего-то». А сколько, и каким должен быть правильный целевой уровень затрат.
Наша цель проста: дешевле кофе за матч. Не бесплатно. Не героически. Меньше эспрессо, который скаут купил бы взамен.
Что крутится в пайплайне
Один матч проходит через шесть этапов. У каждого — реальный GPU-счёт.
- Ingest и предобработка. Тянем broadcast-фид, перекодируем в единый внутренний формат 1080p / 25fps, выкидываем очевидные повторы. CPU-bound с небольшим GPU-ассистом для перекодировки. Дёшево.
- Детекция. YOLOv11 по каждому кадру. Доминирующая стоимость на GPU. Оптимизирован TensorRT, агрессивно батчится, на L4 идёт ~3× быстрее реального времени.
- Трекинг. ByteTrack по выходам YOLO. В основном CPU, но движение данных важно. Размещаем рядом с детекцией, чтобы избежать round-trip.
- Поза. YOLOv8-Pose, только по трекаемым игрокам в активной половине. Пропуск неактивной половины — заметный выигрыш: примерно 40% кадров.
- Головы действий и тактики. Стек CNN+LSTM для классификации действий, маленькая GNN для формации. Дёшево по GPU; дорого в инженерии.
- Re-ID и отчёт. Siamese-сеть для повторной идентификации игроков сквозь монтажные склейки; генератор структурированной прозы для отчёта на 500 слов. Единственный LLM-вызов в пайплайне — генератор отчёта, маленький и короткий.
Сколько это стоит, честно
На одной L4-инстанции end-to-end Vision обрабатывает 90-минутный матч примерно за 25–32 GPU-минуты — в зависимости от плотности действий и того, насколько кадр перекрыт. По spot-цене L4 в нашем регионе по умолчанию это ставит GPU-стоимость за матч между €0,20 и €0,45. Прибавьте хранилище, ingress-egress и LLM-вызов для отчёта — и мы стабильно ниже €1 со всем включённым.
Это ниже эспрессо-порога. Стоимость реальная, но того сорта реальности, которая масштабируется: маржинальный матч дёшев, модель не дорожает со временем, объём репортинга на матч стабильно ~500 слов.
Сколько на самом деле стоило бы «бесплатно»
Стоимость за матч можно опустить ниже тремя очевидными ходами: дистилляция, квантизация и агрессивный пропуск кадров. Каждый — реальный рычаг с реальным счётом.
- Дистилляция. YOLO-Nano учитель → ученик опускает стоимость детекции на ~35%. Цена — две недели обучения и ~3% recall на случаях мелких объектов: чаще всего мяч, частично перекрытый защитником. Скорее всего сделаем. Не будем делать вид, что это бесплатно.
- Квантизация в INT8. Ещё ~25% к латентности детекции. Пренебрежимая потеря качества на нашем калибровочном наборе. Уже в дорожной карте; держится тем, что в YOLO-экосистеме всё ещё есть угловые случаи на INT8, которые мы не отлаживали.
- Пропуск кадров. Обрабатывать каждый третий кадр, остальные интерполировать optical-flow головой. Самый крупный единичный выигрыш и самый крупный единичный риск качества — пропущенный кадр это пропущенный удар, а удары — то, ради чего вообще смотрят.
Каждое ближе нас подвигает к «чаю за матч». Ни одно не приводит к нулю. Мы настороже к любому вендору, чей ответ на GPU-экономику — уверенный «ноль».
Почему целевой уровень стоимости важен
Целевая стоимость лепит продукт. По €0,50 за матч Vision — то, что вы запускаете на каждой приоритетной цели каждую неделю, не спрашивая разрешения. По €5 за матч Vision — бюджетная строка, требующая повода. По €50 за матч Vision — маркетинговая фича, которую никогда не включают.
Цель выбираем намеренно. Продукт должен быть из тех, что скаут запускает по той же причине, по которой открыл бы клип, — потому что маржинальная стоимость достаточно мала, чтобы колебание не стало фичей. Если промахнёмся по цели на порядок — продукт станет другим. Скаут будет батчить, откладывать, ставить в очередь, триажить. Экономика пайплайна — эргономика продукта.
Чего мы не сделаем
Не будем гонять пайплайн поверх стороннего «video AI» API и брать наценку. Попробовали два на стадии прототипа. Стоимость за матч была 12× нашей при худшем качестве, латентность 4×, а режим отказа на деградировавших трансляциях — молчаливое пожатие плечами в JSON. Свой пайплайн — больше работы. И единственный способ попасть в целевую стоимость, не врая о ней.
Наше обязательство, пока оно достижимо: Vision-отчёт по любому матчу из корпуса — дешевле кофе. Мы запишем момент, когда это перестанет быть правдой. До тех пор — гоняйте больше Vision.
Keep reading
The transfer window is broken — and the tools made it worse
Why a market with €7B annual flow still runs on Excel, WhatsApp, and gut feel. And what changes when the data layer catches up.
How we measure “stylistic fit” without overfitting nostalgia
Match clusters players by behaviour, not biography. The math behind why “a left-back like Marcelo” is a useful comparison and how we keep it honest.
If this resonated, the next move is a conversation.
We onboard pilot members on rolling invitation. Send us your hardest question — we’ll send back the live answer.