Серия рекомендаций System Engineering (1): Система рекомендаций в моих глазах

искусственный интеллект
Серия рекомендаций System Engineering (1): Система рекомендаций в моих глазах

Эта статья была опубликована в колонке Zhihu:ууууууу.прямой call.com/column/from_14…

Вы также можете подписаться на мою колонку

1. Введение

Зачем эта колонка?

Я считаю, что, как и большинство людей, моя книга по техническому просвещению — это также книга Учителя Ву Цзюня «Красота математики». Когда я учился в колледже, когда я впервые прочитал ее, меня глубоко привлекло очарование математики и алгоритмов, и именно с этого времени я начал соприкасаться с концепцией рекомендации. После работы я трачу большую часть своего времени на разработку рекомендательных систем и проектов. С развитием бизнеса технология рекомендаций меняется с каждым днем ​​и становится все более сложной, поэтому я надеюсь общаться и учиться с вами путем накопления знаний, чтобы улучшить свое общее понимание.

С другой стороны, в Интернете есть много больших V, а в хороших технических колонках представлены рекомендательные системы. НапримерЗаметки Ван Чжэ по машинному обучениюБольше внимания уделяется интерпретации алгоритмов и тезисов, я также надеюсь рассказать о своем понимании с точки зрения инженерной реализации.

2. Обзор рекомендательных систем

1. Что такое рекомендательная система и какую проблему решает рекомендательная система?

Рекомендательная система — это персонализированная система фильтрации информации.

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

Информация может быть в виде текста, изображений, звуков, визуальных эффектов и т.д. С развитием человеческой цивилизации способы получения информации людьми также постоянно меняются. В первобытно-племенную эпоху это были иероглифы и фрески из черепашьего панциря, в Средние века — пергаментные свитки, бумага, а промышленная революция — телеграф, телефон, а затем и современный Интернет.

Модернизация технологий снижает стоимость создания и передачи информации, что, естественно, приводит к резкому информационному взрыву.

В условиях перегрузки массой информации, чтобы повысить эффективность сбора информации, появились поисковые системы, как правило, Google и Baidu.

Но поиск — это активный, преднамеренный акт. Большую часть времени внимание и фокус людей расплывчаты и неопределенны, а индивидуальные предпочтения и интересы сильно различаются. Система рекомендаций дополнительно повышает эффективность получения информации и распределяет различную информацию по соответствующим группам предпочтений.Люди больше не получают информацию одним способом, и информация также может активно устанавливать контакт с людьми.

2. Масштабное применение рекомендательных систем

В современном мире рекомендательные системы проникли во все уголки жизни.

Из заголовков новостей Douyin, электронной коммерции Taobao, Pinduoduo и даже развлечений для жизни, Meituan и Dianping, они широко используют системы рекомендаций, чтобы улучшить связь между пользователями и платформами.

image.png

3. Архитектура системы рекомендаций

Как построить рекомендательную систему? Из каких модулей состоит рекомендательная система?

Архитектура системы рекомендаций

image.png

Во-первых, это рекомендуемые источники контента:

Источник контента обычно связан с бизнес-сферой, в которой он расположен. Например, информационные или видеоприложения, контент обычно загружается на платформу пользователем (UGC) или организацией MCN (PGC). Платформа проверит контент на безопасность и качество. В то же время он также будет проводить общие черные и серые атаки. После того, как контент сохранен, контент будет пониматься в соответствии с различными типами. Например, содержимое изображений и текстов будет извлечено по тегам. Видеоконтент будет помечен мультимодальной технологией. После синтаксического анализа каждому фрагменту контента соответствует система идентификаторов и тегов, которая сохраняется в пуле контента для использования системой рекомендаций. Другие сценарии, такие как электронная коммерция, музыка, фильмы и т. д., аналогичны.

С точки зрения инженерной реализации рекомендательная система в основном делится на три основных блока.

  1. Онлайн-модуль: Решаем, что продвигать
  2. Автономный модуль: изучите привычки пользователей и улучшите точность характеристики пользователей системой.
  3. Платформа управления: управление экспериментами, анализ результатов рекомендаций и т. д.

3.1 Онлайн-модуль

Взяв в качестве примера YouTube, миллионы контента загружаются на платформу каждый день, а после того, как контент просматривается и сохраняется. Пулы контента могут достигать миллионов

Как вы можете выбрать контент, который нравится пользователям, из пула миллионов контента?

Для решения этой проблемы рекомендательные системы обычно имеют несколько этапов.

  1. Индекс и особенности:Несколько типов указателей будут установлены заранее в соответствии с характеристиками контента.
  2. Фаза отзыва:Когда пользователь запрашивает, тысячи/тысячи элементов будут извлечены из различных индексов.
  3. Этап грубой сортировки:Для этих тысяч/тысяч наименований выполняется первая оценка, а затем отсеиваются сотни или тысячи наименований. Модель сортировки на этом этапе, как правило, относительно проста и может отфильтровывать те, которые явно не связаны с интересами пользователей.
  4. Стадия уточнения:После получения сотен элементов на этапе точной настройки будет создана относительно точная модель, а ранжирование будет основано на профиле пользователя, предпочтениях, контексте и бизнес-целях. Как правило, 50-100 штук возвращаются на сторону двигателя после тонкой сортировки.
  5. этап перестройки:Сторона двигателя получает 50 пунктов, которые точно расположены. Также будет много ручного вмешательства и логики продукта, например, разнообразие между элементами, логика стратегии продукта, такая как популярные, липкие, смешивание позиций между различным контентом и так далее. В итоге около 5-10 предметов будут возвращены и выставлены клиенту.

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

3.2 Автономный модуль

Как рекомендательные системы могут изучать привычки пользователей?

image.png

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

В настоящее время в отрасли существует два метода обучения: пакетное обучение, которое проводится каждый час, и потоковое обучение, которое проводится непосредственно через платформу глубокого обучения после объединения образцов.

Фреймворки глубокого обучения расцветают. Tensorflow с открытым исходным кодом, pytorch, mxnet и т. д. Однако при рекомендации этого сценария текущая структура обучения может иметь некоторые проблемы с производительностью (распределенное обучение, сверхкрупномасштабные разреженные параметры и т. д.), поэтому каждая крупная фабрика в основном принимает комбинацию самостоятельной разработки + открытый исходный код.

как:

  1. XDL Али: преобразование на основе тензорного потока.
  2. Baidu paddlepaddle: платформа глубокого обучения собственной разработки, несовместимая с tensorflow
  3. Бесчисленная бесконечность Tencent: из предыдущего полного самоисследования он медленно выравнивается с тензорным потоком.
  4. BytePs of Bytes: серверная часть параметров PS была разработана самостоятельно, а основная структура обучения также совместима с tensorflow.

После того, как учебная платформа соответствует модели, отправьте ее в онлайн-сервис и предоставьте отзыв + приблизительное ранжирование + точное ранжирование + повторное ранжирование и другие этапы вызова через онлайн-обслуживание. Таким образом, формируется замкнутый цикл данных. Генерируйте данные о поведении пользователей в Интернете, учитесь и подстраивайтесь в автономном режиме, а также реагируйте на онлайн-сервисы.

Эта более сложная примерная платформа предназначена для исследования тренировочных рамок, также позже будет написана отдельная статья.

3.3 Рекомендации для платформы управления

Как эффективно сотрудничать и быстро выполнять итерации между системными модулями?

В сценарии с рекомендацией потребности пользователей не очень ясны, пользователи очень субъективно чувствуют, хороши или плохи результаты рекомендаций. Таким образом, каждая платформа будет оценивать и оценивать, устанавливая рейтинг кликов, индикаторы взаимодействия и т. д. Продукт, работа и технология При оптимизации индикаторов требуются частые тесты AB. Поэтому эффективное управление экспериментом, разделение трафика, уверенность в результатах эксперимента и независимость становятся очень важными.

Кроме того, рекомендательная система на самом деле представляет собой относительно сложную систему.Из-за сложной связи данных результаты рекомендаций часто должны быть интерпретируемыми, диагностируемыми и визуализированными, чтобы свести к минимуму «черное ядро» рекомендательной системы.

4. Проблемы рекомендательных систем

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

Например:

  1. Извлечение признаков должно быть сделано в какой ссылке? Функциональная услуга или демонстрационная услуга? Как обеспечить согласованность функций.
  2. Как избежать пересечения признаков при составлении отчетов об образцах?
  3. Как сшивка образцов повышает эффективность, параллельные эксперименты
  4. Выбор индекса, соображения стоимости и эффективности
  5. В рамках потокового обучения производительность функций в реальном времени, производительность сплайсинга образцов, а также обучающая платформа, как обновлять модель обслуживания в режиме реального времени и другие технические вопросы.

5 планов написания

Следующая колонка будет разделена на 6 основных модулей, в которых будут представлены практики и инженерные методы каждой крупной модульной отрасли.

  1. Сервисный модуль дедупликации
  2. Модуль разработки функций
  3. индексный модуль
  4. модуль отзыва
  5. образец модуля
  6. учебный рамочный модуль

6. Ссылки

ууууууу. Calling.com/column/from_13…

zhuanlan.zhihu.com/p/143816066

Woo Woo.info Q.Can/article/Y4G…*ePCv1we82rJVC5I

Уууу. Я обычный человек.com/touch/4202594. …

Woohoo. Я простолюдин.com/touch/4223123. …

Woohoo. Я простолюдин.com/IT/3563857. …

zhuanlan.zhihu.com/p/114590897