Î:
De ce să executați instruirea de învățare automată (ML) pe o mașină locală și apoi să executați o execuție regulată pe un server?
A:Întrebarea modului de structurare a unui proiect de învățare a mașinilor și a fazelor sale de formare și testare are foarte multe de-a face cu modul în care trecem prin „ciclul de viață” al ML și să ducem programul dintr-un mediu de formare într-un mediu de producție.
Unul dintre cele mai simple motive pentru a utiliza modelul de mai sus pentru a pune antrenamentul ML pe o mașină locală și apoi a muta execuția la un sistem bazat pe server este avantajul separării esențiale a îndatoririlor. În general, doriți ca setul de antrenament să fie izolat, astfel încât să aveți o imagine clară despre locul unde începe și se oprește antrenamentul și unde începe testarea. Acest articol KDNuggets vorbește despre principiul într-un fel grosier, parcurgând, de asemenea, unele dintre celelalte motive pentru a izola seturile de antrenament pe o mașină locală. O altă propunere de valoare de bază pentru acest model este că, cu seturile de instruire și testare pe arhitecturi foarte diferite, nu veți fi niciodată confuz în legătură cu alocarea trenului / testului comun!
Un alt beneficiu interesant are legătură cu cibersecuritatea. Experții subliniază că, dacă aveți procesele inițiale de tren pe o mașină locală, nu trebuie să fie conectat la internet! Acest lucru lărgește securitatea într-un mod fundamental, „incubând” procesul până când ajunge în lumea producției, unde trebuie să construiți securitate adecvată în modelul serverului.
În plus, unele dintre aceste modele „izolate” pot ajuta cu probleme precum deriva conceptului și contexte ascunse - principiul „nonstationalității” avertizează dezvoltatorii că datele nu „rămân la fel” în timp (în funcție de ceea ce se măsoară) și că poate fi nevoie de multă adaptabilitate pentru ca o fază de testare să se potrivească cu o fază de tren. Sau, în unele cazuri, procesele de tren și test se amestecă, creând confuzie.
Utilizarea pentru prima dată a fazei de testare pe un server poate facilita diferite modele de „cutie neagră” în care rezolvați problema adaptabilității datelor. În unele cazuri, elimină procesul redundant de punere a comenzilor de schimbare pe mai multe platforme.
Apoi, de asemenea, mediul serverului servește în mod evident proceselor dinamice sau în timp real în care inginerii vor dori să acceseze transferul de date și modelele de cod care funcționează cel mai bine pentru producția în ML. De exemplu, AWS Lambda poate fi o opțiune atractivă pentru gestionarea microfuncțiilor de producție (sau o combinație de stocare obiect Lambda și S3) și fără conectivitate (fără un server) care devine imposibilă.
Acestea sunt câteva dintre problemele pe care ar putea să le gândească dezvoltatorii atunci când iau în considerare modul de partitionare a fazelor ML de la testare și producție.