TensorFlow Extended (TFX) je zmogljiva odprtokodna platforma, zasnovana za olajšanje razvoja in uvajanja modelov strojnega učenja (ML) v proizvodnih okoljih. Zagotavlja obsežen nabor orodij in knjižnic, ki omogočajo gradnjo cevovodov ML od konca do konca. Ti cevovodi so sestavljeni iz več različnih faz, od katerih vsaka služi določenemu namenu in prispeva k splošnemu uspehu poteka dela ML. V tem odgovoru bomo raziskali različne faze cevovoda ML v TFX.
1. Zaužitje podatkov:
Prva faza cevovoda ML vključuje zajemanje podatkov iz različnih virov in njihovo pretvorbo v obliko, primerno za naloge ML. TFX ponuja komponente, kot je ExampleGen, ki bere podatke iz različnih virov, kot so datoteke CSV ali zbirke podatkov, in jih pretvori v format TensorFlow's Example. Ta faza omogoča ekstrakcijo, validacijo in predhodno obdelavo podatkov, potrebnih za naslednje stopnje.
2. Preverjanje podatkov:
Ko so podatki zaužiti, naslednja faza vključuje preverjanje podatkov, da se zagotovi njihova kakovost in doslednost. TFX zagotavlja komponento StatisticsGen, ki izračuna statistiko povzetka podatkov, in komponento SchemaGen, ki sklepa na shemo na podlagi statistike. Te komponente pomagajo pri prepoznavanju anomalij, manjkajočih vrednosti in nedoslednosti v podatkih, kar podatkovnim inženirjem in strokovnjakom za strojno upravljanje omogoča, da sprejmejo ustrezne ukrepe.
3. Preoblikovanje podatkov:
Po potrditvi podatkov se cevovod ML premakne v fazo pretvorbe podatkov. TFX ponuja komponento Transform, ki za podatke uporablja tehnike inženiringa funkcij, kot so normalizacija, enkratno kodiranje in križanje funkcij. Ta faza igra ključno vlogo pri pripravi podatkov za usposabljanje modela, saj pomaga pri izboljšanju zmogljivosti modela in posploševanja.
4. Usposabljanje modela:
Faza usposabljanja modela vključuje usposabljanje modelov ML z uporabo transformiranih podatkov. TFX zagotavlja komponento Trainer, ki izkorišča zmogljive zmožnosti usposabljanja TensorFlow za usposabljanje modelov v porazdeljenih sistemih ali grafičnih procesorjih. Ta komponenta omogoča prilagajanje parametrov usposabljanja, arhitektur modela in optimizacijskih algoritmov, kar strokovnjakom za strojno učenje omogoča učinkovito eksperimentiranje in ponavljanje na svojih modelih.
5. Ocena modela:
Ko so modeli usposobljeni, je naslednja faza vrednotenje modela. TFX zagotavlja komponento ocenjevalca, ki ocenjuje delovanje usposobljenih modelov z uporabo metrik ocenjevanja, kot so točnost, natančnost, priklic in rezultat F1. Ta faza pomaga pri prepoznavanju morebitnih težav z modeli in zagotavlja vpogled v njihovo vedenje na nevidnih podatkih.
6. Validacija modela:
Po oceni modela se cevovod ML premakne na validacijo modela. TFX ponuja komponento ModelValidator, ki preverja usposobljene modele glede na predhodno ugotovljeno shemo. Ta faza zagotavlja, da se modeli držijo pričakovanega formata podatkov, in pomaga pri odkrivanju težav, kot je premik podatkov ali razvoj sheme.
7. Razporeditev modela:
Zadnja faza cevovoda ML vključuje uvajanje usposobljenih modelov v proizvodna okolja. TFX zagotavlja komponento Pusher, ki izvozi usposobljene modele in povezane artefakte v strežni sistem, kot je TensorFlow Serving ali TensorFlow Lite. Ta faza omogoča integracijo modelov ML v aplikacije, kar jim omogoča napovedovanje novih podatkov.
Cevovod ML v TFX je sestavljen iz več faz, vključno z vnosom podatkov, preverjanjem podatkov, transformacijo podatkov, usposabljanjem modela, vrednotenjem modela, preverjanjem veljavnosti modela in uvajanjem modela. Vsaka faza prispeva k splošnemu uspehu delovnega toka ML z zagotavljanjem kakovosti podatkov, omogočanjem inženiringa funkcij, usposabljanjem natančnih modelov, ocenjevanjem njihove učinkovitosti in njihovim uvajanjem v proizvodna okolja.
Druga nedavna vprašanja in odgovori v zvezi Osnove EITC/AI/TFF TensorFlow:
- Kako lahko uporabimo vdelano plast za samodejno dodelitev ustreznih osi za graf predstavitve besed kot vektorjev?
- Kakšen je namen največjega združevanja v CNN?
- Kako se postopek ekstrakcije značilnosti v konvolucijski nevronski mreži (CNN) uporablja za prepoznavanje slik?
- Ali je treba uporabiti funkcijo asinhronega učenja za modele strojnega učenja, ki se izvajajo v TensorFlow.js?
- Kaj je parameter največjega števila besed API-ja TensorFlow Keras Tokenizer?
- Ali je mogoče API TensorFlow Keras Tokenizer uporabiti za iskanje najpogostejših besed?
- Kaj je TOCO?
- Kakšno je razmerje med številom epoh v modelu strojnega učenja in natančnostjo napovedi pri izvajanju modela?
- Ali API za sosednje pakete v Neural Structured Learning of TensorFlow ustvari razširjen nabor podatkov za usposabljanje na podlagi podatkov naravnega grafa?
- Kaj je API za sosednje pakete v nevronsko strukturiranem učenju TensorFlow?
Oglejte si več vprašanj in odgovorov v EITC/AI/TFF TensorFlow Fundamentals