Рекомендательные системы
От заказа еды до видео по запросу, потокового аудио и моды — системы рекомендаций лежат в основе некоторых из самых популярных сегодня приложений. Узнайте, как создавать готовые к использованию системы рекомендаций с помощью библиотек и инструментов с открытым исходным кодом из экосистемы TensorFlow.
Системы рекомендаций повышают вовлеченность пользователей в ваше приложение и повышают удобство работы пользователей, предоставляя наиболее желательный контент. Современные рекомендатели представляют собой сложные системы, которые часто разбиваются на несколько этапов для достижения низкой задержки в работе. На этапах поиска, ранжирования и, возможно, после ранжирования нерелевантные элементы постепенно отфильтровываются из большого пула кандидатов, и наконец представляется список опций, с которыми пользователи с наибольшей вероятностью будут взаимодействовать.
Начните создание с помощью TensorFlow Recommenders — простой в использовании платформы, которая упрощает весь рабочий процесс создания рекомендательной системы — от подготовки данных до развертывания.
Завершив обучение своих моделей, разверните их в рабочей среде, чтобы предоставлять рекомендации конечным пользователям. TensorFlow Serving создает ваши модели для высокопроизводительного вывода. Он направлен на максимизацию пропускной способности моделей машинного обучения и может поддерживать большие модели рекомендаций, требующие распределенного обслуживания.
# Deploy the retrieval model with TensorFlow Serving docker run -t --rm -p 8501:8501 \ -v "RETRIEVAL/MODEL/PATH:/models/retrieval" \ -e MODEL_NAME=retrieval tensorflow/serving & # Retrieve top movies that user 42 may like curl -X POST -H "Content-Type: application/json" \ -d '{"instances":["42"]}' \ http://localhost:8501/v1/models/retrieval:predict # Output # { # "predictions":[ # { # "output_1": [2.032, 1.969, 1.813], # "output_2": ["movie1”, “movie2”, “movie3”] # } # ] # } # Deploy the ranking model with TensorFlow Serving docker run -t --rm -p 8501:8501 \ -v "RANKING/MODEL/PATH:/models/ranking" \ -e MODEL_NAME=ranking tensorflow/serving & # Get the prediction score for user 42 and movie 3 curl -X POST -H "Content-Type: application/json" \ -d '{"instances":[{"user_id":"42", "movie_title":"movie3"}]}' \ http://localhost:8501/v1/models/ranking:predict # Output: # {"predictions": [[3.66357923]]}
Улучшите этапы поиска и ранжирования рекомендательных систем.
Крупномасштабные системы рекомендаций требуют, чтобы наиболее релевантные элементы были определены среди миллионов кандидатов на этапах поиска и ранжирования эффективным и действенным образом. Дополните рекомендатели TensorFlow современными алгоритмами поиска приближенного ближайшего соседа (ANN) и методами обучения ранжированию (LTR) для улучшения рекомендаций.
ScaNN — это библиотека для масштабного поиска сходства векторов. Он использует самые современные методы ИНС, такие как асимметричное хеширование и анизотропное квантование, для ускорения поиска лучших кандидатов.
TensorFlow Ranking — это библиотека для разработки масштабируемых нейронных моделей LTR. Он предоставляет дополнительные функции для ранжирования элементов-кандидатов, чтобы максимизировать полезность ранжирования.
Оптимизация больших вложений для обучения модели и вывода
Операция поиска по внедрению является важнейшим компонентом крупномасштабных рекомендательных систем. Используйте аппаратное ускорение и технологию динамического внедрения, чтобы преодолеть узкие места производительности, характерные для больших таблиц внедрения.
API уровня TPUEmbedding облегчает обучение и обслуживание больших таблиц внедрения на тензорных процессорах (TPU).
TensorFlow Recommenders Addons — это проект сообщества, в котором используется технология динамического внедрения, которая особенно полезна для онлайн-обучения.
Сохраняйте конфиденциальность пользователей
Традиционные системы рекомендаций полагаются на сбор журналов взаимодействия с пользователем и обучение моделей рекомендаций, основанных на необработанных действиях пользователей. Обеспечьте конфиденциальность пользовательских данных, применяя методы ответственной разработки ИИ .
TensorFlow Lite предоставляет решение для рекомендаций на устройстве, которое обеспечивает минимальную задержку и высокое качество рекомендаций, сохраняя при этом все пользовательские данные на мобильных устройствах.
TensorFlow Federated — это платформа для федеративного обучения и других вычислений на децентрализованных данных. Федеративная реконструкция привносит матричную факторизацию в среду федеративного обучения и лучше защищает конфиденциальность пользователей при получении рекомендаций.
Используйте передовые методы для более опытных рекомендателей.
Хотя классические модели совместной фильтрации широко используются в отрасли, наблюдается растущая тенденция к использованию передовых методов, таких как обучение с подкреплением и нейронные сети графов (GNN), для создания систем рекомендаций.
TensorFlow Agents Bandits — это комплексная библиотека бандитских алгоритмов, которые можно эффективно исследовать и использовать в настройках механизма рекомендаций.
TensorFlow GNN — это библиотека, которая может эффективно предоставлять рекомендации по элементам на основе сетевых структур и использоваться в сочетании с моделями поиска и ранжирования.
Узнайте, как использовать большие языковые модели (LLM), такие как PaLM API, для расширения ваших систем рекомендаций.
Эталонные современные модели рекомендаций
Чтобы оценить производительность известной модели или создать свои собственные рекомендательные модели, ознакомьтесь с официальными реализациями популярных моделей TensorFlow, такими как NCF, DLRM и DCN v2, для получения лучших практик.
Образовательные ресурсы
Узнайте больше о создании систем рекомендаций, прочитав пошаговые курсы и видеоролики.
Реальные системы рекомендаций
Изучите примеры и тематические исследования систем рекомендаций, используемых в приложениях в каждой отрасли.
Узнайте о том, как Digitec Galaxus обучает и обслуживает миллионы персонализированных информационных бюллетеней в неделю с помощью агентов TFX и TensorFlow.
Узнайте, как HarperDB использует TensorFlow Recommenders и TensorFlow.js для создания системы рекомендаций на основе совместной фильтрации для товаров в продуктовых магазинах.
Узнайте, как Spotify использовал экосистему TensorFlow для разработки расширяемого автономного симулятора и обучения агентов RL генерированию рекомендаций по спискам воспроизведения.