Obsah[Skryť][Šou]
- 1. Čo myslíš pod pojmom MLOps?
- 2. Ako sa líšia dátoví vedci, dátoví inžinieri a inžinieri ML?
- 3. Čo odlišuje MLO od ModelOps a AIOps?
- 4. Môžete mi povedať nejaké výhody MLOps?
- 5. Môžete mi povedať komponenty MLOps?
- 6. Aké riziká prináša používanie vedy o údajoch?
- 7. Môžete vysvetliť, čo je modelový drift?
- 8. Koľkými rôznymi spôsobmi je podľa vás možné použiť MLO?
- 9. Čo odlišuje statické nasadenie od dynamického?
- 10. Aké techniky testovania výroby poznáte?
- 11. Čo odlišuje prúdové spracovanie od dávkového spracovania?
- 12. Čo myslíš pod pojmom Training Serving Skew?
- 13. Čo rozumiete pod pojmom Register modelov?
- 14. Môžete upresniť výhody registra modelov?
- 15. Môžete vysvetliť, ako funguje technika Champion-Challenger?
- 16. Popíšte aplikácie životného cyklu MLOps na podnikovej úrovni?
- záver
Spoločnosti častejšie využívajú nové technológie, ako je umelá inteligencia (AI) a strojové učenie (ML), aby zvýšili prístup verejnosti k informáciám a službám.
Tieto technológie sa čoraz viac využívajú v rôznych odvetviach vrátane bankovníctva, financií, maloobchodu, výroby a dokonca aj zdravotníctva.
Čoraz väčší počet spoločností požaduje dátových vedcov, inžinierov strojového učenia a inžinierov v oblasti umelej inteligencie.
Poznanie možného strojové učenie otázky týkajúce sa prevádzkového pohovoru, ktoré by vám mohli položiť náboroví manažéri a náboroví pracovníci, sú nevyhnutné, ak chcete pracovať v oblasti ML alebo MLOps.
V tomto príspevku sa môžete dozvedieť, ako odpovedať na niektoré otázky na pohovore MLOps, keď pracujete na získaní vysnívanej práce.
1. Čo myslíš pod pojmom MLOps?
Téma operacionalizácie modelov ML je stredobodom MLOps, známych aj ako Machine Learning Operations, čo je oblasť rozvoja v rámci významnejšej oblasti AI/DS/ML.
Hlavným cieľom prístupu a kultúry softvérového inžinierstva známej ako MLOps je integrovať vytváranie modelov strojového učenia/data science a ich následnú operacionalizáciu (Ops).
Konvenčné DevOps a MLOps zdieľajú určité podobnosti, avšak MLO sa tiež značne líšia od tradičných DevOps.
MLOps pridáva novú vrstvu zložitosti zameraním sa na údaje, zatiaľ čo DevOps sa primárne zameriava na operacionalizáciu kódu a vydaní softvéru, ktoré nemôžu byť stavové.
Kombinácia ML, Data a Ops je to, čo dáva MLOps svoj spoločný názov (strojové učenie, dátové inžinierstvo a DevOps).
2. Ako sa líšia dátoví vedci, dátoví inžinieri a inžinieri ML?
Podľa mňa sa to líši v závislosti od firmy. Prostredie na prenos a transformáciu údajov, ako aj ich ukladanie, vytvárajú dátoví inžinieri.
Vedci zaoberajúci sa údajmi sú odborníkmi na využívanie vedeckých a štatistických techník na analýzu údajov a vyvodzovanie záverov vrátane predpovedí budúceho správania na základe trendov, ktoré sú teraz na mieste.
Softvéroví inžinieri pred niekoľkými rokmi študovali operácie a spravovali infraštruktúru nasadenia. Operačné tímy na druhej strane študovali vývoj a používali infraštruktúru ako kód. Pozícia DevOps bola vytvorená týmito dvoma prúdmi.
MLOps je v rovnakej kategórii ako Data Scientist a dátový inžinier. Dátoví inžinieri získavajú poznatky o infraštruktúre potrebnej na podporu modelových životných cyklov a na vytváranie kanálov pre priebežné školenia.
Vedci zaoberajúci sa údajmi sa snažia rozvíjať svoje možnosti nasadenia modelov a hodnotenia.
Inžinieri ML vybudujú dátový kanál produkčnej úrovne, ktorý využíva infraštruktúru, ktorá transformuje nespracované údaje na vstup potrebný pre model vedy o údajoch, hostí a prevádzkuje model a vydáva skórovaný súbor údajov do nadradených systémov.
Dátoví inžinieri aj dátoví vedci sa môžu stať inžiniermi ML.
3. Čo odlišuje MLO od ModelOps a AIOps?
Pri konštrukcii end-to-end algoritmy strojového učenia, MLOps je aplikácia DevOps, ktorá zahŕňa zber údajov, predbežné spracovanie údajov, vytváranie modelu, nasadenie modelu vo výrobe, monitorovanie modelu vo výrobe a pravidelnú aktualizáciu modelu.
Použitie DevOps pri manipulácii s celou implementáciou akýchkoľvek algoritmov, ako sú napríklad modely založené na pravidlách, je známe ako ModelOps.
AIOps využíva princípy DevOps na vytváranie aplikácií AI od začiatku.
4. Môžete mi povedať nejaké výhody MLOps?
- Dátoví vedci a vývojári MLOps môžu rýchlo zopakovať testy, aby sa zaistilo, že modely sú vhodne vyškolené a hodnotené, pretože MLOps pomáha automatizovať všetky alebo väčšinu úloh/krokov v MDLC (životný cyklus vývoja modelu). Dodatočne povolenia verzovanie údajov a modelov.
- Uvedenie nápadov MLOps do praxe umožňuje dátovým inžinierom a dátovým vedcom neobmedzený prístup ku kultivovaným a spravovaným súborom údajov, čo exponenciálne urýchľuje vývoj modelov.
- Dátoví vedci sa budú môcť vrátiť k modelu, ktorý fungoval lepšie, ak súčasná iterácia nesplní očakávania, vďaka možnosti mať modely a súbory údajov verzie, čo výrazne zlepší modelový audit trail.
- Keďže metódy MLOps sa silne spoliehajú na DevOps, zahŕňajú aj množstvo konceptov CI/CD, ktoré zlepšujú kvalitu a spoľahlivosť kódu.
5. Môžete mi povedať komponenty MLOps?
dizajn: MLO vo veľkej miere zahŕňa dizajnové myslenie. Počnúc povahou problému, testovaním hypotéz, architektúrou a nasadením
Stavba modelu: Testovanie a validácia modelov sú súčasťou tohto kroku spolu s potrubím dátového inžinierstva a experimentovaním na nastavenie najlepších systémov strojového učenia.
operácie: Model musí byť implementovaný ako súčasť operácií a neustále kontrolovaný a vyhodnocovaný. Procesy CI/CD sa potom monitorujú a spúšťajú pomocou nástroja na orchestráciu.
6. Aké riziká prináša používanie vedy o údajoch?
- Je ťažké škálovať model v celej spoločnosti.
- Bez varovania sa model vypne a prestane fungovať.
- Väčšinou sa presnosť modelov časom zhoršuje.
- Model robí nepresné predpovede na základe špecifického pozorovania, ktoré nemožno ďalej skúmať.
- Dátoví vedci by tiež mali udržiavať modely, ale sú drahé.
- Na zníženie týchto rizík možno použiť MLO.
7. Môžete vysvetliť, čo je modelový drift?
Keď sa výkonnosť inferenčnej fázy modelu (pomocou údajov z reálneho sveta) zhorší v porovnaní s výkonnosťou trénovacej fázy, je to známe ako posun modelu, známy aj ako posun nápadov (pomocou historických, označených údajov).
Výkon modelu je skreslený v porovnaní s tréningovou fázou a fázou podávania, preto názov „trénovať/servírovať skreslenie“.
Mnohé faktory vrátane:
- Základný spôsob distribúcie údajov sa zmenil.
- Školenie sa zameralo na malý počet kategórií, avšak práve nastalý environmentálny posun pridal ďalšiu oblasť.
- Pri ťažkostiach s NLP majú reálne údaje neúmerne väčšie množstvo číselných žetónov ako tréningové údaje.
- Neočakávané udalosti, ako napríklad model založený na údajoch pred ochorením COVID, o ktorých sa predpokladá, že budú mať výrazne horšie výsledky v porovnaní s údajmi zhromaždenými počas epidémie COVID-19.
Na identifikáciu driftu modelu je vždy potrebné neustále monitorovať výkon modelu.
Rekvalifikácia modelu je takmer vždy potrebná ako náprava, keď dochádza k trvalému poklesu výkonnosti modelu; treba zistiť dôvod poklesu a použiť vhodné liečebné postupy.
8. Koľkými rôznymi spôsobmi je podľa vás možné použiť MLO?
Existujú tri spôsoby, ako uviesť MLO do praxe:
MLOps úroveň 0 (manuálny proces): Na tejto úrovni sa všetky kroky – vrátane prípravy údajov, analýzy a školenia – vykonávajú manuálne. Každá etapa sa musí vykonať ručne, ako aj prechod z jednej do druhej.
Základným predpokladom je, že váš tím pre vedu o údajoch spravuje iba malý počet modelov, ktoré sa často neaktualizujú.
Výsledkom je, že neexistuje nepretržitá integrácia (CI) ani nepretržité nasadzovanie (CD) a testovanie kódu je zvyčajne integrované do vykonávania skriptu alebo vykonávania notebooku, pričom nasadenie prebieha v mikroslužbe s REST API.
MLOps úroveň 1 (automatizácia ML potrubia): Automatizáciou procesu ML je cieľom neustále trénovať model (CT). Týmto spôsobom môžete dosiahnuť poskytovanie služby predikcie nepretržitého modelu.
Naše nasadenie celého tréningového kanála zaisťuje, že model je automaticky vyškolený vo výrobe s využitím nových údajov založených na aktívnych spúšťačoch potrubia.
MLOps úroveň 2 (automatizácia CI/CD potrubia): Ide o jeden krok nad úroveň MLOps. Ak chcete rýchlo a spoľahlivo aktualizovať potrubia vo výrobe, je potrebný silný automatizovaný systém CI/CD:
- Vytvárate zdrojový kód a vykonávate množstvo testov počas fázy CI. Balíky, spustiteľné súbory a artefakty sú výstupmi fázy, ktoré budú nasadené neskôr.
- Artefakty vytvorené stupňom CI sú nasadené do cieľového prostredia počas kroku CD. Výstupom etapy je nasadený plynovod s implementáciou upraveného modelu.
- Predtým, ako potrubie začne novú iteráciu experimentu, vedci údajov musia stále vykonať fázu analýzy údajov a modelu manuálne.
9. Čo odlišuje statické nasadenie od dynamického?
Model je trénovaný offline pre Statické nasadenie. Inými slovami, model trénujeme presne raz a potom ho nejaký čas používame. Potom, čo bol model trénovaný lokálne, je uložený a odoslaný na server, aby sa použil na vytváranie predpovedí v reálnom čase.
Model je potom distribuovaný ako inštalovateľný aplikačný softvér. program, ktorý ako ilustráciu umožňuje dávkové vyhodnocovanie požiadaviek.
Modelka je vyškolená online na Dynamické nasadenie. To znamená, že do systému sa neustále pridávajú nové údaje a model sa priebežne aktualizuje, aby to zohľadnil.
V dôsledku toho môžete predpovedať pomocou servera na požiadanie. Potom sa model uvedie do prevádzky tak, že sa dodá ako koncový bod API, ktorý reaguje na dopyty používateľov pomocou webového rámca, ako je Flask alebo FastAPI.
10. Aké techniky testovania výroby poznáte?
Dávkové testovanie: Testovaním v inom prostredí, ako je prostredie jeho tréningu, overuje model. Pomocou zvolených metrík, ako je presnosť, RMSE atď., sa dávkové testovanie vykonáva na skupine vzoriek údajov, aby sa overilo odvodenie modelu.
Dávkové testovanie je možné vykonávať na rôznych počítačových platformách, ako je napríklad testovací server, vzdialený server alebo cloud. Typicky sa model poskytuje ako serializovaný súbor, ktorý sa načíta ako objekt a odvodzuje sa z testovacích údajov.
A / B testovanie: Často sa používa na analýzu marketingových kampaní, ako aj na dizajn služieb (webové stránky, mobilné aplikácie atď.).
Na základe spoločnosti alebo operácií sa na analýzu výsledkov A/B testovania používajú štatistické prístupy, aby sa rozhodlo, ktorý model bude fungovať lepšie vo výrobe. Zvyčajne sa A/B testovanie vykonáva nasledujúcim spôsobom:
- Živé údaje alebo údaje v reálnom čase sú rozdelené alebo segmentované do dvoch množín, množiny A a množiny B.
- Údaje sady A sa odošlú do zastaraného modelu, zatiaľ čo údaje sady B sa odošlú do aktualizovaného modelu.
- V závislosti od prípadu obchodného použitia alebo procesov je možné použiť niekoľko štatistických prístupov na vyhodnotenie výkonnosti modelu (napríklad presnosť, presnosť atď.), aby sa zistilo, či nový model (model B) prekoná starý model (model A).
- Následne vykonáme testovanie štatistických hypotéz: Nulová hypotéza hovorí, že nový model nemá žiadny vplyv na priemernú hodnotu sledovaných obchodných ukazovateľov. Podľa alternatívnej hypotézy nový model zvyšuje priemernú hodnotu monitorovacích obchodných ukazovateľov.
- Nakoniec posúdime, či nový model vedie k výraznému zlepšeniu určitých obchodných KPI.
Tieňový alebo javiskový test: Model sa vyhodnotí v duplikáte produkčného prostredia pred použitím v produkcii (predbežné prostredie).
To je kľúčové pre určenie výkonu modelu s údajmi v reálnom čase a overenie odolnosti modelu. sa vykonáva odvodením rovnakých údajov ako produkčný kanál a dodaním vyvinutej vetvy alebo modelu na testovanie na stagingovom serveri.
Jedinou nevýhodou je, že v dôsledku vývojovej vetvy sa na pracovnom serveri neuskutočnia žiadne obchodné rozhodnutia a nebudú viditeľné pre koncových používateľov.
Odolnosť a výkonnosť modelu sa bude hodnotiť štatisticky pomocou výsledkov pracovného prostredia pomocou vhodných metrík.
11. Čo odlišuje prúdové spracovanie od dávkového spracovania?
S charakteristikami, ktoré používame na vytváranie predpovedí v reálnom čase, môžeme manipulovať pomocou dvoch metód spracovania: dávkové a streamované.
Dávkový proces funkcie z predchádzajúceho bodu v čase pre konkrétny objekt, ktorý sa potom využíva na generovanie predpovedí v reálnom čase.
- Tu sme schopní robiť intenzívne výpočty funkcií offline a mať dáta pripravené na rýchle odvodenie.
- Funkcie však majú vek, pretože boli predurčené v minulosti. To môže byť hlavná nevýhoda, ak je vaša prognóza založená na nedávnych udalostiach. (Napríklad identifikácia podvodných transakcií hneď, ako to bude možné.)
S funkciami streamovania v takmer reálnom čase pre konkrétnu entitu sa odvodenie vykonáva pri spracovaní toku na danej sade vstupov.
- Tým, že modelu poskytneme funkcie streamovania v reálnom čase, môžeme získať presnejšie predpovede.
- Na spracovanie tokov a udržiavanie tokov údajov je však potrebná ďalšia infraštruktúra (Kafka, Kinesis atď.). (Apache Flink, Beam atď.)
12. Čo myslíš pod pojmom Training Serving Skew?
Nepomer medzi výkonom pri podávaní a výkonom počas tréningu je známy ako skreslenie podávania. Toto skreslenie môže byť spôsobené nasledujúcimi faktormi:
- Rozdiel v tom, ako narábate s údajmi medzi kanálmi na poskytovanie a školenie.
- Posun v údajoch z vášho tréningu do vašich služieb.
- Kanál spätnej väzby medzi vaším algoritmom a modelom.
13. Čo rozumiete pod pojmom Register modelov?
Register modelov je centrálne úložisko, kde môžu tvorcovia modelov publikovať modely, ktoré sú vhodné na použitie vo výrobe.
Vývojári môžu spolupracovať s inými tímami a zainteresovanými stranami na spravovaní životnosti všetkých modelov v rámci podniku pomocou registra. Vycvičené modely môže dátový vedec nahrať do registra modelov.
Modely sú pripravené na testovanie, validáciu a nasadenie do výroby, keď sú v registri. Okrem toho sú trénované modely uložené v registroch modelov pre rýchly prístup z akejkoľvek integrovanej aplikácie alebo služby.
Aby bolo možné otestovať, vyhodnotiť a nasadiť model do výroby, vývojári softvéru a recenzenti môžu rýchlo rozpoznať a vybrať práve najlepšiu verziu vyškolených modelov (na základe hodnotiacich kritérií).
14. Môžete upresniť výhody registra modelov?
Nasleduje niekoľko spôsobov, ako modelový register zjednodušuje správu životného cyklu modelu:
- Na uľahčenie nasadenia uložte požiadavky na runtime a metadáta pre vaše trénované modely.
- Vaše vyškolené, nasadené a vyradené modely by mali byť registrované, sledované a verzované v centralizovanom úložisku s možnosťou vyhľadávania.
- Vytvorte automatizované kanály, ktoré umožňujú nepretržitú dodávku, školenie a integráciu vášho výrobného modelu.
- Porovnajte novo trénované modely (alebo modely vyzývateľov) v prostredí prípravy s modelmi, ktoré momentálne fungujú vo výrobe (modely šampiónov).
15. Môžete vysvetliť, ako funguje technika Champion-Challenger?
Pomocou techniky Champion Challenger je možné testovať rôzne prevádzkové rozhodnutia vo výrobe. O A/B testovaní ste v súvislosti s marketingom určite počuli.
Môžete napríklad napísať dva odlišné riadky predmetov a náhodne ich distribuovať do cieľovej skupiny, aby ste maximalizovali mieru otvorenia e-mailovej kampane.
Systém zaznamenáva výkonnosť e-mailu (tj akciu otvorenia e-mailu) vo vzťahu k riadku predmetu, čo vám umožňuje porovnať mieru otvorenia každého riadku predmetu a určiť, ktorý z nich je najefektívnejší.
Champion-Challenger je v tomto smere porovnateľný s A/B testovaním. Môžete použiť rozhodovaciu logiku na vyhodnotenie každého výsledku a vybrať ten najúčinnejší, keď budete experimentovať s rôznymi metódami, aby ste dospeli k voľbe.
Najúspešnejší model koreluje s šampiónom. Prvý vyzývateľ a zodpovedajúci zoznam vyzývateľov sú teraz všetko, čo je prítomné v prvej realizačnej fáze namiesto šampióna.
Šampión je vybraný systémom pre vykonanie ďalších pracovných krokov.
Vyzývatelia sú navzájom kontrastovaní. Nového šampióna potom určí vyzývateľ, ktorý vyprodukuje najlepšie výsledky.
Úlohy zahrnuté v procese porovnávania šampión-vyzývateľ sú podrobnejšie uvedené nižšie:
- Hodnotenie každého zo súperiacich modelov.
- Hodnotenie konečných bodov.
- Porovnanie výsledkov hodnotenia na určenie víťazného vyzývateľa.
- Pridávam čerstvého šampióna do archívu
16. Popíšte aplikácie životného cyklu MLOps na podnikovej úrovni?
Musíme prestať považovať strojové učenie len za iteratívny experiment, aby sa modely strojového učenia dostali do výroby. MLOps je spojenie softvérového inžinierstva so strojovým učením.
Konečný výsledok si treba takto predstaviť. Preto musí byť kód technologického produktu testovaný, funkčný a modulárny.
MLOps má životnosť, ktorá je porovnateľná s konvenčným tokom strojového učenia, s výnimkou toho, že model zostáva v procese až do výroby.
Inžinieri MLOps to potom sledujú, aby sa uistili, že kvalita modelu vo výrobe je taká, ako je zamýšľané.
Tu je niekoľko prípadov použitia niekoľkých technológií MLOps:
- Registre modelov: Je to tak, ako to vyzerá. Väčšie tímy ukladajú a udržiavajú prehľad o modeloch verzií v registroch modelov. Možnosťou je aj návrat k predchádzajúcej verzii.
- Sklad funkcií: Pri práci s väčšími súbormi údajov môžu existovať odlišné verzie analytických súborov údajov a podmnožín pre špecifické úlohy. Obchod s funkciami je špičkový a vkusný spôsob, ako využiť prácu s prípravou údajov z predchádzajúcich spustení alebo aj z iných tímov.
- Ukladanie metaúdajov: Ak sa majú úspešne používať neštruktúrované údaje, ako sú obrazové a textové údaje, je dôležité správne monitorovať metadáta počas výroby.
záver
Je dôležité mať na pamäti, že vo väčšine prípadov anketár hľadá systém, zatiaľ čo kandidát hľadá riešenie.
Prvý je založený na vašich technických zručnostiach, zatiaľ čo druhý je o metóde, ktorú používate na preukázanie svojej kompetencie.
Existuje niekoľko postupov, ktoré by ste mali použiť pri odpovedaní na otázky na pohovore MLOps, aby ste pomohli anketárovi lepšie pochopiť, ako zamýšľate posúdiť a riešiť daný problém.
Ich koncentrácia je viac na nesprávnu reakciu ako na správnu. Riešenie rozpráva príbeh a váš systém je najlepšou ilustráciou vašich vedomostí a schopnosti komunikovať.
Nechaj odpoveď