Microsoft отправляется в ИИ на свой ежегодный день разработчиков

Microsoft отправляется в ИИ на свой ежегодный день разработчиков

Добавьте Microsoft в список компаний, заявляющих, что все они для ИИ. В День разработчиков мы даже слышали, что они собираются стать первой платформой, хотя я не совсем уверен, что это значит. Тем не менее, было много объявлений, чтобы положить немного мяса за рекламу. Мы рассмотрим некоторые из наиболее важных и то, что они могут означать для будущих приложений Windows с поддержкой AI.

Microsoft Parises Google CloudML со своими собственными инструментами ML

Google значительно упростил разработку модели локально, особенно в TensorFlow; тренировать его в облаке Google с помощью CloudML; а затем запускайте его практически везде, используя TensorFlow, TensorFlow Lite или оптимизированный Nvidia TensorRT. Это усилие тесно связано с графическими процессорами Nvidia, поэтому было не слишком удивительно, что новый GPU Nvidia, Intel и его VPU Movidius были впереди и в центре, поскольку Microsoft запустила множество новых возможностей для разработки и развертывания, совместимых с AI, на своем Developer День.

Студия Azure Machine Learning Workbench оснащена перетаскиванием Studio для создания решений
Студия Azure Machine Learning Workbench оснащена перетаскиванием Studio для создания решений

Предложения Microsoft начинаются с инструментария обучения Azure Machine Workbench и AI Tools для Visual Studio. ML Workbench позволяет вам использовать свой выбор из нескольких рамок для обучения машин, включая TensorFlow и Caffe, а также контейнерную инфраструктуру, такую ​​как Docker, для разработки систем ML, которые могут быть обучены в облаке Azure, а затем развернуты по всей экосистеме Windows как модели ONNX , Он также включает приложение Studio, которое поддерживает перетаскивание и создание моделей. После игры с аналогичным инструментом IBM и разочарования, мне будет интересно, если среда Studio достаточно мощна, чтобы быть инструментом выбора в реальных ситуациях. Разумеется, Workbench будет полезен разработчикам Windows, нуждающимся в крупномасштабных вычислениях для учебных моделей.

Обучение, проверка и выведение

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

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

Обучение и использование модели машинного обучения с использованием Windows ML и ONNX
Обучение и использование модели машинного обучения с использованием Windows ML и ONNX

Microsoft execs использовала термин «оценка» совсем немного, чтобы ссылаться на то, что я обычно слышал, описывая как вывод (или предсказание), где резиновый встречает дорогу. Это когда фактические данные передаются в модель, и она принимает какое-то решение или создает какой-то результат - когда ваша камера или телефон пытается обнаружить лицо, например, или, возможно, конкретное лицо, глядя на сцену.

Выделение не требует такой же мощности, как и обучение, хотя это, безусловно, приносит пользу как от графического процессора, так и от пользовательского кремния, такого как Intel Movidius VPU и TPU от Google. Как правило, вы также хотите, чтобы вывод выполнялся очень быстро, и результаты используются локально, поэтому его доступность прямо на вашем компьютере, телефоне или устройстве IoT является оптимальной. Чтобы это произошло, Microsoft сотрудничала с Facebook, Amazon и другими в ONNX, стандартном формате для обмена образцами. Модели ONNX могут быть созданы с помощью новых инструментов разработки Microsoft и развернуты в будущих версиях Windows с использованием WinML.

Как кто-то, кто разрабатывает нейронные сети в Visual Studio, я был рад услышать об инструментах AI для Visual Studio. К сожалению, единственной новой частью, похоже, является более тесная интеграция с Azure и ее новыми виртуальными машинами, специфичными для ИИ. Это довольно круто, и если вам нужно быстро наращивать тренировки, это сэкономит вам ручную работу, но, похоже, не добавляет никаких новых возможностей. Лазерные AI VM тоже не дешевы. Один P40 GPU составляет 2 доллара США за час, если вы не выполняете большие обязательства. Для одной относительно простой модели классификации аудио, над которой я работаю, это означает 10 долларов США за каждый полный тренировочный пропуск, который в настоящее время занимает около шести часов на моем графическом процессоре Nvidia GTX 1080 с тактовой частотой.

Visual Studio, TensorFlow и TensorBoard уже работают вместе, но Microsoft стремится сделать интеграцию гораздо более простой
Visual Studio, TensorFlow и TensorBoard уже работают вместе, но Microsoft стремится сделать интеграцию гораздо более простой

Предварительно обученные модели - большая сделка

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

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

Это не просто о облаке больше: локальное развертывание

WinML - это новый уровень среды выполнения, который позволит развертывать модели ONNX для каждой версии Windows к концу 2018 года. Он может использоваться как из приложений Win32, так и для Windows Store и полагается на DirectX 12 для ускорения работы на графическом процессоре. Это интересное отличие от многих систем машинного обучения, которые в значительной степени зависят от CUDA от Nvidia и, конечно же, упрощают партнерство с Intel. Microsoft дала убедительную демонстрацию использования уже обученной модели в проекте Visual Studio. Это выглядит просто, если вы используете C ++ или C # по крайней мере. Используя чип Movidius или, возможно, high-end SoCs, Microsoft также с нетерпением ожидает запуска моделей ONNX на устройствах IoT - начиная с HoloLens, но включая встроенные системы камер и другие устройства.

Благодаря тому, что Microsoft заперла битву за облачное превосходство с Google и Amazon, и считая разработчиков Windows одним из своих самых больших активов в борьбе, у него есть смысл сделать огромный толчок к современным инструментам разработки AI которые интегрируются как с Windows, так и с Azure. Точно так же, как Microsoft работает над продвижением своих собственных сервисов Windows и Cloud, таких как обмен фотографиями, это принесет пользу из высокопроизводительного инструментария AI для собственных разработчиков.

Читать далее

Стратегия LG Shifts, больше не будет выпускать ежегодные обновления телефонов

LG объявила о выходе из годового цикла выпуска телефонов, предпочитая сосредоточиться на сохранении форм-факторов в течение более длительного периода времени.