Как Getir сократил продолжительность обучения моделей на 90% с помощью Amazon SageMaker и AWS Batch

Как Getir сократил время обучения моделей на 90% с помощью Amazon SageMaker и AWS Batch

Это гостевой пост, написанный совместно Нафи Ахметом Тургутом, Хасан Бурак Йелем и Дамлой Шентюрк из Getir.

Основанная в 2015 году, Getir заняла ведущую позицию в сфере сверхбыстрой доставки продуктов. Эта инновационная технологическая компания изменила сегмент доставки на дом, предлагая “продукты в минуты”. Благодаря своему присутствию в Турции, Великобритании, Нидерландах, Германии и Соединенных Штатах, Getir превратилась в многонациональную силу, с которой нужно считаться. Сегодня бренд Getir представляет разнообразный конгломерат, охватывающий девять различных отраслей, каждая из которых действует синергетически под единым зонтом.

В этой статье мы объясним, как мы создали прогностическую модель предсказания категорий продуктов, используя Amazon SageMaker и AWS Batch, сократив время обучения модели на 90%.

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

Мы воспользовались мощными инструментами, предоставленными AWS, чтобы справиться с этой задачей и эффективно ориентироваться в сложной области машинного обучения (ML) и прогностической аналитики. Наши усилия привели к успешному созданию прогностической модели предсказания категорий продуктов, объединив силы SageMaker и AWS Batch.

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

Методология, которую мы объясняем в этой статье, охватывает начальный этап сбора набора характеристик и финальную реализацию прогностической модели. Важным аспектом нашей стратегии стало использование SageMaker и AWS Batch для усовершенствования предварительно обученных моделей BERT для семи различных языков. Кроме того, наша безупречная интеграция с сервисом хранения объектов AWS Amazon Simple Storage Service (Amazon S3) стала ключом к эффективному хранению и доступу к этим усовершенствованным моделям.

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

AWS Batch – это полностью управляемый сервис для пакетной обработки рабочих нагрузок любого масштаба. AWS Batch автоматически выделяет вычислительные ресурсы и оптимизирует распределение нагрузки на основе количества и масштаба рабочих нагрузок. С AWS Batch нет необходимости устанавливать или управлять программным обеспечением для пакетной обработки, поэтому вы можете сосредоточить свое время на анализе результатов и решении проблем. Мы использовали задачи с использованием графического процессора (GPU), которые помогли нам запускать задачи, использующие графические процессоры экземпляра.

Обзор решения

В проекте участвовали пять человек из команды научных исследований и команды инфраструктуры Getir. Проект был завершен за месяц и развернут в производство после недели тестирования.

На следующей диаграмме показана архитектура решения.

Модельный конвейер работает отдельно для каждой страны. Архитектура включает две задачи AWS Batch GPU для каждой страны, выполняющиеся по заданному расписанию.

Мы успешно справились с некоторыми трудностями благодаря стратегическому развертыванию ресурсов SageMaker и AWS Batch GPU. Процесс решения каждой трудности подробно описан в следующих разделах.

Настройка многопрофильных моделей BERT с помощью задач AWS Batch GPU

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

Эффективное хранение моделей с использованием Amazon S3

На следующем этапе мы решили заняться хранением и управлением моделями. Для этого мы выбрали Amazon S3, известный своей масштабируемостью и безопасностью. Хранение наших моделей BERT на Amazon S3 позволило обеспечить легкий доступ для разных команд внутри нашей организации, тем самым значительно упрощая нашу процедуру развертывания. Это был важный аспект в достижении гибкости в наших операциях и беспроблемной интеграции наших усилий в области машинного обучения.

Создание от начала до конца конвейера прогнозирования

Для оптимального использования наших предварительно обученных моделей нам понадобился эффективный конвейер. Сначала мы развернули эти модели на SageMaker, что позволило делать прогнозы в режиме реального времени с низкой задержкой, тем самым повышая наш опыт пользователей. Для более крупных партийных прогнозов, которые были в равной степени важны для наших операций, мы использовали задания AWS Batch GPU. Это гарантировало оптимальное использование наших ресурсов, обеспечивая нам идеальный баланс производительности и эффективности.

Изучение будущих возможностей с использованием SageMaker MME

Продолжая развиваться и искать эффективность в нашем конвейере машинного обучения, одним из направлений, которое мы хотим исследовать, является использование многофункциональных модельных конечных точек SageMaker (MME) для развертывания наших отточенных моделей. С помощью MME мы можем потенциально упростить развертывание различных отточенных моделей, обеспечивая эффективное управление моделями, а также получая выгоду от встроенных возможностей SageMaker, таких как варианты теней, масштабирование автоматически и интеграция с Amazon CloudWatch. Это исследование соответствует нашему постоянному стремлению к улучшению возможностей аналитики прогнозирования и обеспечению сверхпревосходного опыта для наших клиентов.

Заключение

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

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

Более того, стратегическое использование запланированных задач AWS Batch GPU позволило нам сократить время обучения моделей на 90%. Эта эффективность дополнительно упростила наши процессы и повысила нашу операционную гибкость. Эффективное хранение моделей с использованием Amazon S3 сыграло важную роль в этом достижении, обеспечивая как прогнозы в реальном времени, так и партийные прогнозы.

Для получения дополнительной информации о том, как начать создавать свои собственные конвейеры машинного обучения с помощью SageMaker, см. Amazon SageMaker resources. AWS Batch является отличным вариантом, если вы ищете недорогое и масштабируемое решение для выполнения партийных заданий с низкими операционными накладными расходами. Чтобы начать, см. Руководство по началу работы с AWS Batch.