Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Лёха в Short’ах Long’ует
Лёха в Short’ах Long’ует
MU
ML Underhood
MU
ML Underhood
Как в Яндексе заменили сложную разметку на LLM

В конце прошлой осени Команда качества поиска одной из первых в Яндексе смогла существенно удешевить сложную асессорскую разметку за счёт генеративной модели. Татьяна Климук, руководитель Службы исследований и качества ранжирования, рассказала, как работали над технологией.

Яндекс использует услуги тысяч асессоров, которые каждый день выполняют десятки тысяч заданий по оценке выдачи с точки зрения качества и релевантности. Это дорогой, долгий и сложный процесс.

Идея проекта в том, чтобы отдать рутинную работу по разметке сильной нейронке. При этом мы не отказываемся от асессоров, а переключаем их на разметку более важных и сложных кейсов, а также поручаем контролировать корректность работы модели.

Архитектура

Мы начали с экспериментов с базовым претрейном от YandexGPT. На вход подавали сжатую инструкцию, запрос и контент документа, на выходе получали решение о принадлежности к одной из категорий релевантности.

Однако промптинг даже SoTA-моделей пока не даёт нужного качества на нестандартных кейсах. Инструкция оказывается для них настолько сложной, что без дообучения ни одна модель не справляется с ней. Поэтому на старте получилось выжать только 55% качества асессоров.

Тогда мы сделали ряд улучшений:

— Взяли претрейн от Нейро, который лучше понимает поисковый домен и легче обучается решать поисковые задачи.
— Обучались не просто на метку класса, но и на подготовленные Chain-of-Thoughts, чтобы научить модель больше думать перед тем, как она даёт ответ.
— Добавили внешние данные — знания, необходимые для понимания контекста, которые нельзя извлечь из текста. Пример таких знаний — то, какие страницы в сети официальные, а какие — нет.
— Подавали данные для обучения в нужном порядке — от более мусорных к более качественным.

Так мы добились качества 102% относительно разметки асессоров, что уже было неплохо. Но оставался риск «сломать» Поиск — поэтому нужно было проверить модель на разных классах запросов, исключить риск деградации со временем и учесть другие нюансы.

Решение

В итоге мы придумали решение, которое использует оценку как от людей, так и от нейросети. Мы стали извлекать из неё не только ответ по инструкции, но ещё и уверенность в этом предсказании. В зависимости от степени уверенности мы принимали решение, использовать ли в задаче человеческий ресурс.

— Если модель уверена в ответе, скорее всего, задача простая и не требует помощи асессоров. С этими кейсами она нередко справляется даже лучше людей. Таких задач оказалось около половины от общей массы.
— Если модель не до конца уверена в ответе, привлекаем её вместо одного из трёх асессоров. Размер этой зоны — около 30%.
— Когда модель говорит, что совсем не уверена в решении, отдаём задачу трём сильным асессорам — как это происходит в стандартном процессе. Таких задач порядка 20%.

Результаты и планы

С помощью этого решения мы получили 105% качества и 60% экономии денег.

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

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

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

ML Underhood
Улучшенный фотоперевод от Яндекса

Яндекс обновил функцию фотоперевода — новая версия уже доступна в Браузере и Переводчике. Коротко расскажем, как всё устроено с точки зрения ML.

В вебе, а также в приложениях для iOS и Android, в Яндекс Переводчике применяется transformer-based модель перевода, которая получила рост качества в 10%. А в Яндекс Браузере и Умной камере используется модель перевода на основе YandexGPT. По метрике оценки качества её перевод улучшился до 79 баллов из 100. Человек по той же метрике получает 85 баллов.

Обновили и модель компьютерного зрения. Теперь модель лучше выделяет семантические блоки: абзацы, предложения, пункты в списках и так далее. Благодаря этому перевод становится точнее, а визуализация — лучше.

А ещё инженеры из Яндекса реализовали алгоритм затирания оригинального текста, чтобы фон выглядел так же, как и в оригинале. Для реализации затирания использовали алгоритм PatchMatch, а для повышения контраста — APCA (Advanced Perceptual Contrast Algorithm). Также применили Yandex Sans Text Cond с Medium начертанием и добавили контрастную полупрозрачную обводку вокруг букв. В результате чего сильно выросли все метрики по аспектам визуализации (читаемость, подбор фона, размер шрифта).

А что в итоге? Обновлённый фотоперевод обошёл Google Lens в качестве (50% против 39%), читаемости (90/100 против 86/100), соответствии размера текста (91/100 против 79/100) и подбора фона (88/100 против 43/100).

Такой вот новый фотоперевод. Делитесь в комментариях мнением о нём!

ML Underhood
04.09.202409:09
Генерация видео в Шедевруме

Яндекс запустил новую диффузионную end-to-end-модель преобразования текста в видео в приложении Шедеврум. Расскажем, как она работает и чем отличается от прошлого подхода.

Как было раньше и как стало сейчас

Шедеврум и прежде умел создавать видео по текстовому запросу. Для этого использовалась технология Deforum. Она работает по принципу создания видео из отдельных изображений кадр за кадром. Каждый следующий получается из предыдущего с помощью эвристик — они добавляют движение камеры. При таком подходе согласованность кадров недостаточная.

В новом подходе используется end-to-end-text2video-модель. На вход она получает текст, в котором могут быть указаны субъект, объект и описание действия. Модель сама учитывает связь между кадрами, из-за чего получается более согласованный результат.

Этапы генерации видео

Генерация базовых кадров. На этом этапе создаётся видео с низкой частотой кадров и разрешением. Из нормального распределения сэмплируются зашумлённые кадры, которые впоследствии постепенно преобразуются в связное видео.

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

Повышение разрешения. Модель работает в латентном пространстве, поэтому для повышения разрешения сгенерированные латенты подаются в декодер VAE. В него для большей согласованности фреймов добавили motion-блоки.

Обучение

Процесс обучения модели text2video начинается с адаптации уже существующей text2image-модели. Чтобы не обучать её с нуля, что требует большого количества разнообразных данных, разработчики решили дообучить проверенную модель для генерации изображений, добавив в неё временные блоки (motion-блоки) для работы с видео. Чтобы снизить нагрузку на память и ускорить обучение, использовались техники mixed precision и torch.FSDP.

Обучение модели происходило поэтапно: сначала с низким разрешением и малым количеством кадров, а затем с постепенным увеличением этих параметров. Так мы смогли ускорить процесс обучения и валидировать больше гипотез за то же время. Однако в ходе обучения возникали проблемы, связанные с нестабильностью модели, вызванной бесконтрольным ростом значений активации. Это решили простой регуляризацией.

Более подробно об устройстве и модели и её создании — читайте в статье на Хабре. А здесь в комментариях делитесь своими впечатлениями!

ML Underhood
16.08.202413:43
Больше впечатлений от ICML 2024 и интересных статей

Завершаем серию постов по следам конференции ICML 2024. На этот раз своими впечатлениями поделился Богдан Воронин из ML в международной рекламе Яндекса. Вот, каким он увидел мероприятие:

Запомнились докладчики с не очень хорошим английским. Мой уровень знания языка не позволял пробиваться к смыслу через акцент (успокаивает, что автоматические субтитры справлялись хуже меня 🙂). Сейчас осознаю, что нужно было уходить с доклада, если не понял первые три минуты.

Здорово было увидеться со старыми знакомыми из разных компаний, а ещё познакомиться с новыми крутыми ребятами. Ну и круто, что нас от рекламы на конференции было четверо. Это очень полезно — обмениваться мнениями с коллегами о докладах и стендах.

Что касается общего впечатления, то, показалось, что было много попыток разобраться или объяснить как работает LLM. Много попыток улучшить на копейку текущие подходы — например, доклады о DoRA и тому подобные. При этом было не так много материалов, полезных для индустрии вне сеток.

А главное, что вынес из события лично я — список статей, которые стоит почитать.


Пара интересных статей

Strategic ML: How to Learn With Data That ‘Behaves’

Как правильно строить ML и систему в случае, когда пользователи могут влиять на неё? Автор рассматривает несколько примеров, но я расскажу про самый очевидный — кредитный скоринг. Пусть модель кредитного скоринга открыта (а какую-то часть точно можно реверс-инженерить). Пользователь очень хочет, чтобы ему одобрили кредит, при этом по-честному не проходит. Как получить желаемое?

Прямой путь — поднять свой доход, но это сложно. Но что, если переехать на месяц в более благополучный район? Давайте введём стоимость гейминга определённой фичи и ценность другого поведения модели, предположив, что пользователи будут их геймить, если это выгодно. Простой подход — поднять порог выдачи кредита, но тогда мы не одобрим его честным пользователям, которые не геймили систему. Далее идёт анализ на стыке ML и теории игр.

LCA-on-the-Line: Benchmarking Out of Distribution Generalization with Class Taxonomies

Если обобщать, то авторы говорят следующее: пусть у нас есть сильная корреляция таргета с фичами, которые будут не очень полезены в проде по тем или иным причинам. Объясняют идею на основе классификатора картинок, где по фону объекта можно найти неплохую корреляцию, а оставшиеся примеры — просто запомнить. Но тогда классификатор легко обмануть. В статье предлагается метод автоматического поиска строчек без лика таргета. На них нужно поднимать вес в датасете или файнтюниться в конце. В целом, прикольный подход для специфических задач.
显示 1 - 4 4
登录以解锁更多功能。