Telegram Group & Telegram Channel
Recommender Systems with Generative Retrieval [2023] - наконец-то генеративные рекомендации?

Нечасто пишу сюда про статьи по рекомендациям - обычно в них мало интересного, но иногда мне попадается что-нибудь стоящее.

Итак, часто, если у вас есть мощная рекомендательная модель типа трансформера, то она получает на вход пару (юзер, документ) в каком-нибудь виде и предсказывает таргеты - лайки / покупки / другие. Таким образом, одно применение модели позволяет оценить качество одного кандидата.

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

Но к этому можно подойти и с другой стороны. Пусть каждый документ представлен вектором. Может ли какая-нибудь мощная модель гененировать вектор? Напрямую делать это нельзя - mse-лоссы вроде как плохо работают в таком сетапе.

В статье предлагают перейти к трансформерному декодеру. Чтобы дискретизовать эмбеддинги, нужно обучить что-то типа VQ-VAE, который умеет превращать эмбеддинг в небольшую последовательность дискретных чисел. Таким образом, данные становятся похожими на язык.

Вкратце о VQ-VAE - вместо того, чтобы обучать скрытое представление малой размерности, мы обучаем N эмбеддингов - сodebook. Получая входной вектор, мы находим ближайший к нему в таблице, его индекс и будет скрытым представлением. Декодированием будет просто взятие нужного вектора из сodebook. Это всё, конечно, недифференцируемо, но на такой случай есть старый добрый метод - забить хер и использовать Straight Through Estimator.

В статье используют RQ-VAE - много codebook-ов, после каждого из которых мы вычитаем из входа ближайший вектор из codebook-а и затем подаём в следующий. Таким образом, каждый айтем они кодируют набором из K чисел. Утверждается, что проблемы с декодированием набора чисел в номер документа несущественны.

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

У нас с коллегами возникли вопросы по применению всей этой системы в реальном мире. Главный из них - что делать, если векторные представления айтемов меняются со временем? Переобучая / дообучая RQ-VAE на ходу, нам нужно пересоздавать все дискретные представления айтемов, и каждый раз заново перестраивать весь датасет. А это фу.

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

@knowledge_accumulator



tg-me.com/knowledge_accumulator/235
Create:
Last Update:

Recommender Systems with Generative Retrieval [2023] - наконец-то генеративные рекомендации?

Нечасто пишу сюда про статьи по рекомендациям - обычно в них мало интересного, но иногда мне попадается что-нибудь стоящее.

Итак, часто, если у вас есть мощная рекомендательная модель типа трансформера, то она получает на вход пару (юзер, документ) в каком-нибудь виде и предсказывает таргеты - лайки / покупки / другие. Таким образом, одно применение модели позволяет оценить качество одного кандидата.

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

Но к этому можно подойти и с другой стороны. Пусть каждый документ представлен вектором. Может ли какая-нибудь мощная модель гененировать вектор? Напрямую делать это нельзя - mse-лоссы вроде как плохо работают в таком сетапе.

В статье предлагают перейти к трансформерному декодеру. Чтобы дискретизовать эмбеддинги, нужно обучить что-то типа VQ-VAE, который умеет превращать эмбеддинг в небольшую последовательность дискретных чисел. Таким образом, данные становятся похожими на язык.

Вкратце о VQ-VAE - вместо того, чтобы обучать скрытое представление малой размерности, мы обучаем N эмбеддингов - сodebook. Получая входной вектор, мы находим ближайший к нему в таблице, его индекс и будет скрытым представлением. Декодированием будет просто взятие нужного вектора из сodebook. Это всё, конечно, недифференцируемо, но на такой случай есть старый добрый метод - забить хер и использовать Straight Through Estimator.

В статье используют RQ-VAE - много codebook-ов, после каждого из которых мы вычитаем из входа ближайший вектор из codebook-а и затем подаём в следующий. Таким образом, каждый айтем они кодируют набором из K чисел. Утверждается, что проблемы с декодированием набора чисел в номер документа несущественны.

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

У нас с коллегами возникли вопросы по применению всей этой системы в реальном мире. Главный из них - что делать, если векторные представления айтемов меняются со временем? Переобучая / дообучая RQ-VAE на ходу, нам нужно пересоздавать все дискретные представления айтемов, и каждый раз заново перестраивать весь датасет. А это фу.

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

@knowledge_accumulator

BY Knowledge Accumulator




Share with your friend now:
tg-me.com/knowledge_accumulator/235

View MORE
Open in Telegram


Knowledge Accumulator Telegram | DID YOU KNOW?

Date: |

That strategy is the acquisition of a value-priced company by a growth company. Using the growth company's higher-priced stock for the acquisition can produce outsized revenue and earnings growth. Even better is the use of cash, particularly in a growth period when financial aggressiveness is accepted and even positively viewed.he key public rationale behind this strategy is synergy - the 1+1=3 view. In many cases, synergy does occur and is valuable. However, in other cases, particularly as the strategy gains popularity, it doesn't. Joining two different organizations, workforces and cultures is a challenge. Simply putting two separate organizations together necessarily creates disruptions and conflicts that can undermine both operations.

Export WhatsApp stickers to Telegram on iPhone

You can’t. What you can do, though, is use WhatsApp’s and Telegram’s web platforms to transfer stickers. It’s easy, but might take a while.Open WhatsApp in your browser, find a sticker you like in a chat, and right-click on it to save it as an image. The file won’t be a picture, though—it’s a webpage and will have a .webp extension. Don’t be scared, this is the way. Repeat this step to save as many stickers as you want.Then, open Telegram in your browser and go into your Saved messages chat. Just as you’d share a file with a friend, click the Share file button on the bottom left of the chat window (it looks like a dog-eared paper), and select the .webp files you downloaded. Click Open and you’ll see your stickers in your Saved messages chat. This is now your sticker depository. To use them, forward them as you would a message from one chat to the other: by clicking or long-pressing on the sticker, and then choosing Forward.

Knowledge Accumulator from ua


Telegram Knowledge Accumulator
FROM USA