Huis trends Waarom ml-training op een lokale machine uitvoeren en vervolgens op een server regelmatig uitvoeren?

Waarom ml-training op een lokale machine uitvoeren en vervolgens op een server regelmatig uitvoeren?

Anonim

Q:

Waarom zou u machine learning (ML) -training op een lokale machine uitvoeren en vervolgens de reguliere uitvoering op een server uitvoeren?

EEN:

De vraag hoe een machine learning-project en de trein- en testfasen ervan moeten worden gestructureerd, heeft veel te maken met hoe we door de ML "levenscyclus" gaan en het programma van een trainingsomgeving naar een productieomgeving brengen.

Een van de eenvoudigste redenen om het bovenstaande model te gebruiken om ML-training op een lokale machine te plaatsen en vervolgens de uitvoering naar een servergebaseerd systeem te verplaatsen, is het voordeel van essentiële functiescheiding. Over het algemeen wilt u dat de trainingsset geïsoleerd is, zodat u een duidelijk beeld hebt van waar de training begint en stopt en waar het testen begint. Dit KDNuggets-artikel spreekt op een grof soort manier over het principe en gaat ook door een aantal andere redenen om trainingssets op een lokale machine te isoleren. Een andere basiswaardepropositie voor dit model is dat je met de trainings- en testsets op zeer verschillende architecturen nooit in de war zult raken over gezamenlijke trein / testallocatie!

Een ander interessant voordeel heeft te maken met cybersecurity. Experts wijzen erop dat als je de eerste treinprocessen op een lokale machine hebt, deze niet met internet hoeft te zijn verbonden! Dit verbreedt de beveiliging op een fundamentele manier, waarbij het proces wordt 'geïncubeerd' totdat het de productiewereld raakt, waar u vervolgens voldoende beveiliging in het servermodel moet inbouwen.

Bovendien kunnen sommige van deze 'geïsoleerde' modellen helpen bij problemen zoals conceptafwijking en verborgen contexten - het principe van 'non-stationaliteit' waarschuwt ontwikkelaars dat gegevens niet 'hetzelfde blijven' in de tijd (afhankelijk van wat wordt gemeten) en dat er veel aanpassingsvermogen nodig is om een ​​testfase te laten matchen met een treinfase. Of, in sommige gevallen, combineren de trein- en testprocessen elkaar, waardoor verwarring ontstaat.

Als u de testfase voor het eerst op een server implementeert, kunnen verschillende "black box" -modellen worden gebruikt waarmee u het probleem van gegevensaanpassbaarheid kunt oplossen. In sommige gevallen elimineert het het overbodige proces van het plaatsen van wijzigingsopdrachten op meerdere platforms.

Vervolgens dient de serveromgeving uiteraard ook de realtime of dynamische processen waarin ingenieurs toegang willen hebben tot de gegevensoverdracht en codemodellen die het beste werken voor productie in ML. AWS Lambda kan bijvoorbeeld een aantrekkelijke optie zijn voor het verwerken van de microfuncties van productie (of een combinatie van Lambda- en S3-objectopslag) en zonder connectiviteit (zonder een server) wordt dat onmogelijk.

Dit zijn enkele van de problemen waaraan ontwikkelaars kunnen denken als ze overwegen hoe ML-fasen van training en testen kunnen worden verdeeld.

Waarom ml-training op een lokale machine uitvoeren en vervolgens op een server regelmatig uitvoeren?