Как Meta не стала изобретать велосипед
Все мы любим точные рекомендации. Вы открываете приложение, а лента знает, что вы хотите увидеть. За этим стоит обычная нейросеть, которая уже изучила вас и похожих пользователей на исторических данных. Она анализирует каждый ваш клик, время проведенное на карточке товара и еще куча всяких факторов. Проблема в том, что такие модели очень тяжелые, а чем умнее система, тем больше мощности, энергии и дорогого оборудования она требует. Инженеры Meta нашли выход и они не стали в сотый раз изобретать новую архитектуру, а грамотно подкрутили старую. Недавно они опубликовали исследование о том, как простыми инженерными уловками можно ускорить рекомендации. Главное достижение не в новой формуле, а в инженерной оптимизации. Они смогли сократить вычисления в десять раз, что позволило запустить одну из самых больших моделей в мире. Точные размеры не называют, но известно, что система запоминает 16 тысяч действий пользователя. 16 тысяч, Карл!!!!! Обычно модели видят только последние сотни событий и это уже считается крутым результатом. Как они это сделали? Вот пять простых приемов.
1. Упаковка данных. Раньше история пользователя кодировалась подробно. Товар и действие записывались отдельно. Теперь их суммируют в один сигнал(числовой вектор). Это сократило вычисления на треть при обучении. При работе модели экономия достигла 63 процентов 2. Честная нагрузка. При обучении на сотнях видеокарт часто возникает проблема. Одни карты простаивают, другие перегружены. Новый метод выравнивает задачу. Все процессоры работают равномерно. Пропускная способность выросла на 15 процентов. Качество не пострадало. 3. Умное внимание. Модель не смотрит на всю историю одинаково. Она фокусируется на недавних действиях. Долгосрочные интересы учитываются бегло. Это превратило сложные вычисления в быстрые. Эффективность выросла в несколько раз. 4. Облегченная математика. Основные операции стали легче. Данные хранятся точно. Вычисления идут в урезанном формате. Это снизило нагрузку на память. Скорость работы готовой модели подскочила на 40 процентов. 5. Глубина только там, где нужно. Первые слои модели анализируют всю историю. Последние слои смотрят только на свежее. Это сократило нагрузку еще в полтора раза. Какие результаты в реальности? Модель уже работает. У нее 18 слоев. Длина истории достигла 16 тысяч событий. Обучение шло на кластере из сотен мощных чипов. Пользователи стали активнее. Потребление контента выросло на 4 процента. Вовлеченность увеличилась от 2 до 8 процентов. В мире рекомендаций это огромный прорыв. Даже единичный процент считается успехом. Есть еще один интересный вывод. Ученые заметили закономерность. Углубление одних слоев быстро перестает давать эффект. Другие слои продолжают улучшать результат при росте глубины. Главный урок этой истории прост. Не всегда нужна новая магия, а иногда достаточно оптимизировать старое решение. Инженерия позволяет масштабироваться там, где теория уперлась в потолок. Meta показала, что скорость решает. #Meta #AI #Tech #RecSys #Инженерия
· 21.02
Интересный кейс. Цепляет то, что при ограниченных ресурсах выгоднее допилить старое, чем разрабатывать новое. Особенно актуально для крупных проектов
Как вы думаете: как не пропустить момент, когда оптимизация начнет превращаться латание дыр, тормозя развитие? На какие метрики смотреть? Может быть, вам как-то удалось найти баланс между оптимизацией легаси и новой разработкой? Бизнес же всегда хочет новые фичи 🙃
ответить
коммент удалён