Изграждайте персонализирани модели с Azure Designer за машинно обучение

Машинното обучение е важна част от съвременната разработка на приложения, като замества голяма част от онова, което се е правило, използвайки сложна поредица от правила за двигатели, и разширява обхвата до много по-широк набор от проблеми. Услуги като Когнитивните услуги на Azure предоставят предварително изградени, предварително обучени модели, които поддържат много често срещани случаи, но много повече се нуждаят от разработка на персонализирани модели.

Преминаване по поръчка с ML

Как да изградим персонализирани модели за машинно обучение? Можете да започнете от единия край, като използвате езици за статистически анализ като R, за да изградите и валидирате модели, където вече имате представа за основната структура на вашите данни, или можете да работите с линейните алгебрични функции на пакета Anaconda на Python. По подобен начин инструменти като PyTorch и TensorFlow могат да помогнат за изграждането на по-сложни модели, като се възползват от невронните мрежи и задълбоченото обучение, като същевременно се интегрират с познати езици и платформи.

Всичко това е добре, ако имате екип от учени и математици по данни, способни да изграждат, тестват и (най-важното) валидират своите модели. Тъй като е трудно да се намери опит в машинното обучение, това, което е необходимо, са инструменти, които да помогнат на водещите разработчици през процеса на създаване на моделите, от които се нуждаят фирмите. На практика повечето модели за машинно обучение се разделят на два типа: първият идентифицира подобни данни, вторият идентифицира отдалечени данни.

Можем да използваме първия тип приложение, за да идентифицираме конкретни елементи на конвейерна лента или да търсим втория проблем в данни от поредица индустриални сензори. Сценарии като тези не са особено сложни, но все пак изискват изграждане на валидиран модел, гарантиращ, че той може да идентифицира това, което търсите, и да намери сигнала в данните, а не да усилва предположенията или да реагира на шума.

Представяме Azure Designer за машинно обучение

Azure предоставя различни инструменти за това, заедно с предварително изградените, предварително обучени, персонализируеми модели. Първият, Azure Designer за машинно обучение, ви позволява да работите със съществуващите си данни с набор от инструменти за визуален дизайн и контроли за плъзгане и пускане.

Не е необходимо да пишете код, за да изградите своя модел, въпреки че има възможност да въведете персонализиран R или Python, където е необходимо. Това е заместител на оригиналния инструмент ML Studio, добавяйки по-задълбочена интеграция в SDK за машинно обучение на Azure и с поддръжка на повече от модели, базирани на процесори, предлагащи машинно обучение с GPU и автоматизирано обучение и настройка на модели.

За да започнете с Azure Machine Learning Designer, отворете сайта на Azure Machine Learning и влезте с акаунт в Azure. Започнете, като се свържете с абонамент и създадете работно пространство за вашите модели. Съветникът за настройка ви моли да посочите дали получените модели имат публична или частна крайна точка и дали ще работите с чувствителни данни, преди да изберете как се управляват ключовете. Чувствителните данни ще бъдат обработвани в това, което Azure определя като „работно пространство с голямо въздействие върху бизнеса“, което намалява количеството диагностични данни, събрани от Microsoft, и добавя допълнителни нива на криптиране.

Конфигуриране на работно пространство за машинно обучение

След като преминете през съветника, Azure проверява настройките ви, преди да създаде вашето работно пространство ML. Полезно той ви предлага ARM шаблон, за да можете да автоматизирате процеса на създаване в бъдеще, осигурявайки рамка за скриптове, които бизнес анализаторите могат да използват от вътрешен портал, за да намалят натоварването на вашите администратори на Azure. Разполагането на ресурсите, необходими за създаване на работно пространство, може да отнеме време, така че бъдете готови да изчакате известно време, преди да започнете да изграждате каквито и да е модели.

Вашето работно пространство съдържа инструменти за разработване и управление на модели за машинно обучение, от проектиране и обучение до управление на изчисления и съхранение. Той също така ви помага да маркирате съществуващите данни, увеличавайки стойността на набора от данни за обучение. Вероятно ще искате да започнете с трите основни опции: работа с Azure ML Python SDK в тетрадка в стил Jupyter, използване на автоматизирани инструменти за обучение на Azure ML или повърхността на дизайнера с плъзгане и пускане с нисък код. 

Използване на Azure ML Designer за създаване на модел

Дизайнерът е най-бързият начин да започнете с персонализирано машинно обучение, тъй като ви дава достъп до набор от предварително изградени модули, които могат да бъдат свързани във вериги, за да се направи API за машинно обучение, който е готов за използване във вашия код. Започнете, като създадете платно за вашия конвейер ML, като настроите изчислителната цел за вашия конвейер. Изчислителните цели могат да бъдат зададени за целия модел или за отделни модули в конвейера, което ви позволява да настроите по подходящ начин производителността.

Най-добре е да мислите за изчислителните ресурси на вашия модел като за безсървърни изчисления, които се мащабират нагоре и надолу при необходимост. Когато не го използвате, той ще намалее до нула и може да отнеме до пет минути, за да се върти отново. Това може да повлияе на операциите на приложенията, затова се уверете, че е достъпна, преди да стартирате приложения, които зависят от нея. При избора на изчислителна цел ще трябва да вземете предвид ресурсите, необходими за обучение на модел. Сложните модели могат да се възползват от поддръжката на графичния процесор на Azure, с поддръжка за повечето опции за изчисления на Azure (в зависимост от наличната квота).

След като настроите ресурсите си за изчисление на обучение, изберете набор от данни за обучение. Това могат да бъдат вашите собствени данни или една от пробите на Microsoft. Персонализираните набори от данни могат да бъдат изградени от локални файлове, от данни, които вече се съхраняват в Azure, от мрежата или от регистрирани отворени набори от данни (които често са държавна информация).

Използване на данни в Azure ML Designer

Инструментите в конструктора ви позволяват да изследвате наборите от данни, които използвате, така че можете да сте сигурни, че имате правилния източник за модела, който се опитвате да изградите. С източник на данни на платното можете да започнете да плъзгате модули и да ги свързвате, за да обработвате данните си за обучение; например премахване на колони, които не съдържат достатъчно данни, или почистване на липсващи данни. Този процес на плъзгане и свързване прилича много на работа с инструменти с нисък код, като тези в Power Platform. Това, което се различава тук е, че имате възможност да използвате свои собствени модули.

След като данните бъдат обработени, можете да започнете да избирате модулите, които искате да обучите вашия модел. Microsoft предоставя набор от често срещани алгоритми, както и инструменти за разделяне на набори от данни за обучение и тестване. Получените модели могат да бъдат оценени с помощта на друг модул, след като ги стартирате през обучение. Резултатите се предават на модул за оценка, за да можете да видите колко добре е работил вашият алгоритъм. Нуждаете се от някои статистически познания, за да интерпретирате резултатите, за да можете да разберете видовете грешки, които се генерират, макар че на практика колкото по-малка е стойността на грешката, толкова по-добре. Не е необходимо да използвате подготвените алгоритми, тъй като можете да въведете свой собствен Python и R код.

Обучен и тестван модел може бързо да бъде преобразуван в привличащ тръбопровод, готов за използване във вашите приложения. Това добавя входни и изходни крайни точки на API на REST към вашия модел, готови за използване във вашия код. Полученият модел след това се разполага в AKS инфериращ клъстер като готов за употреба контейнер.

Нека Azure направи всичко за вас: Автоматизирано машинно обучение

В много случаи дори не е нужно да правите толкова много развитие. Microsoft наскоро пусна опция Automated ML, базирана на работата, извършена в Microsoft Research. Тук започвате с Azure-достъпен набор от данни, който трябва да бъде таблични данни. Предназначен е за три типа модели: класификация, регресия и прогнози. След като предоставите данни и изберете тип модел, инструментът автоматично ще генерира схема от данните, които можете да използвате, за да превключвате и изключвате специфични полета с данни, като изгражда експеримент, който след това се изпълнява за изграждане и тестване на модел.

Автоматизираната ML ще създаде и класира няколко модела, които можете да проучите, за да определите кой е най-добрият за вашия проблем. След като намерите желания модел, можете бързо да добавите входни и изходни етапи и да го внедрите като услуга, готова за използване в инструменти като Power BI.

С машинното обучение, което става все по-важен инструмент за предсказване в много различни видове бизнес проблеми, Azure Designer за машинно обучение може да му донесе много по-широка аудитория. Ако имате данни, можете да изградите както аналитични, така и прогнозни модели, с минимален опит в науката за данните. С новата услуга за автоматизирана ML е лесно да преминете от данни към услуга към анализ без код.