HBase
 sql >> база данни >  >> NoSQL >> HBase

Как да внедрите ML модели в производството

В момента много предприятия, включително много клиенти на 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.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Разгръщане на приложения в CDP Оперативна база данни (COD)

  2. Топ 6 характеристики на HDFS – урок за HDFS на Hadoop

  3. Cloudera Impala:Заявки в реално време в Apache Hadoop, за реално

  4. Създаване на приложение за машинно обучение с Cloudera Data Science Workbench и оперативна база данни, част 1:Настройка и основи

  5. Вътре в архитектурата за поглъщане на данни в почти реално време на Сантандер