Сделайте свою организацию умнее с помощью дополнительной аналитики.

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

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

В этой статье

  • Что такое API и как он работает?
  • Восемь преимуществ представления моделей AI / ML в виде API
  • Управляйте своим ML API с помощью UbiOps
  • Строим будущее: машинное обучение как услуга
  • О UbiOps

В UbiOps мы часто общаемся с компаниями, которые только начинают свой путь в области искусственного интеллекта (AI) и машинного обучения (ML). Они хотят использовать науку о данных и искусственный интеллект в своей организации, но в конечном итоге изо всех сил пытаются включить разработанные алгоритмы в свои приложения. Мы видим, что продвижение алгоритмов от лабораторных до полевых часто оказывается самым сложным делом.
Будущее за умными новыми и существующими приложениями с помощью машинного обучения и искусственного интеллекта. Но как запустить свои алгоритмы таким образом, чтобы отделить код науки о данных от основной ИТ-инфраструктуры? И как сделать алгоритмы легко доступными из всех ваших приложений одновременно?

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

Но надежда есть! Все более популярным решением этой проблемы является запуск ваших алгоритмов в реальном времени с использованием веб-API.

Давайте узнаем о преимуществах API машинного обучения и о том, как они могут работать на вас.

Что такое API и как он работает?

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

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

На протяжении многих лет использование универсального языка между приложениями и службами для безопасного обмена данными через Интернет позволило многим разработчикам быстро (и яростно) создавать программные решения.

На рисунке 1 показано, как это работает.

Рис. 1. Основные элементы веб-API (наука о данных)

Восемь преимуществ представления моделей AI / ML в виде API

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

  1. Основным преимуществом является то, что он дает вам очень чистый и четко определенный интерфейс для вашей аналитики, который легко интегрируется с любым приложением: простая команда cURL - это все, что вам нужно!
  2. Это обеспечивает стабильность: алгоритм или входные данные могут измениться, но конечная точка API останется прежней.
  3. Он проверяет ваши данные и запросы у дверей. Поскольку запрос, который ожидает алгоритм, очень хорошо определен, все, что не соответствует спецификации, приведет к ошибке.
  4. Он отделяет итеративный мир науки о данных от мира информационных технологий и программного обеспечения. Алгоритмы нуждаются в частом обновлении, в то время как программное обеспечение, из которого они запускаются, должно быть стабильным, надежным и надежным. Это разделение также означает, что специалисты по обработке данных могут сосредоточиться на построении моделей и не беспокоиться об инфраструктуре.
  5. API-интерфейсы открывают модели науки о данных для всей организации, даже для клиентов или третьих лиц. И все это безопасно и масштабируемо.
  6. Возможность повторного использования. Это позволяет использовать вашу модель несколькими приложениями одновременно на любом языке или платформе. Никакого дополнительного программного обеспечения или настроек не требуется, поэтому после запуска развертывания его можно немедленно запросить.
  7. Кроме того, поскольку это одна конечная точка API, нет необходимости настраивать балансировщик нагрузки или обходить брандмауэр. Это то, что требуется некоторым крупным поставщикам облачных услуг, и это усложняет инфраструктуру.
  8. Безопасность обеспечивается за счет разрешения запросов к модели только в том случае, если они подписаны токеном, который содержит необходимые разрешения. Таким образом, можно легко разрешить запросы только изнутри вашей команды или открыть модель для остального мира.

Рис. 2. От кода науки о данных до масштабируемых микросервисов с собственной конечной точкой API.

Управляйте своими аналитическими API-интерфейсами с помощью UbiOps

Теперь понятно, почему представление кода вашей модели в виде API делает ее гибкой и простой для интеграции.

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

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

Развертывание ваших моделей в UbiOps означает, что конечные точки вашего развертывания обслуживаются и обслуживаются нами. Конечные точки всегда имеют стандартизованный формат и не меняются при загрузке нового кода. Развертывания могут иметь несколько запущенных версий, каждая из которых обслуживает разный код и каждая со своей уникальной конечной точкой, что делает ее подходящей для A / B-тестирования и других методов сравнения. Когда для версии загружается новый код, конечная точка будет направлять запросы к старой модели до тех пор, пока новая модель не будет запущена и работает, без простоев.

UbiOps позволяет полностью контролировать количество реплик и память для ваших развертываний, при этом изменения этих параметров вступают в силу немедленно.

Рис. 3. UbiOps упрощает использование науки о данных и кода ИИ для всех ваших бизнес-приложений.

Строим будущее: машинное обучение как услуга

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

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

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

О UbiOps

UbiOps - это простой в использовании уровень развертывания и обслуживания вашего кода для анализа данных. Он превращает ваши модели и скрипты Python & R в веб-сервисы, позволяя использовать их из любого места в любое время. Таким образом, вы можете встроить их в свои собственные приложения, веб-сайт или инфраструктуру данных. Не беспокоясь о безопасности, надежности или масштабируемости. UbiOps позаботится об этом за вас.

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