sql >> Databáze >  >> NoSQL >> HBase

Jak nasadit modely ML do výroby

V současné době mnoho podniků, včetně mnoha zákazníků Cloudera, experimentuje se strojovým učením (ML) a vytváří modely pro řešení široké škály výzev. Zatímco dnes se mnoho modelů používá pro řídicí panely a interní účely BI, malá a rychle rostoucí skupina podnikových lídrů si začala uvědomovat potenciál ML pro obchodní automatizaci, optimalizaci a inovace produktů. V tomto příspěvku na blogu se ponoříme do toho druhého – konkrétně do toho, jak obory podnikání přeorientují své datové vědce, aby spolupracovali s aplikačními inženýry a dalšími zúčastněnými stranami na řešení obchodních problémů v reálném čase. Tyto případy použití se v různých odvětvích a kritičnosti podnikání liší a narůstají do šířky a hloubky, protože společnosti zjišťují, kolik toho lze udělat s daty, která mají.

Příklady těchto případů použití zahrnují:

  • Cerner, přední zdravotnická společnost, využívá data ze senzorů od pacientů k identifikaci sepse pomocí modelů strojového učení a proaktivně informuje lékaře, aby mohli dále diagnostikovat a léčit do 6 hodin, kdy se toto onemocnění je léčitelná
  • Finanční služby společnosti používají strojové učení k odhalování podvodných transakcí v reálném čase a využívají zpětnou vazbu od zákazníků v reálném čase k posílení učení 
  • Železniční společnosti nechat dálkové nákladní vlaky projíždět speciálními stanicemi, kde pořizují tisíce snímků ve vysokém rozlišení a aplikují strojové učení k identifikaci vadných dílů. Poté naplánují příjezd vlaku do opravárenského zařízení spolu s díly a techniky – což je zastávka podobná zastávce formule 1 v boxech
  • Nástroje používají data z inteligentních měřičů k identifikaci potenciálních problémů v elektrické distribuční síti a proaktivnímu plánování údržby
  • Mediální společnosti používají strojové učení k identifikaci a poskytování relevantního obsahu v reálném čase na základě toho, co si prohlížíte
  • Společnosti zabývající se reklamní technologií a elektronickým obchodem tyto možnosti využívají nejdéle k zajištění relevance svých nabídek pro různé cílové skupiny

Jakmile je problém identifikován a je rozhodnuto investovat do obchodního řešení, datoví vědci budou studovat data pomocí různých nástrojů ML k vytvoření algoritmů a spolupracovat se softwarovými inženýry na vytváření aplikací, které mohou tyto algoritmy využít.

V závislosti na jejich potřebách mohou být data uložena v jejich datovém skladu nebo v jejich provozních databázích. Mnoho zákazníků Cloudera bude používat Spark &​​SparkMLlib uvnitř Cloudera Machine Learning (CML) k trénování svých algoritmů. Použití CML umožňuje bezproblémové pracovní postupy pro provozování modelů v jediné, zabezpečené a řízené platformě vytvořené pro rychlejší pracovní postupy ML. Chcete-li se dozvědět více o našem přístupu k vývoji produkčních pracovních postupů v CML, připojte se tento webinář.

Trénovací algoritmy lze provádět v operační databázi 

Jedním z hlavních důvodů, proč používat datový sklad pro trénovací algoritmy, je vyhnout se přidávání zátěže do existující provozní databáze a tím ovlivnění SLA provozní zátěže. V případě provozní databáze Cloudera (OpDB) však uživatelé mohou nastavit kvóty a limity na množství zdrojů a zátěž, kterou mohou uživatelé strojového učení vložit do systému. To chrání provozní zátěž a zároveň umožňuje datovým vědcům používat data v reálném čase, aniž by vznikaly náklady na vytvoření druhé kopie.

Při používání OpDB společnosti Cloudera zákazníci často používají Spark k dotazování na data v provozní databázi, takže není nutné data před jejich prozkoumáním stáhnout a použít pro školení pro účely strojového učení.

Algoritmy ML musí splňovat požadavky na dostupnost, odolnost a odezvu na úrovni aplikace 

Vývoj a školení algoritmu založeného na ML se obvykle provádí ve spojení s vývojem aplikace (za předpokladu, že skutečnost, že je to proveditelné, již byla prokázána). Typické aplikační požadavky na podkladovou databázi často zahrnují:

  • Doba odezvy menší než 1 ms
  • Nepřetržitá dostupnost tváří v tvář výpadkům hardwaru (nebo vysoká dostupnost, ale vysoká dostupnost je méně preferovaná)
  • Možnost škálování
  • Vysoká souběžnost (1 000 s žádostí za sekundu)

Při nasazování strojového učení jako součásti aplikace musí být splněny požadavky aplikace na dostupnost, odolnost a odezvu. Kromě toho je na aplikaci kladeno několik dalších specifických požadavků na strojové učení:

  • Schopnost auditovat rozhodnutí
  • Možnost verze modelů/algoritmů
  • Schopnost podporovat rozšiřování dat pro nepřetržité učení (v závislosti na algoritmu, který je nasazen)

Provozní databáze Cloudera může splňovat obě sady požadavků 

Aby zákazníci splnili tyto požadavky, obvykle sloučí výstup modelu strojového učení do tabulky – v podstatě předpočítají všechny výstupy pro celý vstupní prostor. To vytváří další požadavky na podkladovou databázi:

  • Možnost vytvořit tabulku v řádu stovek gigabajtů nebo terabajtů (v závislosti na velikosti a počtu vstupních parametrů)
  • Jednoduchost správy (nenuťte administrátory spravovat sharding atd.)

Z pohledu provozní databáze Cloudera je model strojového učení snadno reprezentován jako tabulka (a tento přístup zvolilo mnoho zákazníků):

  • Primární klíč se skládá ze sady vstupů potřebných k identifikaci výstupu (bez ohledu na počet požadovaných vstupů)
  • Sloupec:Doporučení modelu strojového učení (výstup)
  • Sloupec:Verze modelu

Funkce auditu také vypadá jako tabulka:

  • Primární klíč se skládá ze sady vstupů potřebných k identifikaci výstupu (bez ohledu na počet požadovaných vstupů)
  • Sloupec:komu jste poskytli tento výstup (např. ID zákazníka)
  • Sloupec:jaký výstup byl poskytnut
  • Sloupec:jaká verze modelu byla použita
  • Sloupec:jaká alternativní odpověď by byla lepší (augmentace)

Rozšíření lze provést ručně nebo programově (tj. když vám společnost vydávající kreditní karty pošle e-mail s žádostí o ověření transakce – provádí augmentaci dat). Tuto tabulku auditu, která je rozšířena, lze použít pro výuku na místě v databázi nebo ji lze načíst do datového skladu.

Vzhledem k tomu, že data jsou v databázi, lze aktualizace modelu provádět bez jakéhokoli výpadku aplikace.

Z hlediska škálování je operační databáze Cloudera postavena na Apache HBase a Apache Phoenix – u obou bylo prokázáno, že bez problémů zvládají tabulky o velikosti stovek terabajtů.

Prohlédněte si provozní databázi Cloudera v rámci datové platformy Cloudera ve veřejném cloudu a vytvořte si svou další aplikaci založenou na ML.


  1. Mezipaměť Azure Redis – více chyb TimeoutException:časový limit provádění GET {klíč}

  2. Jak vyloučit jedno konkrétní pole z kolekce v Mongoose?

  3. Nejčastější případy použití Redis podle typů základních datových struktur

  4. Redis Managed Pub/Sub Server