Автор статьи Антон Дождиков - https://habr.com/ru/users/Antony_Rain/
Поговорим об методике дообучения LLM… спортсменке, комсомолке и просто красавице - LoRA, которая если и не снимается в кино, то может сделать фильмы качественней и интереснее для зрителя. Исторические данные проката и состава творческих групп в перспективе позволяют работать с ансамблевыми моделями машинного обучения для прогнозирования сборов и просмотров в кино, и улучшать данные и путем их подбора «гиперпараметров» фильма. Но дляработы со смыслами, идеями и описаниями кинопроектов нужна более эффективная методика, позволяющая оценивать творческий замысел и основные идеи хотя бы на уровне аннотации — краткого синопсиса. И здесь уже не обойтись без больших языковых моделей.
Проблемное поле: национальный российский кинематограф
Мы все любим хорошие фильмы. И нам всем бы хотелось, чтобы их было больше. Но в российских условиях с 2004 года по настоящее время окупается в прокате, то есть собирает два своих бюджета только 10–12% кинофильмов. Растет доля национальных проектов, их число превысило 200 в 2023 и 2024 годах. Однако сборы и просмотры (всего 125 миллионов в 2024 году) — оставляют желать лучшего.
На локальном рынке с 5,8 тысячами экранов проката — 200 и более фильмов объективно не могут окупиться. Происходит каннибализация аудитории, картины конкурируют друг с другом. А зритель на откровенно «плохие» и неинтересные ему фильмы не идет.
Национальный кинематограф может стабильно окупаться в прокате при наличии не менее 450–500 миллионов зрителей или 35–40 тысяч экранов проката. Такие показатели были у СССР и стран социалистического лагеря, сейчас наблюдаются только в Северной Америке, Европейском Союзе, Индии, Китае, в перспективе — еще в ряде макрорегионов Юго‑Воточной Азии и Африки в силу демографических факторов.[1]
Но помимо экстенсивного «долгого» пути с большим объемами и цифрами, есть «иной» подход многократная проходся текущей аудитории, превращение 100 миллионов в 400 и 500. У российского национального кинематографа есть железобетонное преимущество перед Голливудом. Он стабилен и предсказуем. В 95 случаях из 100 судьба российского кинопроекта предрешена до начала его съемок. Это открывает путь к кредитам, использованию акций, облигаций и других финансовых инструментов. Дело совсем за малым — снимать только интересные и востребованные зрителем фильмы, с долей, окупившихся в прокате хотя бы 25–30%.
Многочисленные киноэксперты, повторяющие мантры о священном таинстве кинотворения и невозможности вмешательства в дела «кинотворца», профанности и низменности интересов рядового «зрительца» — ошибаются и продолжают «яхудожник ятаквидеть» фильмы, которые гарантированно не интересны аудитории и проваливаются в прокате.
Результаты оценки кинофильма с помощью обычного ML
Кинематограф очень сложная предметная область. Много «случайных» факторов и «подковерных» моментов, например:
проект, чье производство затянулось на 5 лет и более, а пуще того потребовалось дополнительное финансирование – гарантированно провалится в прокате;
поменялась дата выхода в прокат, случился заход участников проекта «не в ту дверь»;
большая доля государственного участия в виде невозвратных средств не идет на пользу проекта;
«блокбастерность», «пафосность» и большой бюджет не окупаются на локальном рынке.
Бывают и приятные случайности. Изначально рассчитанный на успех фильм «Чебурашка» стал гиперуспешным. И если регрессионные модели давали привязку к 2,5–3 миллиардам сборов, то итоговый результат в 7 миллиардов стал хорошей аномалией.
При формировании финансовых планов государства и частных инвесторов необходимо ориентироваться на «портфели» кинопроектов от 15 до 30, чтобы нивелировать индивидуальные риски каждого. Тогда законы «портфельного инвестирования» и диверсификация будут на стороне инвестора.
К сожалению, на регрессионных моделях по сборам, просмотрам получить приемлемые метрики качества достаточно проблематично. Это связано с мало предсказуемыми «внешними» факторами и тем, что данные по 30% бюджетов российских фильмов скрыты продюсерами - соответственно исторические данные проката и производственные данные не полны. А вот двухклассовая классификация по критерию успех/провал дает показатели точности до 0.95, четырехклассовая до 0.89. Это с учетом изначального дисбаланса классов.
«Заоптуненные» ансамблевые модели с подобранными гиперпарамтерами типа CatBoost, LightGBM и XGBoost или иной версии метода градиентного бустинга деревьев решений (как в датасетах с категориальными признаками, так и без оных, когда используется, допустим, не наименование жанра, а его средние или медианные сборы по жанру, так и на смешанных признаках) уже позволяют оценивать кинопроект на этапе инвестиционного питчинга. Когда основные вложения в фильм еще не сделаны. Подробнее по данной теме можно почитать вот здесь, здесь и здесь
А если создать возможность генерации разных вариантов состава творческой группы – можно улучшать шанс на успех и существующие проекты, признанные недостаточно финансово эффективными. Тут нам впоследствии поможет глубокое обучение с подкреплением, обученный алгоритм, наш цифровой «киберпродюссер» будет автоматически подбирать характеристики фильма и состав творческой группы из имеющегося пула сценаристов, актеров, режиссеров и других участников (даже самих продюсеров).
«Но где же творчество, где же интересы зрителя?» – спросит негодующая кинообщественность и пресловутые киноэксперты и обозреватели, уже чувствующие свой будущий проигрыш беспристрастному и неподкупному «цифровому эксперту», который зарабатывает не с производства, а с проката.
50% успеха — сценарий
Сценарий, его качество и способность затронуть актуальные интересы целевой аудитории действительно имеют большое значение. И тот же формат сценария-«американки» прекрасно поддается как количественному анализу, так и обработке с помощью языковой модели.
Но перед тем как брать целый сценарий или расширенный синопсис (тритмент) мы потренируемся… на аннотациях.
В этом нам поможет курс Natural Language Processing от OTUS, позволяющий изучить как базовые техники вроде определения косинусного расстояния между «смыслами» и создания «мешка слов» до более продвинутых способов взаимодействия с LLM, включая их дообучение, настройку, развертывание и формирование доступа через телеграмм‑бот, а также другие техники — в зависимости от класса решаемых задач.
Описание каждого кинофильма как правило имеет:
Название проекта
Жанровые признаки — комедия, драма, боевик.
Тэглайн — основной лозунг, передающий эмоцию или смысл проекта, как правило из нескольких слов.
Логлайн — описание, дающее представление о сюжете, герое истории драматической сути, конфликта самой истории, отвечающее на вопрос «о чем кино?» из 20–30 слов.
Собственно, аннотация фильма, которая используется при подготовке описания проекта для аудитории. Пересказывает (без спойлеров) в сжатом виде идею проекта, завязку, указывает на героя и антагониста кинофильма. Состоит из нескольких предложений, пары абзацев. То, что мы обычно видим на станицах сайтов, посвященных кинематике.
Следует отметить, что устоявшихся «железобетонных» канонов при формовании данных элементов проекта нет, однако общие правила имеются: тэглайн, как правило, эмоционально насыщенен и емок, логлайн состоит из пары предложений.
Мы докажем принципиальную идею возможности прогнозирования успеха или неуспеха фильма в прокате с помощью дообученной на размеченных данных по аннотациям кинопроектов через Low-Rank Adaptation (LoRA) языковой модели.
В качестве основной метрики будем использовать хорошо зарекомендовавший себя на несбалансированных классах ROC_AUC. Чтобы подтвердить гипотезу нам нужно получить значение больше 0.5 (последнее соответствует случайному гаданию).
Для анализа мы будем использовать уже размеченный датасет из 1683 кинофильмов, в отношении которых известно, какой из них собрал 2 своих бюджета в прокате, а какой – нет. Структура датасета: идентификатор фильма на сайте «Кинопоиск», жанр, название, тэглайн (лозунг), логлайн (краткая аннотация), основная аннотация. Целевой результат – фильм окупился в прокате (собрал два своих бюджета) или провалился.
Для решения задачи классификации будем использовать модель ru-en-RoSBERTa, адаптированную для бинарной классификации.
Учить будем «по-взослому», хоть и не всю модель с настройкой ранга адаптации, масштабированием и добавлением dropout.
Как правило для получения значимого (не идеального) результата достаточно трех эпох обучения модели. Под доказательство нашей исходной гипотезы с учетом изначального дисбаланса классов будем использовать метрику ROC_AUC.
Примечание. На будущее стоит поэкспериментировать с оверсемплингом данных и генерацией синтетических данных кинофильмов для обучения предиктивной модели.
Уже на третьей эпохе мы получили значимый результат, отличный от «случайного гадания»
Наша гипотеза подтверждена, несмотря на явно недостаточные метрики качества модели для ее коммерческой эксплуатации. Отметим, что дальнейшее обучение до 5,7 и более эпох не улучшает картинку.
К сожалению, модель пока очень слабо выявляет именно положительный класс (к радости наших любимых киноэкспертов, хотя и превосходит их, поскольку результаты экспертного киноотбора как правило хуже, чем «случайное гадание»).
Полный код эксперимента представлен в репозитории
Так же мы реализуем простейшую предиктивную функцию, когда сохраненная модель по введенным данным: название, жанры, тэглайн, логлайн и аннотация генерирует свой вердикт об успешности, а также выводит информацию о вероятности данного прогноза.
Разумеется, мы можем попробовать усовершенствовать методику классификации Направления улучшения: тюнинг обучения модели, подбор гиперпараметров с помощью optuna и подобных средств, увеличение эпох, внедрение ранней остановки с сохранением и последующей загрузкой наиболее удачной конфигурации, уже отмеченный оверсэмпинг датасета (выравнивание баланса классов) с помощью синтетически сгенерированных данных.
Цель – достаточно простая и очевидная: нужны крайне высокие метрики качества, тот же ROC_AUC больше или хотя бы равный 0.9. Значения в 0.95-0.97 мы скорее всего не достигнем с данным подходом, такое возможно только на базе «гибридной» ML-модели на исторических данных проката и добученной LLM.
Цель: ROC_AUC = 0.9
Для достижения данных показателей мы пойдем на хитрость и воспользуемся промт‑инжинирингом. Мы будем напрямую спрашивать модель об успешности или неуспешности конкретного фильма по его описанию. И дообучать ее на размеченных данных.
Дообучать серьезно, не менее чем на 20 эпохах с арендой облачного GPU типа L4 (для полного эксперимента в один проход потребуется до 24 часов), будем использовать callback, early stopping для предотвращения переобучения.
Поскольку наша цель — прогноз коммерческого успеха кинофильма, полный код обучения выложен не будет, но промежуточные результаты обучения и финальные данные тестирования — представим в полном объеме.
С помощью LoRA мы дообучали 2,652,538 параметров (0,6420%), всего в модели: 408,958,980 параметров. В ходе создания модели на 10 эпохе процесс был остановлен, поскольку началось переобучение. Сработал early stopping и мы воспользовались сохраненным callback.
Итак, мы получили значимый результат. Accuracy = 0.93, ROC = 0.92. Модель существенно прибавила в качестве определения успешных кинокартин. Фактически достигнуты метрики, сопоставимые с требованиями к банковским моделям кредитного скорринга для определения возможности выдачи кредитов и предоставления иных финансовых услуг физическим и юридическим лицам.
Такой электронный «киберпродюсер» по качеству прогнозов и способности к отбору успешных кинофильмом гарантированно превосходит любого киноэксперта и обычного продюсера с 20-летним стажем, поскольку обучен на всех национальных фильмах, вышедших в России с 2004 года.
Статус модели: Функциональный рабочий прототип для киноотрасли. Улучшения: подобран промпт; подобраны параметры LoRA; подобраны параметры обучения; модель обучена и сохранена; реализована функция предсказания с определением вероятности; модель может быть развернута вместе с телеграмм‑ботом
Что дальше?
В настоящий момент работа осуществляется по трем направлениям:
Датасет дополняется актуальными данным и разрабатывается «объединенная» предиктивная модель на базе ансамблевых ML‑алгоритмов и нового поколения LLM. Цель — дополнительно повысить метрики точности на 2–3%, получить метрики сопоставимые с лучшими моделями кредитного банковского скорринга.
Следующий этап — создание генеративной языковой модели, способной по заданным паттернам генерировать аннотацию и другие содержательные элементы кинофильма — в перспективе до расширенного синопсиса‑тритмента и возможно даже полноценного сценария.
Параллельный этап — создание цифрового помощника для киноиндустрии по «докрутке» и повышению прокатных показателей кинофильма на базе алгоритмов Deep Reinforcement Learning, включающему подбор членов творческой группы — режиссеров, сценаристов, композиторов, монтажеров, художников и актеров (и даже — продюсеров), а также осуществляющему балансировку прокатных характеристик — возрастного рейтинга, длительности кинофильма, жанровых признаков и других производственных данных.
Если сосредотачиваться на отборе только успешных в прокате кинофильмов (с обозначенными выше показателями ошибок и погрешности) в долгосрок на портфеле проектов можно получать до 130–140% прибыли от бюджета фильма ежегодно (до налогообложения, поскольку как ориентир используем высоко ценимую финансистами EBITDA)
Наверняка нашей LoRA стоит идти не по актерской стезе: направление подготовки финансовый менеджмент в креативной индустрии с последующей работой в частном кинофонде или на консультациях для Министерства Культуры и Фонда кино, а также для национальных кинопроизводителей и дистрибьютеров.
[1] Подробное исследование по пределам роста российского кинематографа и путям их преодоления, с расчётами и графиками по финансовой и макроэкономической истории и современности выйдет в профессиональном научном отраслевом журнале «Наука телевидения» за 2025 год. https://tv-science.online/
В современном IT-мире эффективная работа и глубокое понимание архитектуры становятся ключевыми факторами успеха. Мы рады пригласить вас на два открытых вебинара, которые помогут расширить ваши профессиональные горизонты и повысить продуктивность.
11 июня в 20:00 пройдет вебинар «Стили взаимодействия микросервисов: 5 секретов, которые изменят ваш подход к backend-разработке». Если вы работаете с микросервисами или планируете внедрять их в свои проекты, этот вебинар даст ценные практические знания о том, как строить эффективное взаимодействие между сервисами и оптимизировать архитектуру.
19 июня в 20:00 не пропустите вебинар «Инструменты ИИ для системного аналитика: автоматизируем рутину и улучшаем эффективность». Здесь вы узнаете, как современные технологии искусственного интеллекта могут существенно упростить повседневные задачи системного аналитика и вывести команду на новый уровень эффективности.
Оба мероприятия — отличный шанс получить актуальные знания из первых рук, задать вопросы экспертам и применить полученные инсайты в своих проектах. Регистрация открыта, не упустите возможность прокачать свои навыки!
Также предлагаем ознакомиться с календарем мероприятий, в котором вы можете найти много других полезных открытых уроков.