Programovanie

Ako si vybrať platformu na učenie sa cloudových strojov

Na vytvorenie efektívnych modelov strojového učenia a hlbokého učenia potrebujete veľké množstvo údajov, spôsob ich vyčistenia a vykonania inžinierstva funkcií a spôsob, ako trénovať modely na svojich údajoch v primeranom čase. Potom potrebujete spôsob, ako nasadiť svoje modely, monitorovať ich drift v priebehu času a podľa potreby ich preškoliť.

Všetko toto môžete urobiť lokálne, ak ste investovali do výpočtových prostriedkov a akcelerátorov, ako sú GPU, ale môžete zistiť, že ak sú vaše prostriedky dostatočné, sú väčšinu času tiež nečinné. Na druhej strane môže byť niekedy nákladovo efektívnejšie spustiť celý kanál v cloude, podľa potreby použiť veľké množstvo výpočtových zdrojov a akcelerátorov a potom ich uvoľniť.

Tech Spotlight: AI a strojové učenie

  • 5 príbehov o úspechu strojového učenia: vnútorný pohľad (CIO)
  • AI v práci: Vaším ďalším spolupracovníkom by mohol byť algoritmus (Computerworld)
  • Aké bezpečné sú vaše projekty umelej inteligencie a strojového učenia? (CSO)
  • Ako si zvoliť platformu na učenie sa v cloude ()
  • Ako môže AI vytvoriť dátové centrá s vlastným riadením (Network World)

Hlavní poskytovatelia cloudových služieb - a tiež niekoľko menších cloudov - vynaložili značné úsilie na vybudovanie svojich platforiem strojového učenia na podporu celého životného cyklu strojového učenia, od plánovania projektu až po udržanie modelu vo výrobe. Ako určíte, ktorý z týchto oblakov bude vyhovovať vašim potrebám? Tu je 12 funkcií, ktoré by mala poskytovať každá end-to-end platforma strojového učenia.

Buďte nablízku svojim údajom

Ak máte veľké množstvo údajov potrebných na zostavenie presných modelov, nechcete ich posielať do polovice sveta. Problémom nie je vzdialenosť, je to čas: Rýchlosť dátového prenosu je nakoniec obmedzená rýchlosťou svetla, a to aj v dokonalej sieti s nekonečnou šírkou pásma. Veľké vzdialenosti znamenajú latenciu.

Ideálnym prípadom pre veľmi veľké súbory údajov je zostavenie modelu, v ktorom sa údaje už nachádzajú, takže nie je potrebný hromadný prenos údajov. Niekoľko databáz to podporuje v obmedzenej miere.

Ďalším najlepším prípadom je, aby boli dáta v rovnakej vysokorýchlostnej sieti ako softvér na vytváranie modelov, čo obvykle znamená v rovnakom dátovom centre. Dokonca aj presun údajov z jedného dátového centra do druhého v zóne dostupnosti cloudu môže spôsobiť značné oneskorenie, ak máte terabajty (TB) alebo viac. Môžete to zmierniť vykonaním prírastkových aktualizácií.

Najhorším prípadom by bolo, keby ste museli presúvať veľké dáta na veľké vzdialenosti po cestách s obmedzenou šírkou pásma a vysokou latenciou. Transk Pacifické káble smerujúce do Austrálie sú z tohto hľadiska obzvlášť závažné.

Podporujte potrubie ETL alebo ELT

ETL (export, transformácia a načítanie) a ELT (export, načítanie a transformácia) sú dve konfigurácie dátového kanálu, ktoré sú bežné vo svete databáz. Strojové učenie a hlboké učenie zosilňujú ich potrebu, najmä transformačnú časť. ELT vám dáva väčšiu flexibilitu, keď sa vaše transformácie musia zmeniť, pretože fáza načítania je pre veľké dáta zvyčajne časovo najnáročnejšia.

Všeobecne sú údaje vo voľnej prírode hlučné. To treba filtrovať. Dáta vo voľnej prírode majú navyše rôzne rozsahy: Jedna premenná môže mať maximum v miliónoch, zatiaľ čo iná môže mať rozsah -0,1 až -0,001. Pre strojové učenie musia byť premenné transformované do štandardizovaných rozsahov, aby dominovali tie, ktoré majú veľké rozsahy. Aký štandardizovaný rozsah presne závisí od algoritmu použitého pre model.

Podporujte online prostredie pre tvorbu modelov

Tradičná múdrosť spočívala v tom, že pri vytváraní modelov by ste mali importovať svoje údaje na plochu. Samotné množstvo údajov potrebných na vytvorenie dobrých modelov strojového učenia a hlbokého učenia mení obraz: Na pracovnú plochu si môžete stiahnuť malú vzorku údajov na účely prieskumnej analýzy údajov a vytvárania modelov, ale pri produkčných modeloch musíte mať prístup k úplnému obsahu. údaje.

Webové vývojové prostredia, ako sú notebooky Jupyter, JupyterLab a Apache Zeppelin, sú veľmi vhodné na vytváranie modelov. Ak sú vaše údaje v rovnakom oblaku ako prostredie notebooku, môžete analýzu preniesť do údajov, čím minimalizujete časovo náročný pohyb údajov.

Podpora odbornej prípravy zameranej na zväčšenie a zväčšenie rozsahu

Výpočetné a pamäťové nároky notebookov sú spravidla minimálne, s výnimkou cvičných modelov. Veľmi pomáha, ak sa v notebooku môžu vyskytnúť tréningové úlohy, ktoré bežia na viacerých veľkých virtuálnych strojoch alebo kontajneroch. Tiež veľmi pomáha, ak má školenie prístup k akcelerátorom, ako sú GPU, TPU a FPGA; to môže zmeniť dni tréningu na hodiny.

Podpora AutoML a automatického navrhovania funkcií

Nie každý je schopný vyberať modely strojového učenia, vyberať funkcie (premenné, ktoré model používa) a vytvárať nové funkcie z prvotných pozorovaní. Aj keď tieto úlohy ovládate, sú náročné na čas a dajú sa do značnej miery automatizovať.

Systémy AutoML často skúšajú mnoho modelov, aby zistili, ktoré výsledky vedú k najlepším objektívnym hodnotám funkcií, napríklad k minimálnej štvorcovej chybe pre regresné problémy. Najlepšie systémy AutoML môžu tiež vykonávať inžinierstvo funkcií a efektívne využívať svoje zdroje na sledovanie najlepších možných modelov s najlepšími možnými sadami funkcií.

Podporujte najlepšie rámce strojového učenia a hlbokého učenia

Väčšina vedcov v oblasti dát má obľúbené rámce a programovacie jazyky pre strojové učenie a hlboké učenie. Pre tých, ktorí uprednostňujú Python, je Scikit-learn často obľúbeným strojovým učením, zatiaľ čo TensorFlow, PyTorch, Keras a MXNet sú často najlepším výberom hlbokého učenia. V stroji Scala býva pre strojové učenie preferovaný program Spark MLlib. V R existuje veľa natívnych balíkov strojového učenia a dobré rozhranie k Pythonu. V prostredí Java má H2O.ai vysoké hodnotenie, rovnako ako Java-ML a Deep Java Library.

Platformy cloudového strojového učenia a hlbokého učenia majú tendenciu mať vlastnú zbierku algoritmov a často podporujú externé rámce aspoň v jednom jazyku alebo ako kontajnery so špecifickými vstupnými bodmi. V niektorých prípadoch môžete integrovať svoje vlastné algoritmy a štatistické metódy s vybavením AutoML platformy, čo je celkom pohodlné.

Niektoré cloudové platformy tiež ponúkajú svoje vlastné vyladené verzie hlavných rámcov hlbokého učenia. Napríklad AWS má optimalizovanú verziu TensorFlow, o ktorej tvrdí, že môže dosiahnuť takmer lineárnu škálovateľnosť pre výcvik hlbokých neurónových sietí.

Ponuka vopred vyškolených modelov a podpora transferového učenia

Nie každý chce tráviť čas a výpočtom zdrojov trénovať svoje vlastné modely - ani by nemali, keď sú k dispozícii vopred vyškolené modely. Napríklad dátová sada ImageNet je obrovská a trénovanie najmodernejšej hlbokej neurálnej siete proti nej môže trvať týždne, takže má zmysel, keď je to možné, použiť na ňu vopred vyškolený model.

Na druhej strane, vopred vyškolené modely nemusia vždy identifikovať objekty, na ktorých vám záleží. Prenosové učenie vám môže pomôcť prispôsobiť niekoľko posledných vrstiev neurónovej siete pre vašu konkrétnu množinu údajov bez toho, aby ste si museli čas a náklady na školenie celej siete vycvičiť.

Ponuka vyladených služieb umelej inteligencie

Hlavné cloudové platformy ponúkajú robustné vyladené služby AI pre mnoho aplikácií, nielen pre identifikáciu obrázkov. Patria sem napríklad jazykový preklad, reč na text, prevod textu na reč, prognózy a odporúčania.

Tieto služby už boli vyškolené a testované na väčšom množstve údajov, ako je zvyčajne k dispozícii podnikom. Tiež sú už nasadené na koncových bodoch služieb s dostatkom výpočtových zdrojov vrátane akcelerátorov, aby sa zabezpečila dobrá doba odozvy pri celosvetovom zaťažení.

Spravujte svoje experimenty

Jediným spôsobom, ako nájsť najlepší model pre svoju množinu údajov, je vyskúšať všetko, či už manuálne alebo pomocou AutoML. Zostáva ďalší problém: správa experimentov.

Dobrá platforma na učenie sa v cloude bude mať spôsob, ako môžete vidieť a porovnávať hodnoty objektívnych funkcií každého experimentu pre cvičné súbory aj údaje o teste, ako aj veľkosť modelu a maticu zmätku. Schopnosť to všetko zobraziť v grafe je jednoznačným plusom.

Podpora nasadenia modelu pre predikciu

Ak budete mať podľa svojich kritérií spôsob výberu najlepšieho experimentu, budete tiež potrebovať jednoduchý spôsob nasadenia modelu. Ak nasadzujete viac modelov na rovnaký účel, budete tiež potrebovať spôsob, ako medzi ne rozdeliť prenosy na účely testovania a / b.

Monitorujte výkonnosť predikcie

Bohužiaľ, svet má tendenciu meniť sa a s ním sa menia aj dáta. To znamená, že nemôžete nasadiť model a zabudnúť na neho. Namiesto toho musíte v sledovaných údajoch sledovať predpovede v priebehu času. Keď sa údaje začnú výrazne meniť od základnej čiary pôvodnej množiny údajov o tréningu, musíte svoj model preškoliť.

Náklady na kontrolu

Nakoniec potrebujete spôsoby, ako riadiť náklady, ktoré vzniknú vašim modelom. Nasadenie modelov na odvodenie produkcie často predstavuje 90% nákladov na hlboké učenie, zatiaľ čo školenie predstavuje iba 10% nákladov.

Najlepší spôsob kontroly predikčných nákladov závisí od vášho zaťaženia a zložitosti vášho modelu. Ak máte vysoké zaťaženie, možno budete môcť použiť akcelerátor, aby ste sa vyhli pridávaniu ďalších inštancií virtuálnych strojov. Ak máte variabilné načítanie, možno budete môcť dynamicky meniť veľkosť alebo počet inštancií alebo kontajnerov, keď sa načítanie zvyšuje alebo znižuje. A ak máte nízke alebo príležitostné zaťaženie, možno budete môcť na spracovanie predpovedí použiť veľmi malú inštanciu s čiastočným akcelerátorom.

$config[zx-auto] not found$config[zx-overlay] not found