Микросервисная архитектура при решении задач машинного обучения | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №23 (261) июнь 2019 г.

Дата публикации: 09.06.2019

Статья просмотрена: 35 раз

Библиографическое описание:

Калевич В. В. Микросервисная архитектура при решении задач машинного обучения // Молодой ученый. — 2019. — №23. — С. 17-19. — URL https://moluch.ru/archive/261/60192/ (дата обращения: 14.12.2019).



Машинное обучение (как и «глубокое обучение») становятся все более популярными и широко используемыми. К наиболее частым ситуациям использования машинного обучения, способным быть внедренными практически во всех коммерческих отраслях, относятся следующие: рекомендации, классификация пользователей, подбор релевантного контента. Но ML и DL обычно помогают решению вышеперечисленных ситуаций путем анализа данных определенным алгоритмом обучения, что приводит к вопросу о том, а как ML и DL могут быть интегрированы в приложение?

Рассмотрим процесс прохождения информации через приложение, при котором возможно эффективное использование ML. В качестве примера возьмем систему автоматического общения (чат-бот), которая на основании геолокации, подписок, интересов пользователя и пользовательского запроса способна выдать наиболее релевантный и подходящий ответ.

Predictive Machine learning

Рис. 1. Схема обработки пользовательских данных алгоритмами обучения с построением рекомендации

Чтобы добавить ML в приложение, необходимо реализовать две основные функции:

– обучение (также известное как разработка или создание модели). Учебный конвейер («training pipeline») анализирует данные с использованием выбранного вами алгоритма ML и создает модель с выделенными паттернами, использующимися на следующем шаге.

– вывод (также известный как выбор модели, прогнозирование или иногда подсчет очков, ранжирование). Это то, где входные данные из приложения (контент приложения) пропускаются через модель («prediction function»), способную генерировать желаемую рекомендацию.

Главным модулем ML для интеграции является функция вывода. Ввод — это специфические для контекста параметры (информация о пользователе, геолокация, подписчики), а вывод — рекомендация.

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

Результаты модуля обучения (то есть новые модели) должны быть предоставлены модулю вывода.

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

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

Рис. 2. Схема микросервисной архитектуры

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

– выполнение обучения и вывода рекомендации может управляться независимо от вызывающего приложения;

– ML алгоритмы и стратегии могут быть изменены без влияния на основное приложение. Например, первичная модель может быть заменена альтернативной моделью или ансамблем без необходимости выпуска обновления в основное приложение;

– управление ресурсами может стать более гибким. В зависимости от используемых алгоритмов ML для эффективного обучения и / или вывода могут потребоваться значительные ресурсы ЦП или специальное оборудование, такое как графические процессоры. Они могут быть развернуты без изменения конфигурации ресурсов основного приложения и могут использоваться совместно несколькими приложениями;

– модели могут использоваться совместно (и моделировать тренировки за счет использования нескольких приложений).

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

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

Литература:

  1. Chris Richardson. Microservices patterns: With examples in Java / Chris Richardson. — Shelter Island: Manning Publications, 2018. — 520 с.
  2. Sam Newman. Building Microservices: Designing Fine-Grained Systems / Sam Newman. — Sebastopol: O'Reilly Media, 2018. — 280 с.
  3. John Carnell. Spring Microservices in action / John Carnell. — Shelter Island: Manning Publications, 2017. — 384 с.
  4. Morgan Bruce, Paulo A. Pereira. Microservices in Action / Morgan Bruce, Paulo A. Pereira. — Shelter Island: Manning Publications, 2018. — 392 с.
  5. Nisha Talagala. Why your ML should be deployed as a Micro-service / Nisha Talagala [Электронный ресурс]. — 2017. — Режим доступа: — https://www.parallelm.com/ml-deployed-micro-service/. — Дата доступа: 20.11.2018
Основные термины (генерируются автоматически): машинное обучение, микросервисная архитектура, основное приложение, приложение, HTTP, алгоритм обучения, сервис.


Похожие статьи

Онлайн платформы машинного обучения | Статья в журнале...

Машинное обучение (МО) — подобласть компьютерной науки, которая занимается такими

Так как существует много инструментов машинного обучения стоит их разделить на

Algorithmia [1] предоставляет платформу на основе облака для разработчиков алгоритмов...

Разработка мобильных приложений с использованием облачных...

Таким образом, создание мобильных приложений на основе облачных баз данных в

Синхронизация осуществляется через web-сервис с помощью HTTP-запросов при наличии

Микросервисы — это приложения с одной функцией, как правило, небольшие по размеру...

IT-технологии обучения и их применение в различных сферах

Алгоритмы машинного обучения способны так же помочь с прогнозами о том, как поведут себя молекулы и с

Это приложение предоставляет информацию в реальном времени о пациентах и

Основное преимущество машинного обучения — это возможность быстро распознать...

Роль больших данных в глубинном обучении | Статья в журнале...

Иерархическая архитектура обучения в алгоритмах глубинного обучения основывается на

Amazon Machine Learning [2] – это сервис, который предоставляет возможности для

Машинное обучение — один из разделов искусственного интеллекта, который связан с...

Применение машинного обучения для обнаружения сетевых...

Машинное обучение может построить необходимую модель автоматически на основе некоторых

Применение методов машинного обучения для обнаружения вторжений позволит

Были рассмотрены различные алгоритмы обнаружения аномалий, в таблице 1...

Механизмы работы нейронных сетей | Статья в журнале...

Применение методов машинного обучения для обнаружения вторжений позволит

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

Ключевые слова: распознавание, мобильный объект, машинное обучение, алгоритм распознавания.

Анализ программных средств, применяемых в образовательных...

Основные термины (генерируются автоматически): SOA, слой, сервис, приложение, повторное использование, образовательный процесс, возможность

Микросервисная архитектура обеспечивает некоторую изоляцию компонентов системы. Коптелов А. Системы управления...

Контролируемые методы машинного обучения как средство...

Контролируемые методы машинного обучения как средство детектирования сетевых вторжений. Кожевникова Ирина Сергеевна, магистрант; Ананьин Евгений Викторович, студент; Лысенко Александр Вячеславович, студент; Никишова Арина Валерьевна, доцент.

Проектирование мобильных приложений и облачных сервисов

В статье рассматриваются возможности и преимущества облачных сервисов и мобильных приложений.

Основные термины (генерируются автоматически): приложение, платформа, программное обеспечение, принцип проектирования, API, исходное приложение, высокая...

Похожие статьи

Онлайн платформы машинного обучения | Статья в журнале...

Машинное обучение (МО) — подобласть компьютерной науки, которая занимается такими

Так как существует много инструментов машинного обучения стоит их разделить на

Algorithmia [1] предоставляет платформу на основе облака для разработчиков алгоритмов...

Разработка мобильных приложений с использованием облачных...

Таким образом, создание мобильных приложений на основе облачных баз данных в

Синхронизация осуществляется через web-сервис с помощью HTTP-запросов при наличии

Микросервисы — это приложения с одной функцией, как правило, небольшие по размеру...

IT-технологии обучения и их применение в различных сферах

Алгоритмы машинного обучения способны так же помочь с прогнозами о том, как поведут себя молекулы и с

Это приложение предоставляет информацию в реальном времени о пациентах и

Основное преимущество машинного обучения — это возможность быстро распознать...

Роль больших данных в глубинном обучении | Статья в журнале...

Иерархическая архитектура обучения в алгоритмах глубинного обучения основывается на

Amazon Machine Learning [2] – это сервис, который предоставляет возможности для

Машинное обучение — один из разделов искусственного интеллекта, который связан с...

Применение машинного обучения для обнаружения сетевых...

Машинное обучение может построить необходимую модель автоматически на основе некоторых

Применение методов машинного обучения для обнаружения вторжений позволит

Были рассмотрены различные алгоритмы обнаружения аномалий, в таблице 1...

Механизмы работы нейронных сетей | Статья в журнале...

Применение методов машинного обучения для обнаружения вторжений позволит

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

Ключевые слова: распознавание, мобильный объект, машинное обучение, алгоритм распознавания.

Анализ программных средств, применяемых в образовательных...

Основные термины (генерируются автоматически): SOA, слой, сервис, приложение, повторное использование, образовательный процесс, возможность

Микросервисная архитектура обеспечивает некоторую изоляцию компонентов системы. Коптелов А. Системы управления...

Контролируемые методы машинного обучения как средство...

Контролируемые методы машинного обучения как средство детектирования сетевых вторжений. Кожевникова Ирина Сергеевна, магистрант; Ананьин Евгений Викторович, студент; Лысенко Александр Вячеславович, студент; Никишова Арина Валерьевна, доцент.

Проектирование мобильных приложений и облачных сервисов

В статье рассматриваются возможности и преимущества облачных сервисов и мобильных приложений.

Основные термины (генерируются автоматически): приложение, платформа, программное обеспечение, принцип проектирования, API, исходное приложение, высокая...

Задать вопрос