В больших нейросетевых рекомендерах количество уникальных значений sparse-признаков измеряется миллиардами. Из-за этого почти все обучаемые параметры содержатся в таблицах эмбеддингов. Такие таблицы занимают сотни гигабайт памяти GPU – это вызывает проблемы при обучении и применении моделей.
Для распределения значений признаков по таблицам эмбеддингов можно использовать хеш-функции. Помимо снижения необходимого объёма памяти это позволяет дообучать модели онлайн. При появлении нового значения не нужно увеличивать таблицу — достаточно посчитать хеш-значения и использовать уже существующую строку.
Недостаток использования хеш-функций – снижение метрик из-за возникающих коллизий. Однако можно подобрать компромисс, при котором потери в качестве модели будут малы, а количество места, занимаемого эмбеддингами, снизится в несколько раз.
Авторы статьи предлагают подход к построению таблиц эмбеддингов, который называется Feature Multiplexing Framework. Идея в том, чтобы использовать одну таблицу для представления разных признаков. Переиспользование параметров позволяет уменьшить требования к памяти и время поиска. При этом качество предсказаний не страдает, так как модели проще научиться работать с коллизиями между разными признаками, чем с коллизиями внутри одного признака. Это происходит из-за того, что обработка разных признаков происходит разными частями модели, каждая со своим набором обучаемых параметров. В качестве такой модели можно использовать DCN-V2.
Авторы приводят результаты применения предложенного подхода к пяти задачам. Во всех экспериментах увеличились как офлайн, так и онлайн метрики (см. таблицу в начале поста). Более того, Feature Multiplexing Framework уменьшает количество гиперпараметров: раньше нужно было выбирать размерность таблиц эмбеддингов каждого признака, а теперь только одной. Кажется, в том, что предлагают исследователи из DeepMind, одни плюсы и никаких минусов 🧙♂️.
Post #67
881
ML — это ОК #recsys23 EFFICIENT DATA REPRESENTATION LEARNING IN GOOGLE-SCALE SYSTEMS https://dl.acm.org/doi/10.1145/3604915.3608882
- 🔥 5
- ❤ 1
- ✍ 1