Comparthing Logo
mašininis mokymasisduomenų inžinerijadebesų infrastruktūramlopsdirbtinio intelekto sistemos

Duomenų infrastruktūros sluoksnis ir modelio mokymo sluoksnis

Duomenų infrastruktūros sluoksnis tvarko neapdorotų duomenų srautų saugojimą, apdorojimą ir valdymą, o modelių mokymo sluoksnis daugiausia dėmesio skiria algoritmų vykdymui, siekiant apmokyti mašininio mokymosi modelius. Abu jie yra būtini dirbtinio intelekto sistemose, tačiau atlieka iš esmės skirtingus vaidmenis kūrimo gyvavimo cikle.

Akcentai

  • Duomenų infrastruktūros sluoksnis orientuotas į duomenų judėjimą ir patikimumą, o modelių mokymo sluoksnis – į skaičiavimus ir mokymąsi.
  • Jie naudoja iš esmės skirtingą aparatinę įrangą, kur duomenų perdavimo kanalai pirmenybę teikia procesoriams, o mokymas – GPU arba TPU.
  • Sąnaudų modeliai labai skiriasi: duomenų sąnaudos yra pastovios, o mokymo sąnaudos – staigios ir priklauso nuo projektų.
  • Kiekvienam sluoksniui reikalinga skirtinga patirtis – nuo paskirstytųjų sistemų inžinerijos iki taikomųjų mašininio mokymosi tyrimų.

Kas yra Duomenų infrastruktūros sluoksnis?

Pagrindinė sistema, atsakinga už duomenų rinkimą, saugojimą, apdorojimą ir pateikimą tolesnėms programoms ir ML srautams.

  • Sukurta remiantis tokiomis technologijomis kaip duomenų ežerai, sandėliai ir srautinio perdavimo platformos, tokios kaip „Apache Kafka“ ir „Apache Spark“.
  • Tvarko tiek paketinį, tiek realaus laiko duomenų įkėlimą petabaitų mastu įmonės sistemose.
  • Paprastai dėl patvarumo naudoja paskirstytas saugojimo sistemas, tokias kaip HDFS, „Amazon S3“ arba „Google Cloud Storage“.
  • Apima duomenų valdymą, schemų tvarkymą ir kokybės patvirtinimą kaip pagrindines pareigas.
  • Dažnai organizuojamas naudojant tokias priemones kaip „Apache Airflow“, „Prefect“ arba „Dagster“, skirtas darbo eigos planavimui.

Kas yra Modelio mokymo sluoksnis?

Skaičiavimo sluoksnis, kuriame mašininio mokymosi modeliai mokosi šablonų iš paruoštų duomenų, taikydami iteracinius optimizavimo procesus.

  • Lygiagrečiam skaičiavimui labai priklauso nuo tokių tiekėjų kaip NVIDIA, AMD ir „Google“ GPU ir TPU greitintuvų.
  • Neuroniniams tinklams apibrėžti ir mokyti dažniausiai naudoja tokias sistemas kaip „TensorFlow“, „PyTorch“ ir „JAX“.
  • Reikalingas didelis atminties pralaidumas ir didelio našumo jungtys, tokios kaip NVLink, kad būtų galima keisti mastelį tarp įrenginių.
  • Dažnai naudoja paskirstytas mokymo strategijas, įskaitant duomenų lygiagretumą ir modelių lygiagretumą tarp klasterių.
  • Tokios platformos kaip „AWS SageMaker“, „Google Vertex AI“ ir „Azure ML“ teikia valdomas šio sluoksnio aplinkas.

Palyginimo lentelė

Funkcija Duomenų infrastruktūros sluoksnis Modelio mokymo sluoksnis
Pagrindinis tikslas Patikimai saugokite, apdorokite ir pateikite duomenis Mokykitės ir optimizuokite ML modelius su duomenimis
Pagrindinės technologijos Kafka, kibirkštis, oro srautas, snaigė, S3 PyTorch, TensorFlow, CUDA, Horovod, Ray
Skaičiavimo reikalavimai CPU optimizuotas, didelis įvesties / išvesties pralaidumas GPU/TPU optimizuotas, didelis atminties pralaidumas
Duomenų skalė Petabaitų neapdorotų ir apdorotų duomenų Gigabaitai iki terabaitų mokymo paketų
Pagrindiniai rodikliai Vėlavimas, pralaidumas, duomenų naujumas Praradimas, tikslumas, treniruočių laikas, konvergencija
Gedimo poveikis Pasauliniai vamzdynai stringa arba pateikia pasenusius duomenis Mokymo darbai vėl pradeda veikti arba sukuria prastus modelius
Tipiniai vartotojai Duomenų inžinieriai, platformų komandos ML inžinieriai, mokslininkai
Sąnaudų veiksniai Saugyklos apimtis ir tinklo išėjimas GPU valandos ir greitintuvo naudojimas

Išsamus palyginimas

Vaidmuo ML gyvavimo cikle

Duomenų infrastruktūros sluoksnis yra prieš srovę, tiekdamas švarius ir patikimus duomenų rinkinius į mokymo srautą. Be jo modelių mokymo sluoksnis neturėtų nieko prasmingo, iš ko mokytis. Ir atvirkščiai, modelių mokymo sluoksnis naudoja tuos paruoštus duomenis ir sukuria apmokytus artefaktus, kurie galiausiai yra diegiami. Jie sudaro nuoseklią priklausomybę, o ne konkuruojančias alternatyvas.

Skaičiavimo ir aparatinės įrangos profilis

Duomenų infrastruktūros darbo krūviai paprastai teikia pirmenybę didelės atminties talpos ir greito tinklo procesoriams, nes dauguma operacijų apima didelių duomenų kiekių perkėlimą ir transformavimą. Kita vertus, modelių mokymui reikalingi specializuoti greitintuvai, tokie kaip GPU arba TPU, kurie puikiai atlieka matricų daugybą, kuri yra gilaus mokymosi pagrindas. Aparatinės įrangos profiliai yra tokie skirtingi, kad debesijos paslaugų teikėjai dažnai juos įkainoja visiškai atskiroms egzempliorių šeimoms.

Mastelio keitimo modeliai

Duomenų infrastruktūros sluoksnio mastelio keitimas paprastai reiškia daugiau saugyklos mazgų pridėjimą, skaidinių skaičiaus didinimą arba duomenų skaidymą tarp regionų. Modelių mokymo sluoksnis mastelio keitimas vyksta skirtingai, dažnai paskirstant modelio svorius tarp daugelio GPU arba skaidant vieną didelį modelį tarp kelių greitintuvų. Abu šie sluoksniai susiduria su kliūtimis, tačiau sprendimai retai sutampa.

Operatyviniai rūpesčiai

Duomenų komandos nerimauja dėl schemų dreifo, vėlai gaunamų duomenų ir srauto užpildymo. ML komandos nerimauja dėl gradiento sprogimų, kontrolinių taškų sugadinimo ir atkuriamumo tarp paleidimų. Kiekvienas sluoksnis turi savo stebimumo rinkinį, kuriame duomenų pusėje yra tokie įrankiai kaip „Great Expectations“ arba „Monte Carlo“, o mokymo pusėje – „Weights & Biases“ arba „MLflow“.

Sąnaudų struktūra

Duomenų infrastruktūros išlaidos paprastai yra pastovios ir nuspėjamos, daugiausia priklausomos nuo saugyklos apimties ir nuolatinio duomenų įkėlimo. Modelių mokymo išlaidos yra staigios ir priklausomos nuo projekto, nes vienas mokymo vykdymas per trumpą laiką gali sunaudoti tūkstančius GPU valandų. Organizacijos dažnai pastebi, kad mokymo išlaidos dominuoja modelio kūrimo metu, o duomenų išlaidos – pastovios gamybos metu.

Reikalingi įgūdžių rinkiniai

Duomenų infrastruktūros sluoksnyje dirbantys inžinieriai paprastai turi duomenų inžinerijos arba paskirstytųjų sistemų patirties, turi gilių SQL, srautinių sistemų ir saugojimo variklių žinių. Modelių mokymo sluoksnyje dirbantys asmenys paprastai turi taikomosios matematikos arba mašininio mokymosi tyrimų patirties, turi skaitmeninio optimizavimo, neuroninių tinklų architektūrų ir greitintuvų programavimo patirties.

Privalumai ir trūkumai

Duomenų infrastruktūros sluoksnis

Privalumai

  • + Patikimas duomenų perdavimas
  • + Skaluoja horizontaliai
  • + Tvirti valdymo įrankiai
  • + Daugkartinio naudojimo įvairiuose projektuose

Pasirinkta

  • Didelės sandėliavimo išlaidos
  • Sudėtingas vamzdynų derinimas
  • Schemos evoliucijos iššūkiai
  • Lėtesni iteracijos ciklai

Modelio mokymo sluoksnis

Privalumai

  • + Greitas eksperimentavimas
  • + Tiesioginis modelio valdymas
  • + Remia pažangiausius tyrimus
  • + Atkuriama su kontroliniais taškais

Pasirinkta

  • Brangus GPU naudojimas
  • Ilgas treniruočių laikas
  • Sunku derinti gedimus
  • Jautrus duomenų kokybei

Dažni klaidingi įsitikinimai

Mitas

Jei turite pakankamai GPU, galite praleisti stipraus duomenų sluoksnio kūrimą.

Realybė

Net ir galingiausia mokymo sistema sukuria prastus modelius, kai tiekiami triukšmingi, pasenę ar neteisingai paženklinti duomenys. Dauguma mašininio mokymosi (ML) gedimų gamyboje kyla dėl duomenų problemų, o ne dėl skaičiavimo trūkumo. Tvirtas duomenų pagrindas yra tai, kas lemia, kad GPU laikas iš tikrųjų atsiperka.

Mitas

Modelių mokymas tėra scenarijaus vykdymas didelėje mašinoje.

Realybė

Gamybos mokymai apima paskirstytą orkestravimą, kontrolinių taškų kūrimą, hiperparametrų valdymą, eksperimentų stebėjimą ir gedimų atkūrimą. Jei tai bus traktuojama kaip paprastas scenarijus, prarandama pažanga, rezultatai neatkuriami ir švaistomi skaičiavimo biudžetai.

Mitas

Duomenų infrastruktūrą ir modelių mokymą galima optimizuoti atskirai.

Realybė

Du sluoksniai yra glaudžiai susiję. Duomenų schemos, žymėjimo ar paskirstymo pakeitimai tiesiogiai veikia modelio našumą. Komandos, kurios juos optimizuoja atskirai, dažnai pastebi, kad jų modeliai tyliai blogėja, kai pasikeičia ankstesnių etapų duomenys.

Mitas

Daugiau duomenų visada pagerina modelio tikslumą.

Realybė

Kokybė yra daug svarbesnė nei kiekybė. Milijonų neteisingai paženklintų ar nesusijusių įrašų pridėjimas gali iš tikrųjų pakenkti modelio našumui. Kuruoti, gerai valdomi duomenų rinkiniai beveik visada pranoksta neapdorotus, nefiltruotus, nepriklausomai nuo dydžio.

Mitas

Debesijos kompiuterijos valdomos paslaugos panaikina vidinių ekspertų poreikį abiejuose lygmenyse.

Realybė

Valdomos platformos gerai atlieka įprastines operacijas, tačiau komandoms vis tiek reikia gilaus abiejų lygių supratimo, kad būtų galima reguliuoti našumą, kontroliuoti išlaidas ir derinti gedimus. Abstrakcija sumažina darbo krūvį, bet nepakeičia pagrindinių žinių.

Dažnai užduodami klausimai

Kuo pagrindinis skirtumas tarp duomenų infrastruktūros sluoksnio ir modelio mokymo sluoksnio?
Duomenų infrastruktūros sluoksnis yra atsakingas už patikimą duomenų įkėlimą, saugojimą, apdorojimą ir pateikimą visoje organizacijoje. Modelių mokymo sluoksnis paima šiuos paruoštus duomenis ir naudoja juos mašininio mokymosi modeliams apmokyti taikant iteracinį optimizavimą. Vienas sluoksnis skirtas duomenų perkėlimui ir valdymui, o kitas – mokymuisi iš šių duomenų.
Ar gali vienas sluoksnis egzistuoti be kito?
Teoriškai duomenų infrastruktūrą galima turėti be modelių mokymo, teikiant tik analizę ir ataskaitų teikimą. Modelius taip pat galima mokyti viename nešiojamajame kompiuteryje be oficialaus duomenų sluoksnio. Tačiau gamybinėse dirbtinio intelekto sistemose reikalingi abu. Duomenų sluoksnis maitina mokymo sluoksnį, o mokymo sluoksnis sukuria modelius, kurie priklauso nuo nuoseklių, aukštos kokybės duomenų.
Kuris sluoksnis kainuoja daugiau tipiškame ML projekte?
Tai priklauso nuo fazės. Aktyvaus modelio kūrimo metu mokymo išlaidos paprastai dominuoja, nes GPU valandos yra brangios, o vykdymas gali trukti kelias dienas ar savaites. Pastovios gamybos metu duomenų infrastruktūros išlaidos dažnai dominuoja, nes saugojimas ir nuolatinis įkėlimas veikia visą parą. Brandžios organizacijos stebi abu atskirai, kad išvengtų netikėtumų.
Kokia įranga geriausiai tinka kiekvienam sluoksniui?
Duomenų infrastruktūrai naudingi didelės atminties procesoriai, greiti SSD diskai ir stiprus tinklas, leidžiantis perkelti didelius duomenų rinkinius. Modelių mokymui naudingi matricų operacijas pagreitinantys GPU arba TPU, taip pat didelės spartos atmintis ir greiti sujungimai, tokie kaip NVLink, skirti kelių GPU sistemoms. Šių dviejų derinimas toje pačioje aparatinėje įrangoje paprastai lemia neefektyvų išteklių naudojimą.
Kaip šie du sluoksniai praktiškai bendrauja?
Paprastai duomenų sluoksnis įrašo kuruojamus duomenų rinkinius į funkcijų saugyklą arba duomenų ežerą, o mokymo sluoksnis nuskaito iš ten užduoties paleidimo arba srautinio perdavimo metu. Funkcijų saugyklos, tokios kaip „Feast“ ar „Tecton“, veikia kaip tiltas, teikdamos nuoseklius funkcijų apibrėžimus tiek mokymo, tiek išvados metu. Taip išvengiama mokymo aptarnavimo iškraipymų, kurie yra dažna gamybinių modelių gedimų priežastis.
Kurį sluoksnį sunkiau derinti?
Abu gali būti skausmingi, tačiau dėl skirtingų priežasčių. Duomenų sluoksnio klaidos dažnai pasireiškia kaip tylios duomenų kokybės problemos, kurios išryškėja tik modeliams suprastėjus. Mokymo sluoksnio klaidos paprastai yra labiau matomos, pavyzdžiui, gedimai ar skirtumai, tačiau jas atkurti paskirstytose sistemose gali būti sudėtinga. Daugelis komandų daug investuoja į abiejų sluoksnių stebimumą.
Ar mažoms komandoms reikia abiejų sluoksnių?
Taip, nors dažnai jie jas sujungia į vieną komandą ar net vieną asmenį. Mažos komandos gali naudoti valdomas paslaugas, tokias kaip „Snowflake“ duomenims ir „Vertex AI“ mokymams, kad sumažintų operacinę naštą. Koncepcinis atskyrimas vis tiek svarbus, net kai tas pats inžinierius atlieka abi pareigas.
Kaip MLOps yra susijęs su šiais dviem sluoksniais?
MLOps veikia ant abiejų sluoksnių ir užtikrina sklandų perdavimą tarp jų. Jis apima duomenų versijų kūrimą, srauto orkestravimą, eksperimentų stebėjimą, modelių registrų valdymą ir diegimo automatizavimą. Be MLOps praktikos abu sluoksniai dažnai nutolsta vienas nuo kito, todėl kyla atkuriamumo problemų ir gamybos sutrikimų.
Kokie įrankiai dažniausiai naudojami kiekviename sluoksnyje?
Duomenų sluoksnyje dažniausiai naudojama „Apache Spark“, „Kafka“, „Airflow“, „dbt“, „Snowflake“ ir „BigQuery“. Mokymo sluoksnyje dažniausiai naudojama „PyTorch“, „TensorFlow“, JAX, „Ray“, „Horovod“ ir „Weights & Biases“. Debesijos paslaugų teikėjai siūlo integruotus paketus, apimančius abu sluoksnius, tokius kaip „AWS SageMaker“, „Google Vertex AI“ ir „Azure Machine Learning“.
Kaip nuspręsti, kur investuoti pirmiausia?
Jei jūsų modeliai veikia nepakankamai gerai, pradėkite nuo duomenų sluoksnio audito, nes dauguma tikslumo problemų kyla būtent jame. Jei jūsų modeliai yra tikslūs, bet lėtai apmokomi arba brangūs paleisti, investuokite į mokymo sluoksnį, naudodami geresnę aparatinę įrangą, paskirstytas strategijas arba efektyvesnes architektūras. Subalansuotas požiūris paprastai geriausiai veikia laikui bėgant.

Nuosprendis

Duomenų infrastruktūros sluoksnį rinkitės, kai jūsų prioritetas yra patikimas duomenų perkėlimas, valdymas ir analitikos teikimas dideliu mastu. Modelių mokymo sluoksnį rinkitės, kai daugiausia dėmesio skiriate mašininio mokymosi modelių kūrimui, eksperimentavimui ir optimizavimui. Praktiškai brandžioms dirbtinio intelekto sistemoms reikia, kad abu sluoksniai veiktų darniai, o stipri duomenų infrastruktūra leistų greičiau ir lengviau atkuriamai mokyti modelius.

Susiję palyginimai

„Kafka“ ir „Flink“ palyginti su apdorojimu atmintyje

„Kafka“ ir „Flink“ sudaro paskirstytą srautinio apdorojimo ekosistemą realaus laiko duomenų srautams, o apdorojimas atmintyje pagreitina analizę, nes duomenys saugomi tik RAM atmintyje – kiekvienas iš jų tenkina iš esmės skirtingus architektūrinius greičio, mastelio ir tvarumo poreikius.

„Netflix“ mašininio mokymosi platforma ir nepriklausomi mašininio mokymosi įrankiai

„Netflix“ vidinė mašininio mokymosi platforma siūlo glaudžiai integruotus, didelio masto įrankius, skirtus transliacijų suasmeninimui, o nepriklausomi mašininio mokymosi įrankiai suteikia mažesnėms komandoms lankstumo ir kontrolės. Pasirinkimas priklauso nuo masto, pritaikymo poreikių ir esamų investicijų į infrastruktūrą.

Adaptyvioji infrastruktūra ir statinė infrastruktūros projektavimas

Adaptyvi infrastruktūra dinamiškai prisitaiko prie kintančių darbo krūvių, naudodama automatizavimą ir mastelio keitimą realiuoju laiku, o statinės infrastruktūros projektavimas remiasi fiksuotais, iš anksto sukonfigūruotais ištekliais. Pasirinkimas priklauso nuo darbo krūvio kintamumo, biudžeto nuspėjamumo ir veikimo brandos jūsų debesijos aplinkoje.

Apkrovos balansavimas mašininio mokymosi sistemose ir paprastas API užklausų tvarkymas

Apkrovos balansavimas mašininio mokymosi sistemose valdo GPU reikalaujančius išvadų ir mokymo darbo krūvius specializuotoje įrangoje, o paprastas API užklausų apdorojimas paskirsto nedidelį HTTP srautą bendrosios paskirties serveriuose. Jie labai skiriasi sudėtingumu, išteklių poreikiu ir maršruto parinkimo išmanumu.

Atsparumas gedimams ir sistemos paleidimas iš naujo

Atsparumas gedimams proaktyviai perkelia darbo krūvius į sveikas sistemas, kol vartotojai nepastebi problemų, o sistemos gedimų atveju iš naujo paleidžiamos sistemos reaktyviai atkuria paslaugas po netikėtų gedimų. Abu metodai siekia palaikyti prieinamumą, tačiau iš esmės skiriasi laiku, architektūros sudėtingumu ir poveikiu vartotojams.