Як Amp на Amazon використовував дані для підвищення залученості клієнтів, частина 2: Створення персоналізованої платформи рекомендацій щодо шоу за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Як Amp на Amazon використовував дані для підвищення залученості клієнтів, частина 2: Створення персоналізованої платформи рекомендацій щодо шоу за допомогою Amazon SageMaker

Підсилювач це новий додаток для живого радіо від Amazon. За допомогою Amp ви можете вести власне радіошоу та відтворювати пісні з каталогу Amazon Music або налаштовуватися та слухати шоу, які ведуть інші користувачі Amp. У середовищі, де контент багатий і різноманітний, важливо адаптувати користувацький досвід до індивідуальних смаків кожного користувача, щоб вони могли легко знаходити шоу, які їм подобаються, і відкривати новий вміст, який їм сподобається.

Amp використовує машинне навчання (ML), щоб надавати персоналізовані рекомендації щодо живих і майбутніх шоу Amp на домашній сторінці програми. Рекомендації обчислюються за допомогою моделі випадкового лісу з використанням функцій, що представляють популярність шоу (наприклад, кількість прослуханих і лайків), популярність творця (наприклад, загальну кількість переглядів останніх шоу) та особисту приналежність користувача до теми та автора шоу. Спорідненість обчислюється або неявно на основі поведінкових даних користувача, або явно на основі цікавих тем (таких як поп-музика, бейсбол або політика), як зазначено в профілях користувачів.

Це частина 2 серії про використання аналітики даних і машинного навчання для Amp і створення персоналізованої платформи списку рекомендацій шоу. З моменту запуску в травні 3 року платформа показала приріст показників залученості клієнтів на 2022% (уподобання шоу, підписка на автора, увімкнення сповіщень про майбутні шоу).

Відноситься до Частина 1 щоб дізнатися, як дані про поведінку збиралися та оброблялися за допомогою систем даних і аналітики.

Огляд рішення

Рекомендатор шоу на основі ML для Amp складається з п’яти основних компонентів, як показано на наведеній нижче схемі архітектури:

  1. Мобільний додаток Amp.
  2. Внутрішні служби, які збирають дані про поведінку, такі як уподобання та підписки, а також транслюють інформацію, пов’язану з шоу, наприклад оновлення статусу, коли шоу виходять у прямому ефірі.
  3. Отримання в режимі реального часу поведінкових і шоу даних, а також обчислення та зберігання функцій у режимі реального часу (онлайн).
  4. Пакетне (офлайн) обчислення та зберігання.
  5. Система рекомендацій, яка обробляє вхідні запити від серверної частини програми для отримання списку шоу. Це включає висновок у реальному часі для ранжирування шоу на основі персоналізованих і неперсоналізованих функцій.

Ця публікація зосереджується на частинах 3, 4 і 5, намагаючись детально описати наступне:

На наступній діаграмі показано архітектуру високого рівня та її компоненти.

У наступних розділах ми надаємо додаткові відомості про обчислення функцій у реальному часі, пакетне обчислення функцій, висновок у реальному часі, працездатність і результати, які ми спостерігали.

Функціональні обчислення в реальному часі

Деякі функції, як-от кількість лайків і кількість прослуховувань для шоу, потрібно транслювати безперервно та використовувати як є, тоді як інші, наприклад кількість сеансів прослуховування довше 5 хвилин, також потрібно перетворювати в режимі реального часу як необроблені дані для сеансів транслюється. Ці типи функцій, для яких значення потрібно обчислити під час висновку, називаються момент часу (ПДФО). Дані для функцій PIT потрібно швидко оновлювати, а останню версію слід записувати та читати з низькою затримкою (менше 20 мілісекунд на користувача для 1,000 показів). Дані також мають зберігатися в надійному сховищі, оскільки відсутність або часткова інформація може призвести до погіршення рекомендацій і поганого досвіду клієнтів. На додаток до затримки читання/запису, функції PIT також вимагають малого часу відображення. Час відображення – це час, потрібний для того, щоб функція стала доступною для читання після того, як були випущені відповідні події, наприклад, час між тим, як слухачеві сподобалося шоу, і оновленням функції PIT LikeCount.

Джерелами даних є серверні служби, які безпосередньо обслуговують додаток. Деякі дані перетворюються на показники, які потім транслюються через Служба простих сповіщень Amazon (Amazon SNS) для подальших слухачів, таких як конвеєр перетворення функцій машинного навчання. База даних у пам’яті, така як MemoryDB, є ідеальною службою для тривалого зберігання та надшвидкої продуктивності при великих обсягах. Обчислювальним компонентом, який перетворює та записує функції в MemoryDB, є Lambda. Трафік програми відповідає щоденним і щотижневим схемам піків і спадів залежно від часу та дня. Lambda дозволяє автоматично масштабувати вхідний обсяг подій. Незалежний характер кожної окремої метричної трансформації також робить Lambda, яка сама по собі є службою без стану, добре підходить для цієї проблеми. Покладання Служба простої черги Amazon (Amazon SQS) між Amazon SNS і Lambda не тільки запобігає втраті повідомлень, але й діє як буфер для несподіваних спалахів трафіку, для обслуговування яких може бути недостатньо налаштованих обмежень одночасного використання Lambda.

Пакетне обчислення функцій

Функції, які використовують історичні дані про поведінку для представлення смаків користувача, що постійно змінюються, складніші для обчислення та не можуть бути обчислені в режимі реального часу. Ці функції обчислюються за допомогою пакетного процесу, який виконується час від часу, наприклад раз на день. Дані для пакетних функцій мають підтримувати швидке надсилання запитів для фільтрації та агрегування даних і можуть охоплювати довгі періоди часу, тому вони будуть більшими за обсягом. Оскільки пакетні функції також витягуються та надсилаються як вхідні дані для висновку в реальному часі, їх все одно слід читати з низькою затримкою.

Збір необроблених даних для пакетного обчислення функцій не вимагає субхвилинного часу відображення, який мають функції PIT, що робить можливим довше буферизувати події та перетворювати показники в пакеті. Це рішення використовувало Kinesis Data Firehose, керовану службу для швидкого прийому потокових даних у кілька пунктів призначення, зокрема Служба простого зберігання Amazon (Amazon S3) для збереження метрик в озері даних S3 для використання в автономних обчисленнях. Kinesis Data Firehose забезпечує буфер подій та інтеграцію Lambda для легкого збору, пакетного перетворення та збереження цих показників в Amazon S3 для подальшого використання в пакетних обчисленнях. Пакетні обчислення функцій не мають таких же вимог щодо низької затримки читання/запису, як функції PIT, що робить Amazon S3 кращим вибором, оскільки він забезпечує недороге довговічне сховище для зберігання цих великих обсягів бізнес-метрик.

Наша початкова модель ML використовує 21 пакетну функцію, яка обчислюється щодня з використанням даних, отриманих за останні 2 місяці. Ці дані включають як історію відтворення, так і історію взаємодії з додатком для кожного користувача та зростають разом із кількістю користувачів і частотою використання додатка. Розробка функцій у такому масштабі вимагає автоматизованого процесу отримання необхідних вхідних даних, їх паралельної обробки та експорту результату в постійне сховище. Інфраструктура обробки потрібна лише на час обчислень. Обробка SageMaker надає попередньо зібрані образи Docker, які включають Apache Spark та інші залежності, необхідні для виконання розподілених завдань обробки даних у великих масштабах. Базовою інфраструктурою для завдання обробки повністю керує SageMaker. Ресурси кластера надаються на час виконання вашої роботи та очищаються після її завершення.

Кожен крок у пакетному процесі — збір даних, розробка функцій, збереження функцій — є частиною робочого процесу, який вимагає обробки помилок, повторних спроб і переходів між станами. с Функції кроку AWS, ви можете створити кінцевий автомат і розділити робочий процес на кілька етапів попередньої та постобробки, а також крок для збереження функцій у SageMaker Feature Store або інших даних в Amazon S3. Кінцевий автомат у функціях Step можна запустити через Amazon EventBridge для автоматизації пакетних обчислень для виконання за встановленим розкладом, наприклад раз на день о 10:00 UTC.

Після того, як функції обчислено, їх потрібно версії та зберегти для читання під час логічного висновку, а також перенавчання моделі. Замість того, щоб створювати власну службу зберігання функцій і керування ними, ви можете використовувати SageMaker Feature Store. Feature Store — це повністю кероване, спеціально створене сховище для зберігання, спільного використання та керування функціями для моделей ML. Він зберігає історію функцій машинного навчання в офлайн-магазині (Amazon S3), а також надає API для онлайн-магазину, щоб дозволити зчитування останніх функцій із низькою затримкою. Офлайн-магазин може обслуговувати історичні дані для подальшого навчання моделі та експериментів, а онлайн-магазин може бути викликаний вашими клієнтськими API, щоб отримати функції для висновків у реальному часі. Розвиваючи наші служби для надання більш персоналізованого вмісту, ми плануємо навчати додаткові моделі ML і за допомогою Feature Store шукати, виявляти та повторно використовувати функції серед цих моделей.

Висновок у реальному часі

Виведення в режимі реального часу зазвичай вимагає розміщення моделей ML позаду кінцевих точок. Ви можете зробити це за допомогою веб-серверів або контейнерів, але для цього потрібні інженерні зусилля та інфраструктура ML для керування та підтримки. SageMaker спрощує розгортання моделей ML на кінцевих точках реального часу. SageMaker дозволяє навчати та завантажувати моделі ML і розміщувати їх, створюючи та налаштовуючи кінцеві точки SageMaker. Висновок у режимі реального часу відповідає вимогам щодо низької затримки для рейтингу шоу під час їх перегляду на домашній сторінці Amp.

Окрім керованого хостингу, SageMaker забезпечує кероване масштабування кінцевої точки. Висновок SageMaker дозволяє визначити політику автоматичного масштабування з мінімальною та максимальною кількістю екземплярів і цільовим використанням для запуску масштабування. Таким чином, ви можете легко збільшувати чи зменшувати масштаб відповідно до змін попиту.

Операційне здоров'я

Кількість подій, які ця система обробляє для обчислення функцій у реальному часі, змінюється відповідно до природного шаблону використання програми (більший або менший трафік залежно від часу доби чи дня тижня). Подібним чином кількість запитів, які він отримує для висновків у реальному часі, залежить від кількості одночасних користувачів програми. Ці сервіси також отримують несподівані піки трафіку через саморекламу в соціальних мережах популярними творцями. Хоча важливо переконатися, що система може масштабуватися вгору та вниз, щоб успішно та економно обслуговувати вхідний трафік, також важливо відстежувати операційні показники та сповіщати про будь-які несподівані проблеми з роботою, щоб запобігти втраті даних і послуг для клієнтів. Моніторинг справності цих служб простий у використанні Amazon CloudWatch. Важливі показники працездатності служби, такі як помилки та затримка операцій, а також показники використання, такі як використання пам’яті, диска та ЦП, доступні безпосередньо за допомогою CloudWatch. Наша команда розробників використовує інформаційні панелі показників і автоматизований моніторинг, щоб гарантувати, що ми можемо обслуговувати наших клієнтів із високою доступністю (99.8%) і низькою затримкою (менше 200 мілісекунд для отримання рекомендованих шоу на користувача).

Вимірювання результату

До рекомендувача шоу на основі ML, описаного в цій публікації, простіший евристичний алгоритм класифікував шоу Amp на основі особистих тем, що цікавлять користувача, про які користувачі повідомляють у своєму профілі. Ми встановили A/B-тест, щоб оцінити вплив переходу на рекомендації на основі машинного навчання з даними користувачів, отриманими з їхніх попередніх взаємодій із програмою. Ми визначили покращення таких показників, як тривалість прослуховування та кількість залучених дій (уподобання шоу, підписка на автора шоу, увімкнення сповіщень) як показники успіху. A/B-тестування, у якому 50% користувачів отримували рекомендації щодо показу, ранжовані для них за допомогою рекомендувача на основі ML, показало підвищення показників залучення клієнтів на 3% і тривалість відтворення на 0.5%.

Висновок

Завдяки спеціальним службам команда Amp змогла випустити API персоналізованих рекомендацій щодо шоу, як описано в цій публікації, у виробництво менш ніж за 3 місяці. Система також добре масштабується для непередбачуваних навантажень, створених відомими ведучими шоу або маркетинговими кампаніями, які можуть спричинити приплив користувачів. Рішення використовує керовані служби для обробки, навчання та хостингу, що допомагає скоротити час, витрачений на щоденне обслуговування системи. Ми також можемо відстежувати всі ці керовані служби через CloudWatch, щоб забезпечити постійну працездатність робочих систем.

A/B-тестування першої версії рекомендації Amp на основі ML порівняно з підходом на основі правил (який сортує покази лише за темами, що цікавлять клієнтів) показало, що рекомендація на основі ML надає клієнтам більш якісний вміст із більш різноманітних тем , що призводить до більшої кількості підписок і ввімкнених сповіщень. Команда Amp постійно працює над удосконаленням моделей, щоб надавати релевантні рекомендації.

Для отримання додаткової інформації про Feature Store відвідайте сторінку Магазин функцій Amazon SageMaker і ознайомтеся з іншими випадками використання клієнтами в Блог машинного навчання AWS.


Про авторів

Як Amp на Amazon використовував дані для підвищення залученості клієнтів, частина 2: Створення персоналізованої платформи рекомендацій щодо шоу за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Тюльпан Гупта є архітектором рішень в Amazon Web Services. Вона працює з Amazon над проектуванням, створенням і розгортанням технологічних рішень на AWS. Вона допомагає клієнтам у застосуванні найкращих практик під час розгортання рішення в AWS і є ентузіастом Analytics і ML. У вільний час вона захоплюється плаванням, пішим туризмом і грою в настільні ігри.

Як Amp на Amazon використовував дані для підвищення залученості клієнтів, частина 2: Створення персоналізованої платформи рекомендацій щодо шоу за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Девід Куо є архітектором рішень в Amazon Web Services. Він працює з клієнтами AWS над проектуванням, створенням і розгортанням технологічних рішень на AWS. Він працює з клієнтами медіа та розваг і цікавиться технологіями машинного навчання. У вільний час він задається питанням, чим йому зайнятися.

Як Amp на Amazon використовував дані для підвищення залученості клієнтів, частина 2: Створення персоналізованої платформи рекомендацій щодо шоу за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Маноля Маккормік є старшим інженером з розробки програмного забезпечення для Amp на Amazon. Вона розробляє та створює розподілені системи за допомогою AWS для обслуговування додатків, орієнтованих на клієнтів. Вона любить читати та готувати нові рецепти у вільний час.

Як Amp на Amazon використовував дані для підвищення залученості клієнтів, частина 2: Створення персоналізованої платформи рекомендацій щодо шоу за допомогою Amazon SageMaker PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Джефф Крістоферсен є старшим інженером даних для Amp на Amazon. Він працює над проектуванням, розробкою та розгортанням рішень Big Data на AWS, які дають практичну інформацію. Він допомагає внутрішнім командам у впровадженні масштабованих і автоматизованих рішень і є ентузіастом аналітики та великих даних. У вільний час, коли він не на лижах, ви можете знайти його на гірському велосипеді.

Часова мітка:

Більше від AWS Машинне навчання