Microsoft вирушає на AI на щорічний день розробки

Microsoft вирушає на AI на щорічний день розробки

Додайте корпорацію Майкрософт до переліку компаній, які заявляють, що всі вони для АІ. У День розробника ми навіть почули, що вони стануть першою платформою AI, хоча я не зовсім впевнений, що це має на увазі. Тим не менш, було багато повідомлень, щоб покласти м'ясо за понімок. Ми ознайомимо вас з деякими найважливішими і, напевно, вони означають для майбутніх програм Windows із підтримкою AI.

Microsoft Parries CloudML Google зі своїми власними ML-інструментами

Компанія Google зробила надзвичайно простою розробку моделі локально, особливо в TensorFlow; навчайте його в Google Cloud, використовуючи CloudML; а потім запускати його майже скрізь за допомогою TensorFlow, TensorFlow Lite або оптимізованого Nvidia TensorRT. Ці зусилля мають тісні зв'язки з графічними процесорами Nvidia, тому не було надто дивно, що новий гравець нового покоління Nvidia, Intel та його Movidius VPU були передовими і центровими, оскільки Microsoft випустила безліч нових пропозицій щодо розробки та виконання інтерфейсу, розроблених на AI, у свого розробника. День

Програма Azure Machine Learning Workbench пропонує програму перетягування для створення рішень
Програма Azure Machine Learning Workbench пропонує програму перетягування для створення рішень

Подання Microsoft починаються з програми Azure Machine Learning Workbench та AI Tools для Visual Studio. ML Workbench дозволяє використовувати ваш вибір декількох машинних навчальних планів, включаючи TensorFlow та Caffe, разом з контейнерами, такими як Docker, для розробки систем ML, які можна навчати в Cloud Azure, а потім розгорнутий у всій екосистемі Windows як моделі ONNX . Вона також включає додаток Studio, що підтримує створення та перетягування моделей. Після того як грали з подібним інструментом IBM і були розчаровані, мені буде цікаво, якщо середовище Studio достатньо потужним, щоб стати інструментом вибору в реальних ситуаціях. Звичайно, Workbench буде корисним для розробників Windows, які потребують великомасштабних обчислень для навчання моделей.

Навчання, перевірка та вказівки

Тренінг - це найбільш процесорна частина побудови системи машинного навчання. Як правило, велика кількість попередньо помічених даних надсилається в модель прототипу, а інструмент машинного навчання намагається оптимізувати параметри моделі, щоб тісно відповідати власним результатам на поставлених етикеток. (По суті, ви даєте системі ML купу запитань разом з правильними відповідями і налаштуєте себе, доки не отримаєте чудовий бал.) Серйозні модельєнти виводять деякі з даних навчання, а потім використовують їх для перевірки моделі в паралельно з тренуванням.

Перевірка допомагає виявляти стан, що називається переобладнанням, де модель, в основному, лише вивчає всі надані дані (думайте про це, як про запам'ятовування результатів тесту, а не про те, щоб дізнатись що-небудь про предмет). Після того, як модель досягне достатньої точності для призначеного використання, вона готова до розгортання. Якщо його неможливо навчити успішно, він повертається до дошки для малювання за допомогою дизайну моделі або способу витягнення функцій з даних, які потребують зміни. У випадку розпізнавання жестів для Kinect, потрібно було багато місяців ітерацій, перш ніж розробники з'ясували правильний спосіб переглянути дані камери та побудувати успішну модель.

Навчання та використання моделі машинного навчання за допомогою Windows ML та ONNX
Навчання та використання моделі машинного навчання за допомогою Windows ML та ONNX

Microsoft execs дуже часто використовував термін "оцінювання", щоб послатися на те, що я більш типово чув, як описано як спонукання (або прогнозування), саме там, де гума відповідає дорозі. Це коли фактичні дані надходять до моделі, і це робить певне рішення або створює деякий вихід - коли ваша камера або телефон намагається виявити обличчя, наприклад, або, можливо, конкретне обличчя, коли дивишся на сцену.

Вказівки не потребують такої ж потужності, як тренування, хоча це, безумовно, має вигоду як від GPU, так і від спеціального кремнію, такого як Intel Movivius VPU і TPU Google. Як правило, ви також хочете, щоб виклики відбувались дуже швидко, і результати використовуються локально, тому його доступність на вашому комп'ютері, телефоні чи пристрої IoT є оптимальним. Щоб це сталося, корпорація Майкрософт співпрацювала з Facebook, Amazon та іншими користувачами в стандартному форматі обміну моделями ONNX. Моделі ONNX можуть бути створені за допомогою нових інструментів розробки AI для Microsoft та розгортаються на майбутніх версіях Windows за допомогою WinML.

Як людина, яка розробляє нейронні мережі в Visual Studio, я був радий почути про інструменти AI для Visual Studio. На жаль, єдиним новим твором, здається, є тісніша інтеграція з Azure та її новими віртуальними машинами, специфічними для AI. Це досить круто, і якщо вам потрібно швидко тренувати підготовку, це допоможе вам зберегти певну ручну роботу, але, здається, не додає нових можливостей. Візуалізатори Azure AI також не є дешевими. Один GPU P40 становить $ 2 / год, якщо ви не зробите велике зобов'язання. Для однієї порівняно простої моделі класифікації звуку я працюю, це означає, що 10 доларів США для кожного повного навчального пропуску, який на сьогоднішній день займає близько шести годин на моєму надмірно синхронізованому Nvidia GTX 1080 GPU.

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

Передготовлені моделі - це велика угода

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

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

Це більше не просто про хмару: локальне розгортання

WinML - це новий рівень виконання, який дозволить розгортати моделі ONNX на кожному випуску Windows до кінця 2018 року. Він може використовуватися як з Win32, так і для Windows Store, і покладається на DirectX 12 для реалізації прискорення на GPU. Це цікава відмінність від багатьох систем машинного навчання, які в значній мірі покладаються на CUDA Nvidia, і, звичайно, полегшує тісний зв'язок з Intel. Microsoft представила переконливу демонстрацію використання вже підготовленої моделі в проекті Visual Studio. Це виглядає просто, як мінімум, ви використовуєте C ++ або C #. Використовуючи мікросхему Movidius або, можливо, високотехнологічні соціуми, Microsoft також очікує використання моделей ONNX на пристроях IoT, починаючи з HoloLens, але включаючи вбудовані камерні системи та інші пристрої.

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

Читати далі

LG Shifts Strategy, більше не буде випускати щорічні оновлення телефонів

Компанія LG заявила, що вона вийшла з щорічного флагманського циклу випуску телефону, вважаючи за краще зосередитися на збереженні форм-факторів протягом тривалого періоду часу.