Forwarded from Information Retriever
arXiv.org
Correcting the LogQ Correction: Revisiting Sampled Softmax for...
Two-tower neural networks are a popular architecture for the retrieval stage in recommender systems. These models are typically trained with a softmax loss over the item catalog. However, in...
Correcting the LogQ Correction: Revisiting Sampled Softmax for Large-Scale Retrieval.
А вот и наша статья, принятая на RecSys 2025, добралась до arxiv’а! Что мы сделали: улучшили logQ-коррекцию.
Почему это важно: logQ-коррекция активно используется в индустрии для обучения нейросетевых двухбашенных retrieval моделей. Я за свою жизнь в Яндексе неоднократно участвовал в больших и успешных внедрениях нейросетевых кандидатогенераторов, которые не случились бы без logQ-коррекции.
Улучшение связано с тем, как в формуле logQ-коррекции используется положительный айтем (далее именуемый “позитив”). Он появляется в двух местах — и в числителе, и в знаменателе софтмакса. К числителю вопросов нет. А вот в знаменателе есть странности. Например, в исходной статье от Google к позитиву в знаменателе применяется logQ-поправка; а в следующей статье от тех же авторов — уже нет. То есть для сэмплированных негативов в знаменателе logQ-поправка есть, для позитива — нет. А вывод такой формулы нигде не приводится / не обосновывается.
Более того, само использование позитива в знаменателе выглядит сомнительно. Оригинальный вывод формулы, который Bengio проделал в начале нулевых для доисторических языковых моделей, гласит: для оценки знаменателя софтмакса можно насэмплировать айтемы из произвольного распределения Q (обычного называемого proposal distribution) и добавить к ним ту самую “logQ-поправку”. Распределение Q — это как раз и есть то распределение, из которого мы сэмплируем негативы; которое чаще всего является in-batch распределением.
И когда мы рассматриваем конкретный обучающий пример, то есть конкретную пару (user, positive item), и для нее считаем сэмплированный softmax-лосс с logQ-коррекцией, мы не сэмплируем позитив из распределения Q — он приходит к нам детерминированно, с вероятностью 1. А в формуле он используется для Монте-Карло оценки в предположении, что мы сэмплируем его из Q.
Долгое время мы, как и все, просто плыли по течению и использовали logQ-коррекцию в том виде, в каком все ее применяют. Но потом я взялся сделать ту самую лекцию про нейросетевую генерацию кандидатов для ШАДа, в которой в том числе хотел осветить logQ-коррекцию — строго, с математическим выводом. Хотелось также обосновать формулы, использующие позитив в знаменателе, с logQ-поправкой и без.
Когда я в рамках математических выкладок отделил позитив от Монте-Карло сэмплирования, получилась совершенно другая формула! В которой позитива не было в знаменателе софтмакса вообще, но при этом появилось взвешивание сэмплов. Чем меньше модель ошибается на сэмпле (то есть предсказывает большую вероятность позитива), тем меньше вес этого сэмпла.
Мы поставили эксперименты — сначала на своих внутренних больших датасетах, а затем на небольших академических. И подтвердили, что наша формула хорошо работает, причем работает лучше стандартной! На полноценный long paper на RecSys времени не хватило (когда появилось время на написание статьи, до дедлайна было меньше двух недель), поэтому подались на short paper. Статья получила хорошие отзывы и была принята на RecSys, чему мы несказанно рады :)
Ещё хочется немного подсветить остальную ценность статьи. До этого я не видел в академической литературе замеры на публичных датасетах для logQ-коррекции. Мы эти замеры сделали и показали, что популярная в индустрии logQ-коррекция хорошо работает и в академическом сетапе. Кроме того, мы, возможно, первыми на этих датасетах показали пользу от mixed negative sampling (таких замеров я тоже раньше не встречал, но здесь уже меньше уверен).
И последнее — мы сделали две валидации. Было понимание, что без leave-one-out схемы, как бы я ее ни недолюбливал, есть большая вероятность не пройти ревью :) Но делать только leave-one-out валидацию тоже не хотелось. Поэтому сделали также temporal split валидацию. Получилось, что ранжирование моделей c точки зрения качества в этих двух сетапах заметно различается.
Остальные подробности — читайте в статье!
А вот и наша статья, принятая на RecSys 2025, добралась до arxiv’а! Что мы сделали: улучшили logQ-коррекцию.
Почему это важно: logQ-коррекция активно используется в индустрии для обучения нейросетевых двухбашенных retrieval моделей. Я за свою жизнь в Яндексе неоднократно участвовал в больших и успешных внедрениях нейросетевых кандидатогенераторов, которые не случились бы без logQ-коррекции.
Улучшение связано с тем, как в формуле logQ-коррекции используется положительный айтем (далее именуемый “позитив”). Он появляется в двух местах — и в числителе, и в знаменателе софтмакса. К числителю вопросов нет. А вот в знаменателе есть странности. Например, в исходной статье от Google к позитиву в знаменателе применяется logQ-поправка; а в следующей статье от тех же авторов — уже нет. То есть для сэмплированных негативов в знаменателе logQ-поправка есть, для позитива — нет. А вывод такой формулы нигде не приводится / не обосновывается.
Более того, само использование позитива в знаменателе выглядит сомнительно. Оригинальный вывод формулы, который Bengio проделал в начале нулевых для доисторических языковых моделей, гласит: для оценки знаменателя софтмакса можно насэмплировать айтемы из произвольного распределения Q (обычного называемого proposal distribution) и добавить к ним ту самую “logQ-поправку”. Распределение Q — это как раз и есть то распределение, из которого мы сэмплируем негативы; которое чаще всего является in-batch распределением.
И когда мы рассматриваем конкретный обучающий пример, то есть конкретную пару (user, positive item), и для нее считаем сэмплированный softmax-лосс с logQ-коррекцией, мы не сэмплируем позитив из распределения Q — он приходит к нам детерминированно, с вероятностью 1. А в формуле он используется для Монте-Карло оценки в предположении, что мы сэмплируем его из Q.
Долгое время мы, как и все, просто плыли по течению и использовали logQ-коррекцию в том виде, в каком все ее применяют. Но потом я взялся сделать ту самую лекцию про нейросетевую генерацию кандидатов для ШАДа, в которой в том числе хотел осветить logQ-коррекцию — строго, с математическим выводом. Хотелось также обосновать формулы, использующие позитив в знаменателе, с logQ-поправкой и без.
Когда я в рамках математических выкладок отделил позитив от Монте-Карло сэмплирования, получилась совершенно другая формула! В которой позитива не было в знаменателе софтмакса вообще, но при этом появилось взвешивание сэмплов. Чем меньше модель ошибается на сэмпле (то есть предсказывает большую вероятность позитива), тем меньше вес этого сэмпла.
Мы поставили эксперименты — сначала на своих внутренних больших датасетах, а затем на небольших академических. И подтвердили, что наша формула хорошо работает, причем работает лучше стандартной! На полноценный long paper на RecSys времени не хватило (когда появилось время на написание статьи, до дедлайна было меньше двух недель), поэтому подались на short paper. Статья получила хорошие отзывы и была принята на RecSys, чему мы несказанно рады :)
Ещё хочется немного подсветить остальную ценность статьи. До этого я не видел в академической литературе замеры на публичных датасетах для logQ-коррекции. Мы эти замеры сделали и показали, что популярная в индустрии logQ-коррекция хорошо работает и в академическом сетапе. Кроме того, мы, возможно, первыми на этих датасетах показали пользу от mixed negative sampling (таких замеров я тоже раньше не встречал, но здесь уже меньше уверен).
И последнее — мы сделали две валидации. Было понимание, что без leave-one-out схемы, как бы я ее ни недолюбливал, есть большая вероятность не пройти ревью :) Но делать только leave-one-out валидацию тоже не хотелось. Поэтому сделали также temporal split валидацию. Получилось, что ранжирование моделей c точки зрения качества в этих двух сетапах заметно различается.
Остальные подробности — читайте в статье!
Forwarded from Information Retriever
Genrec.pdf
1.6 MB
Turbo ML Conf 2025.
Сегодня выступал на Turbo ML Conf 2025 с докладом про генеративные рексистемы. По сути, это был сиквел к докладу про Аргуса. Рассказывал про свое видение и про наши эксперименты. Cделал отсылку к РЛ :)
Как всегда, было приятно поделиться с коммьюнити мыслями и идеями.
Секцию про кулуары в этот раз писать не буду, могу лишь подчеркнуть, что было много хороших вопросов и обсуждений: и про сегодняшний доклад, и про Аргуса, и про нейросетевое ранжирование. Даже про нашу рексис статью :)
Трансляции не было, запись организаторы выложат позже. Презентацию прикладываю. Я в этот раз чуть поленился с презентацией и советую по возможности посмотреть запись рассказа (когда она появится), там гораздо больше информации.
P.S: а еще пост на линкедине про нашу logQ статью постепенно набирает обороты. Хочется, чтобы как можно больше людей увидели саму статью, поддержитеотечественного производителя отечественную науку лайком! :)
Сегодня выступал на Turbo ML Conf 2025 с докладом про генеративные рексистемы. По сути, это был сиквел к докладу про Аргуса. Рассказывал про свое видение и про наши эксперименты. Cделал отсылку к РЛ :)
Как всегда, было приятно поделиться с коммьюнити мыслями и идеями.
Секцию про кулуары в этот раз писать не буду, могу лишь подчеркнуть, что было много хороших вопросов и обсуждений: и про сегодняшний доклад, и про Аргуса, и про нейросетевое ранжирование. Даже про нашу рексис статью :)
Трансляции не было, запись организаторы выложат позже. Презентацию прикладываю. Я в этот раз чуть поленился с презентацией и советую по возможности посмотреть запись рассказа (когда она появится), там гораздо больше информации.
P.S: а еще пост на линкедине про нашу logQ статью постепенно набирает обороты. Хочется, чтобы как можно больше людей увидели саму статью, поддержите
Forwarded from Information Retriever
RecSys Substack.
Кто-то, возможно, помнит, как я раньше почти каждую неделю делал дайджесты со статьями, в которых обозревал новинки с arXiv.
Начинал я это делать еще внутри Яндекса, почти три года назад, в рамках IR семинара. В какой-то момент обнаружил, что уже есть рассылка с похожим дайджестом от инженера из бигтеха — Sumit Kumar’а. Мы с ним независимо продолжали делать эти рассылки (я — сначала для яндексоидов, потом для вас; а Sumit — для всех). Интересно было наблюдать, что они получались довольно разными. В итоге я писать дайджесты перестал, а Sumit вот все еще продолжает.
Статья про logQ попала в прошлый дайджест Sumit’а, а статья про Аргуса — в текущий, причем аж на первое место, что особенно приятно :) Забавно наблюдать, что на четвертом месте — статья с почти таким же названием от ByteDance.
А еще когда-то давно у меня уже была отчаянная попытка начать писать статьи про рекомендашки — тогда я описал наше первое внедрение трансформера в Маркет. На конференцию статья не прошла, а вот в Substack Sumit’а попала — и это было хорошим утешительным призом :) Статья была не очень хорошо написана (я тогда еще не умел писать статьи, особенно на английском), а вот доклад на Датафесте вышел очень даже неплохой. По ощущениям, именно с него началось мое влияние на рекомендательную индустрию вне Яндекса.
Sumit, кстати, на канал подписан и даже когда-то что-то комментировал. Если ты это читаешь — привет и спасибо :)
Если не успеваете листать архив и вам не хватает дайджестов — подписывайтесь на RecSys Substack Sumit’а. Ссылочка
Кто-то, возможно, помнит, как я раньше почти каждую неделю делал дайджесты со статьями, в которых обозревал новинки с arXiv.
Начинал я это делать еще внутри Яндекса, почти три года назад, в рамках IR семинара. В какой-то момент обнаружил, что уже есть рассылка с похожим дайджестом от инженера из бигтеха — Sumit Kumar’а. Мы с ним независимо продолжали делать эти рассылки (я — сначала для яндексоидов, потом для вас; а Sumit — для всех). Интересно было наблюдать, что они получались довольно разными. В итоге я писать дайджесты перестал, а Sumit вот все еще продолжает.
Статья про logQ попала в прошлый дайджест Sumit’а, а статья про Аргуса — в текущий, причем аж на первое место, что особенно приятно :) Забавно наблюдать, что на четвертом месте — статья с почти таким же названием от ByteDance.
А еще когда-то давно у меня уже была отчаянная попытка начать писать статьи про рекомендашки — тогда я описал наше первое внедрение трансформера в Маркет. На конференцию статья не прошла, а вот в Substack Sumit’а попала — и это было хорошим утешительным призом :) Статья была не очень хорошо написана (я тогда еще не умел писать статьи, особенно на английском), а вот доклад на Датафесте вышел очень даже неплохой. По ощущениям, именно с него началось мое влияние на рекомендательную индустрию вне Яндекса.
Sumit, кстати, на канал подписан и даже когда-то что-то комментировал. Если ты это читаешь — привет и спасибо :)
Если не успеваете листать архив и вам не хватает дайджестов — подписывайтесь на RecSys Substack Sumit’а. Ссылочка
Forwarded from Рекомендательная [RecSys Channel]
Scaling law в рекомендательных системах
Законы масштабирования вышли за рамки NLP и успешно применяются в рекомендательных системах. В наших карточках исследователь Владимир Байкалов затронул последние работы на эту тему. С обзором прошлых статей можно ознакомиться в этом посте.
Работы, упомянутые в карточках:
- Language Models are Unsupervised Multitask Learners
- Scaling Laws for Neural Language Models
- Training Compute-Optimal Large Language Models
- Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations
- Scaling New Frontiers: Insights into Large Recommendation Models
- Unlocking Scaling Law in Industrial Recommendation Systems with a Three-step Paradigm based Large User Model
- Scalable Cross-Entropy Loss for Sequential Recommendations with Large Item Catalogs
- Разбор статьи HSTU в канале «Рекомендательная»
Обзор подготовил❣ Владимир Байкалов
Законы масштабирования вышли за рамки NLP и успешно применяются в рекомендательных системах. В наших карточках исследователь Владимир Байкалов затронул последние работы на эту тему. С обзором прошлых статей можно ознакомиться в этом посте.
Работы, упомянутые в карточках:
- Language Models are Unsupervised Multitask Learners
- Scaling Laws for Neural Language Models
- Training Compute-Optimal Large Language Models
- Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations
- Scaling New Frontiers: Insights into Large Recommendation Models
- Unlocking Scaling Law in Industrial Recommendation Systems with a Three-step Paradigm based Large User Model
- Scalable Cross-Entropy Loss for Sequential Recommendations with Large Item Catalogs
- Разбор статьи HSTU в канале «Рекомендательная»
Обзор подготовил
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ML Baldini • Nikita Boyandin (Nikita Boyandin)
Огромный список open-source LLM для работы
1️⃣ Deepseek
DeepSeek-Math-7B
DeepSeek-Coder-1.3|6.7|7|33B
DeepSeek-VL-1.3|7B
DeepSeek-MoE-16B
DeepSeek-v2-236B-MoE
DeepSeek-Coder-v2-16|236B-MOE
DeepSeek-V2.5
DeepSeek-V3
DeepSeek-R1
2️⃣ Alibaba
Qwen-1.8B|7B|14B|72B
Qwen1.5-0.5B|1.8B|4B|7B|14B|32B|72B|110B|MoE-A2.7B
Qwen2-0.5B|1.5B|7B|57B-A14B-MoE|72B
Qwen2.5-0.5B|1.5B|3B|7B|14B|32B|72B
CodeQwen1.5-7B
Qwen2.5-Coder-1.5B|7B|32B
Qwen2-Math-1.5B|7B|72B
Qwen2.5-Math-1.5B|7B|72B
Qwen-VL-7B
Qwen2-VL-2B|7B|72B
Qwen2-Audio-7B
Qwen2.5-VL-3|7|72B
Qwen2.5-1M-7|14B
3️⃣ Meta
Llama 3.2-1|3|11|90B
Llama 3.1-8|70|405B
Llama 3-8|70B
Llama 2-7|13|70B
Llama 1-7|13|33|65B
OPT-1.3|6.7|13|30|66B
4️⃣ Mistral AI
Codestral-7|22B
Mistral-7B
Mixtral-8x7B
Mixtral-8x22B
5️⃣ Google
Gemma2-9|27B
Gemma-2|7B
RecurrentGemma-2B
T5
6️⃣ Apple
OpenELM-1.1|3B
7️⃣ Microsoft
Phi1-1.3B
Phi2-2.7B
Phi3-3.8|7|14B
8️⃣ Nvidia
Nemotron-4-340B
0️⃣ xAI
Grok-1-314B-MoE
🔟 Cohere
Command R-35
1⃣ 1⃣ OpenAI
Самые новые модели, которые вышли буквально во вторник
Ироничный получается вывод, если смотреть на топ этого списка) Какие бы вы еще хотели подборки?) Обязательно ставьте реакции и буду ждать вас в комментариях💗
DeepSeek-Math-7B
DeepSeek-Coder-1.3|6.7|7|33B
DeepSeek-VL-1.3|7B
DeepSeek-MoE-16B
DeepSeek-v2-236B-MoE
DeepSeek-Coder-v2-16|236B-MOE
DeepSeek-V2.5
DeepSeek-V3
DeepSeek-R1
Qwen-1.8B|7B|14B|72B
Qwen1.5-0.5B|1.8B|4B|7B|14B|32B|72B|110B|MoE-A2.7B
Qwen2-0.5B|1.5B|7B|57B-A14B-MoE|72B
Qwen2.5-0.5B|1.5B|3B|7B|14B|32B|72B
CodeQwen1.5-7B
Qwen2.5-Coder-1.5B|7B|32B
Qwen2-Math-1.5B|7B|72B
Qwen2.5-Math-1.5B|7B|72B
Qwen-VL-7B
Qwen2-VL-2B|7B|72B
Qwen2-Audio-7B
Qwen2.5-VL-3|7|72B
Qwen2.5-1M-7|14B
Llama 3.2-1|3|11|90B
Llama 3.1-8|70|405B
Llama 3-8|70B
Llama 2-7|13|70B
Llama 1-7|13|33|65B
OPT-1.3|6.7|13|30|66B
Codestral-7|22B
Mistral-7B
Mixtral-8x7B
Mixtral-8x22B
Gemma2-9|27B
Gemma-2|7B
RecurrentGemma-2B
T5
OpenELM-1.1|3B
Phi1-1.3B
Phi2-2.7B
Phi3-3.8|7|14B
Nemotron-4-340B
Grok-1-314B-MoE
Command R-35
Самые новые модели, которые вышли буквально во вторник
Ироничный получается вывод, если смотреть на топ этого списка) Какие бы вы еще хотели подборки?) Обязательно ставьте реакции и буду ждать вас в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Борис опять
Оказывается у Univercity of Amsterdam есть отличный набор материалов к курсам по Deep Learning
https://uvadlc-notebooks.readthedocs.io/en/latest/index.html
Например, посмотрите какой красивый туториал по реализации SimCLR: https://uvadlc-notebooks.readthedocs.io/en/latest/tutorial_notebooks/tutorial17/SimCLR.html
Куча каких-то тем о которых очень сложно найти нормальные материалы, например про Tensor Parallelism для обучения и инференса одной большой модели на нескольких GPU.
Лекции тоже частично доступны за прошлые годы, например 2023: https://uvadlc.github.io/lectures-nov2023.html#.
https://uvadlc-notebooks.readthedocs.io/en/latest/index.html
Например, посмотрите какой красивый туториал по реализации SimCLR: https://uvadlc-notebooks.readthedocs.io/en/latest/tutorial_notebooks/tutorial17/SimCLR.html
Куча каких-то тем о которых очень сложно найти нормальные материалы, например про Tensor Parallelism для обучения и инференса одной большой модели на нескольких GPU.
Лекции тоже частично доступны за прошлые годы, например 2023: https://uvadlc.github.io/lectures-nov2023.html#.