TGViewer
Information Retriever Information Retriever @inforetriever · 4.13K subscribers
Post #45 2.7K
Ранжирование в YouTube.

Досмотрел запись воркшопа VideoRecsys, на котором были доклады от YouTube, Instagram, Google Deepmind, Netflix, Kuaishou (не хватает только ByteDance). Сделал небольшие заметки по всем докладам. Этот пост посвящен докладу про Youtube от Lukasz Heldt, principal engineer в YouTube Discovery.

Эволюция ранжирования в YouTube
. Модели растут по сложности и количеству параметров:
- (2015) линейная модель с сотней-другой признаков, много feature engineering'а и ручное скрещивание фичей.
- (2016) нейросетки (знаменитый YoutubeDNN): перестали подбирать фичи, сфокусировались на архитектуре нейросети.
- (2019) мультизадачная ранжирующая модель (тоже есть статья): mixture of experts, позиционный дебаясинг, многозадачность.
- (2023) продолжали усложнять модель, добавлять больше фичей; это привело к нестабильности обучения, про которую рассказывают в свежей статье.

Почему скейлинг (увеличение) моделей — это хорошо:
1. Чем больше модель (обучаемые параметры), тем меньше эвристик (необучаемых параметров) поверх нее нужно для адекватного качества рекомендаций. Чем меньше эвристик, тем лучше. Вот, например, пост от Миши на эту тему.
2. ML-лоссы для больших моделей лучше коррелируют с a/b тестами! Улучшения больших моделей влекут улучшения в "точности" рекомендаций, в то время как изменения более простых моделей зачастую влияют на бизнес-метрики по другим причинам: например, растет разнообразие рекомендаций.

Оптимизация метрик. Любая ранжирующая система, которая дообучается на результате своей работы, т.е. порождает фидбек луп, является РЛ агентом. До тех пор, пока она дообучается на своем фидбеке, она будет улучшаться. Если считать, что модель оценивает вероятность положительного взаимодействия, то она будет совершать ошибки двух типов — overprediction и underprediction. Т.е. давать завышенные и заниженные прогнозы.

Так как модель используется для ранжирования, то в выдачу в первую очередь будут прорастать ошибки, связанные с завышением предсказаний. Если какой-то айтем был недооценен, то он и в выдачу не попадет. Получается, что модель не сможет при дообучении понять, что он был недооценен, т.к. не получит про него фидбек.

А значит, в основном с помощью дообучения мы исправляем ошибки, связанные с завышением прогнозов. Есть еще и такой неприятный эффект, что модель при дообучении, видя эти ошибки, будет "понижать" все свои прогнозы, сдвигая среднее значение предсказаний вниз. Ранжирование с дообучением — это такой неявный UCB алгоритм, скошенный в сторону завышенных прогнозов.

Как с этим бороться? Использовать бандитов. Например, fixed slot exploration — выделяем позицию в выдаче, в которую стараемся помещать underprediction'ы. Статья Online Matching: A Real-time Bandit System for Large-scale Recommendations.

Был еще и третий раздел доклада, Modeling Product Behavior. На исход рекомендаций влияет много разных факторов: на какой позиции был айтем (position bias), какие айтемы находились рядом (neighbour bias), в каком порядке пользователь просматривает выдачу (cascade click models), etc. Чтобы получше обучить модель, нужно все эти эффекты моделировать.

Что запомнилось из Q&A секции:
1. На вопрос про позитивы/негативы для обучения явно сказали, что используют только impressions — показанные в выдаче объекты.
2. Есть рандомизированная доля трафика, в которой выдача ранжируется случайно (т.е. перемешивается).
3. На вопрос "а не стало ли хуже с интерпретируемостью из-за усложнения моделей" ответили, что и про линейные модели не особо понимали что они делают, из-за гигантских матриц эмбеддингов :)
4. Чтобы побороть холодный старт для айтемов, (1) подсовывают холодных кандидатов ранжированию и (2) используют explicit item exploration (те же бандиты, по сути).
5. Кто-то спросил "а не тяжело ли будет использовать LLM'ки для ранжирования из-за костов на обучение/сервинг"? Ответ не запомнил, кажется, там было что-то типа "Да, тяжело." :)
  • 🔥 26
  • 👍 5
  • ❤ 3
More from @inforetriever
  1. Sep 24, 2026Не знаю, как студенты сейчас проводят свободное время (кэгл решают?), а мы в свое время по…
  2. Sep 24, 202628 сентября начинается ACM RecSys'26 в Миннесоте. Впервые за три года его пропускаю (RecSy…
  3. Sep 22, 2026По мотивам поста Вани Рубачёва Вечная классика
  4. Sep 19, 2026А я сегодня стал лауреатом премии Yandex ML Prize! В номинации “Преподаватели”. Спасибо вс…
  5. Sep 19, 2026Я не покемон, но меня можно сегодня поймать на Practical ML Conf :)
  6. Sep 18, 2026WARNING: пост на отвлеченную тему)) Я люблю историю. В детстве мне попадались различные кн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →