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

Все ведущие платформы облачных вычислений делают большие ставки на демократизацию искусственного интеллекта. За последние три года Amazon, Google и Microsoft вложили значительные средства в искусственный интеллект (ИИ) и машинное обучение, начиная с развертывания новых услуг и заканчивая крупными реорганизациями, которые стратегически помещают ИИ в свои организационные структуры. Генеральный директор Google Сундар Пичаи даже сказал, что его компания переходит на мир, основанный на искусственном интеллекте.

Итак, если облако - это место назначения для ваших проектов машинного обучения, как узнать, какая платформа вам подходит? В этом посте мы рассмотрим предложения машинного обучения от Amazon Web Services, Microsoft Azure и Google Cloud Platform.

  • Модель платы за использование облака хороша для резких рабочих нагрузок искусственного интеллекта или машинного обучения.
  • Облако позволяет предприятиям легко экспериментировать с возможностями машинного обучения и масштабироваться по мере запуска проектов и увеличения спроса.
  • Облако делает интеллектуальные возможности доступными, не требуя передовых навыков в области искусственного интеллекта или науки о данных.
  • AWS, Microsoft Azure и Google Cloud Platform предлагают множество вариантов машинного обучения, которые не требуют глубоких знаний в области искусственного интеллекта, теории машинного обучения или команды специалистов по данным.

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

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

Это проблемы, которые могут решить облачные вычисления, и ведущие общедоступные облачные платформы стремятся облегчить компаниям использование возможностей машинного обучения для решения бизнес-задач без полной технической нагрузки. Как подчеркнул генеральный директор AWS Энди Ясси в своем программном докладе re: Invent в 2017 году, его компания должна «решить проблему доступности для обычных разработчиков и ученых», чтобы внедрить ИИ и машинное обучение на предприятии.

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

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

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

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

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

Например, Google Cloud ML Engine - это служба общего назначения, которая требует от вас написания кода с использованием Python и библиотек TensorFlow, а Amazon Rekognition - это специализированная служба распознавания изображений, которую можно запустить с помощью одной команды. Итак, если у вас есть типичное требование, например, анализ видео, вам следует воспользоваться специализированной услугой. Если ваше требование выходит за рамки специализированных услуг, вам придется написать собственный код и запустить его в универсальной службе.

Стоит отметить, что все три основных поставщика облачных услуг также пытались создать универсальные сервисы, которые относительно просты в использовании. Примеры включают API прогнозирования Google, Машинное обучение Amazon и Студию машинного обучения Azure. Они попадают где-то в середину спектра. На первый взгляд может показаться, что этот тип услуг даст вам лучшее из обоих миров, поскольку вы можете создавать собственные приложения для машинного обучения без необходимости писать сложный код. Однако поставщики облачных услуг обнаружили, что для простого универсального машинного обучения нет большого рынка. Почему? Они недостаточно гибкие, чтобы справиться с большинством индивидуальных требований, и их сложнее использовать, чем специализированные сервисы.

Фактически, Google прекратил выпуск своего Prediction API, а Amazon ML больше даже не указан на веб-странице «Машинное обучение на AWS». Тем не менее, Azure Machine Learning Studio по-прежнему представляет собой интересную услугу в этой категории, потому что это отличный способ научиться создавать модели машинного обучения для новичков в этой области. У него есть интерфейс перетаскивания, который не требует кодирования (хотя вы можете добавить код, если хотите). Он поддерживает широкий спектр алгоритмов, включая различные типы регрессии, классификации и обнаружения аномалий, а также алгоритм кластеризации для обучения без учителя. Однако, когда вы лучше понимаете машинное обучение, вам, вероятно, лучше использовать такой инструмент, как Azure Machine Learning Workbench, который сложнее использовать, но обеспечивает большую гибкость.

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

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

В этом списке представлена ​​стратегия Azure по разделению продуктов на отдельные, очень специфические задачи ИИ. Большинство этих функций также предлагаются Amazon и Google, но как часть более широких API. Как видно из диаграммы, все три производителя предлагают практически одинаковые возможности. Однако у Microsoft и Google есть несколько уникальных предложений. Например, Azure Custom Decision Service помогает персонализировать контент, а Google Cloud Talent Solution помогает в процессе набора.

Какие общие предложения AI мне следует рассмотреть?

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

Amazon SageMaker:

  • 12 распространенных алгоритмов машинного обучения
  • Предустановлены TensorFlow и MXNet
  • Может использовать другие фреймворки машинного обучения

Google Cloud ML Engine:

  • Поддерживает TensorFlow (а также scikit-learn и XGBoost в бета-версии)

Инструментальные средства машинного обучения Azure и службы машинного обучения:

  • Поддерживает фреймворки машинного обучения на основе Python, такие как TensorFlow или PyTorch

Amazon SageMaker и Cloud ML Engine - это чисто облачные сервисы, а Azure Machine Learning Workbench - это настольное приложение, использующее облачные сервисы машинного обучения.

Amazon SageMaker описывается AWS как «полностью управляемый комплексный сервис машинного обучения», который призван стать быстрым и простым способом добавления возможностей машинного обучения. Помимо библиотеки машинного обучения AWS Gluon, SageMaker поддерживает TensorFlow, MXNet и многие другие инфраструктуры машинного обучения. Он был запущен в ноябре 2017 года на ежегодной конференции AWS re: Invent.

Google выпустила свой Cloud ML Engine в 2016 году, что упростило разработчикам, имеющим некоторый опыт машинного обучения, обучение моделей. Google создал популярную платформу машинного обучения TensorFlow с открытым исходным кодом, которая в настоящее время является единственной платформой, поддерживаемой Cloud ML Engine (хотя теперь она предлагает бета-поддержку для scikit-learn и XGBoost). И Amazon, и Azure поддерживают TensorFlow и несколько других платформ машинного обучения.

В дополнение к своей старой Студии машинного обучения в Azure есть две отдельные службы машинного обучения. Служба экспериментов предназначена для обучения и развертывания моделей, а служба управления моделями предоставляет реестр версий моделей и позволяет развертывать обученные модели в виде контейнерных служб Docker. Machine Learning Workbench - это настольный интерфейс для этих двух сервисов.

Как рабочие нагрузки машинного обучения влияют на оборудование?

  • Рабочие нагрузки машинного обучения требуют большей вычислительной мощности
  • Требуемый объем обработки может быть дорогостоящим
  • Графические процессоры являются предпочтительным процессором для многих рабочих нагрузок машинного обучения, поскольку они значительно сокращают время обработки.
  • Google и другие компании создают оборудование, оптимизированное для машинного обучения.
  • Чтобы помочь людям начать работу с ИИ, Amazon предлагает камеру, которая может запускать модели глубокого обучения.

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

AWS, Azure и Google Cloud поддерживают использование обычных процессоров или графических процессоров для обучения моделей. У Google есть уникальное предложение - облачные TPU (блоки тензорной обработки). Эти чипы предназначены для ускорения задач машинного обучения. Неудивительно, что они работают с TensorFlow. Многие другие компании сейчас стремятся догнать Google и выпускать собственное оборудование, оптимизированное для машинного обучения.

Помимо обработки, AWS предлагает несколько уникальных предложений в категории оборудования. Его беспроводная видеокамера AWS DeepLens может запускать модели глубокого обучения на основе того, что она видит, и выполнять распознавание изображений в реальном времени. Amazon, похоже, продвигает обработку на стороне клиента как простой способ начать изучение машинного обучения.

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

Что используют платформы машинного обучения с открытым исходным кодом?

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

  • Google создал TensorFlow с открытым исходным кодом, который стал широко популярным среди энтузиастов машинного обучения. Несмотря на связь с Google, Amazon и Microsoft также поддерживают TensorFlow в своих сервисах глубокого обучения.
  • Amazon поддержал Apache MXNet, назвав его предпочтительным оружием компании для машинного обучения и активно продвигая его как внутри компании, так и за ее пределами. MXNet поддерживает несколько сервисов машинного обучения и искусственного интеллекта.
  • Microsoft предоставляет CNTK, иначе известный как Microsoft Cognitive Toolkit, для глубокого обучения на коммерческом уровне.
  • AWS и Microsoft совместно создали спецификацию Gluon, которая представляет собой абстракцию более высокого уровня для разработки моделей машинного обучения. Gluon в настоящее время поддерживает MXNet и скоро будет расширен до CNTK. Интерфейс Gluon упрощает процесс разработки и нацелен на привлечение новых разработчиков на раннем этапе их пути к машинному обучению.
  • ONNX, открытый обмен нейронной сети от Facebook и Microsoft, направлен на создание переносимых моделей машинного обучения. С помощью ONNX вы создаете свою модель машинного обучения в открытом формате, который позволяет затем обучать ее на поддерживаемых платформах машинного обучения. ONNX поддерживается как AWS, так и Microsoft, но Google еще не появился.

Преимущества машинного обучения в облаке: заключение

Поскольку Azure, Google Cloud и AWS предоставляют хорошие универсальные и специализированные сервисы машинного обучения, вы, вероятно, захотите выбрать платформу, которую вы уже выбрали для других своих облачных сервисов. Однако, чтобы избежать привязки к поставщику при использовании службы общего назначения, вы можете использовать платформу машинного обучения с открытым исходным кодом, которая поддерживается всеми тремя поставщиками. На данный момент фреймворком с самой широкой поддержкой является TensorFlow, хотя эта область быстро меняется, поэтому мы ожидаем кроссплатформенной поддержки для большего количества фреймворков в ближайшее время. Основным препятствием является Google, который ранее поддерживал только TensorFlow, но даже Google теперь представляет поддержку scikit-learn и XGBoost.

Библиотека Cloud Academy включает курсы машинного обучения для всех трех платформ, большинство из которых содержат примеры с использованием TensorFlow или scikit-learn. Некоторые из способов обучения по этому предмету включают:

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

Автор Гай Хаммел и Джереми Кук

Первоначально опубликовано на сайте cloudacademy.com 23 августа 2018 г.