Perché eseguire la formazione ML su un computer locale e quindi eseguire un'esecuzione regolare su un server?

Autore: Roger Morrison
Data Della Creazione: 28 Settembre 2021
Data Di Aggiornamento: 1 Luglio 2024
Anonim
Perché eseguire la formazione ML su un computer locale e quindi eseguire un'esecuzione regolare su un server? - Tecnologia
Perché eseguire la formazione ML su un computer locale e quindi eseguire un'esecuzione regolare su un server? - Tecnologia

Contenuto

D:

Perché eseguire la formazione machine learning (ML) su un computer locale e quindi eseguire un'esecuzione regolare su un server?


UN:

La domanda su come strutturare un progetto di apprendimento automatico e le sue fasi di addestramento e test ha molto a che fare con il modo in cui passiamo attraverso il "ciclo di vita" ML e portiamo il programma da un ambiente di formazione a un ambiente di produzione.

Uno dei motivi più semplici per utilizzare il modello di cui sopra di mettere l'addestramento ML su una macchina locale e quindi spostare l'esecuzione su un sistema basato su server è il vantaggio della separazione essenziale delle funzioni. In generale, si desidera che il set di allenamento sia isolato, in modo da avere un quadro chiaro di dove inizia e si ferma l'allenamento e dove iniziano i test. Questo articolo di KDNuggets parla del principio in modo approssimativo mentre analizza anche alcuni degli altri motivi per isolare i set di allenamento su una macchina locale. Un'altra proposta di valore di base per questo modello è che, con la formazione e i set di test su architetture molto diverse, non sarai mai confuso sull'assegnazione congiunta treno / test!


Un altro vantaggio interessante ha a che fare con la sicurezza informatica. Gli esperti sottolineano che se hai i processi iniziali del treno su una macchina locale, non deve essere connesso a Internet! Questo amplia la sicurezza in modo fondamentale, "incubando" il processo fino a quando non colpisce il mondo della produzione, dove è quindi necessario creare una sicurezza adeguata nel modello di server.

Inoltre, alcuni di questi modelli "isolati" possono aiutare con problemi come la deriva dei concetti e i contro nascosti - il principio di "non-stazionalità" avverte gli sviluppatori che i dati non "rimangono gli stessi" nel tempo (a seconda di ciò che viene misurato) e che può essere necessaria molta adattabilità per far corrispondere una fase di prova a una fase del treno. Oppure, in alcuni casi, i processi di treno e test si fondono insieme, creando confusione.

La distribuzione della fase di test su un server per la prima volta può facilitare vari modelli di "scatola nera" in cui è possibile risolvere il problema dell'adattabilità dei dati. In alcuni casi, elimina il processo ridondante di inserimento degli ordini di modifica su più piattaforme.


Inoltre, l'ambiente server serve ovviamente i processi dinamici o in tempo reale in cui gli ingegneri vorranno accedere al trasferimento dei dati e ai modelli di codice che funzionano meglio per la produzione in ML. Ad esempio, AWS Lambda può essere un'opzione interessante per la gestione delle microfunzioni di produzione (o una combinazione di Lambda e S3 object storage) e senza connettività (senza server) che diventa impossibile.

Questi sono alcuni dei problemi a cui gli sviluppatori possono pensare quando considerano come suddividere le fasi di addestramento ML dai test e alla produzione.