В момента много предприятия, включително много клиенти на Cloudera, експериментират с машинно обучение (ML) и създават модели за справяне с широк спектър от предизвикателства. Докато днес много модели се използват за табла за управление и вътрешни BI цели, малка и бързо растяща група от корпоративни лидери започнаха да осъзнават потенциала на ML за бизнес автоматизация, оптимизация и продуктови иновации. В тази публикация в блога ще се потопим в последното – по-конкретно как бизнес линиите преориентират своите учени по данни да работят с инженери по приложения и други заинтересовани страни за решаване на бизнес проблеми в реално време. Тези случаи на използване варират в зависимост от критичността на индустрията и бизнеса и се разрастват в широчина и дълбочина, тъй като компаниите научават колко много могат да се направят с данните, с които разполагат.
Примери за тези случаи на употреба включват:
- Cerner, лидер в здравеопазването, използва сензорни данни от пациенти, за да идентифицира сепсис, използвайки модели за машинно обучение и проактивно уведомява лекарите, така че те да могат допълнително да диагностицират и лекуват в рамките на 6 часа от това заболяване подлежи на лечение
- Финансови услуги компаниите използват машинно обучение, за да откриват измамни транзакции в реално време и използват обратна връзка в реално време от клиенти, за да извършват обучение за подсилване.
- Железопътни компании накарайте товарните влакове на дълги разстояния да преминават през специални станции, където правят хиляди снимки с висока разделителна способност и прилагат машинно обучение, за да идентифицират повредени части. След това те планират влака да пристигне в съоръжение за ремонт заедно с части и техници – правейки спирането подобно на спирка по формула 1
- Помощни програми използват данни от интелигентни измервателни уреди, за да идентифицират потенциални проблеми в електрическата разпределителна мрежа и да планират активно поддръжка
- Медийни компании използват машинно обучение, за да идентифицират и предоставят подходящо съдържание в реално време въз основа на това, което гледате
- Рекламни технологии и компании за електронна търговия са използвали тези възможности най-дълго, за да гарантират уместност на своите оферти за различни целеви аудитории
След като проблемът бъде идентифициран и се вземе решение за инвестиране в бизнес решение, учените по данни ще проучат данните, използвайки различни инструменти за ML, за да създадат алгоритмите и да работят със софтуерни инженери за изграждане на приложения, които могат да използват тези алгоритми.
В зависимост от техните нужди, данните могат да се намират в тяхното хранилище за данни или в техните оперативни бази данни. Много от клиентите на Cloudera ще използват Spark &SparkMLlib в Cloudera Machine Learning (CML), за да обучат своите алгоритми. Използването на CML позволява безпроблемни работни потоци за операционализиране на модели в единна, сигурна и управлявана платформа, създадена за по-бързи работни потоци на ML. За да научите повече за нашия подход към разработването на производствени работни потоци в CML присъединете се този уебинар.
Алгоритмите за обучение могат да се правят в оперативната база данни
Една от основните причини да се използва хранилище за данни за алгоритми за обучение е да се избегне добавянето на натоварване към съществуваща оперативна база данни и по този начин да се повлияе на SLA на оперативното работно натоварване. Въпреки това, в случая с оперативната база данни на Cloudera (OpDB), потребителите могат да задават квоти и ограничения за количеството ресурси и натоварването, което потребителите на машинно обучение могат да поставят върху системата. Това защитава оперативните натоварвания, като същевременно позволява на учените по данни да използват данни в реално време, без да поемат разходите за създаване на второ копие.
Когато използват OpDB на Cloudera, клиентите често използват Spark за запитване на данни в оперативната база данни, елиминирайки необходимостта от разтоварване на данни, преди да ги изследват и да ги използват за обучение за целите на машинното обучение.
Алгоритмите за ML трябва да отговарят на изискванията за достъпност, устойчивост и отзивчивост на ниво приложение
Разработването и обучението на алгоритъм, базиран на ML, обикновено се извършва във връзка с разработването на приложението (ако приемем, че фактът, че това е изпълнимо, вече е установен). Типичните изисквания за приложение за базова база данни често включват:
- Време за реакция под 1 мс
- Непрекъсната наличност при прекъсвания на хардуера (или висока наличност, но високата наличност е по-малко предпочитана)
- Възможност за мащабиране
- Висока едновременност (1000 секунди заявки/секунда)
Когато внедрявате машинно обучение като част от приложение, трябва да бъдат изпълнени изискванията на приложението за наличност, устойчивост и отзивчивост. В допълнение към приложението са наложени няколко допълнителни специфични изисквания за машинно обучение:
- Възможност за одит на решения
- Възможност за версия на модели/алгоритми
- Възможност за поддържане на увеличаване на данните за непрекъснато обучение (в зависимост от алгоритъма, който е внедрен)
Оперативната база данни на Cloudera може да изпълни и двата набора изисквания
За да отговорят на тези изисквания, клиентите обикновено изравняват изхода на модела за машинно обучение в таблица - по същество предварително изчислявайки всички изходи за цялото входно пространство. Това създава допълнителни изисквания за основната база данни:
- Възможност за създаване на таблица, която е в стотици гигабайта или терабайта (в зависимост от размера и броя на входните параметри)
- Простота на управление (не принуждавайте администраторите да управляват разделяне и т.н.)
От гледна точка на оперативната база данни на Cloudera, моделът за машинно обучение лесно се представя като таблица (и това е подходът, който много клиенти са възприели):
- Първичният ключ се състои от набор от входове, необходими за идентифициране на изхода (независимо от броя на необходимите входове)
- Колона:Препоръка за модел на машинно обучение (изходът)
- Колона:Версия на модела
Възможността за одит също изглежда като таблица:
- Първичният ключ се състои от набор от входове, необходими за идентифициране на изхода (независимо от броя на необходимите входове)
- Колона:на кого предоставихте този изход (напр. идентификационен номер на клиента)
- Колона:какъв изход е бил обслужен
- Колона:каква версия на модела е използвана
- Колона:какъв алтернативен отговор би бил по-добър (уголемяване)
Увеличаването може да се извърши ръчно или програмно (т.е. когато компания за кредитни карти ви изпрати имейл с молба да потвърдите транзакция - те правят увеличаване на данните). Тази таблица за одит, която е допълнена, може да се използва за подсилване на обучението на място в базата данни или да се разтовари в хранилище за данни.
Тъй като данните са в базата данни, актуализациите на модела могат да се извършват без прекъсване на всяко приложение.
От гледна точка на мащабиране, оперативната база данни на Cloudera е изградена върху Apache HBase и Apache Phoenix – и за двете е доказано, че обработват таблици с размер стотици терабайти без никакви проблеми.
Разгледайте оперативната база данни на Cloudera в рамките на платформата за данни Cloudera в публичен облак, за да създадете следващото си приложение, базирано на ML.