Starten met een deep learning project: Train en implementeer een deep learning model
In de voorgaande posts hebben we stuk voor stuk de stappen van het starten met een deep learning project doorgenomen. Deze week bespreken we de laatste stappen van het project: Het trainen en implementeren van het deep learning model.
Het trainen van een deep learning model
Voor goede resultaten, maar ook voor minimale computationele overhead, is de training vrijwel zonder uitzondering afhankelijk van trial and error. Het trainen van deep learning modellen bestaat uit drie onderdelen:
- Het bepalen van de beste architectuur
- Het schalen van berekeningen
- Het accommoderen van grote training datasets
Doorgaans gaat de training gepaard met veel experimenteren. Verschillende bijdragers van het deep learning model bekijken het model van een verschillend perspectief, en hun ontdekkingen en voorkeuren moeten met elkaar geïntegreerd worden. Zo willen data scientists mogelijk de meest innovatieve model architecturen testen, zijn infrastructuur engineers geïnteresseerd in de laatste parallellisatie technieken om berekeningen te schalen, en werken data engineers aan het ontwikkelen van nieuwe en grotere datasets.
Model validatie en evaluatie
Voor de data scientist is het bepalen of het model voldoende heeft geleerd van de data het meest cruciale onderdeel van het trainingsproces. Dit gebeurt aan de hand van model validatie en evaluatie.
Model validatie bepaalt of een model computationeel kan schalen. Hierbij worden vragen gesteld als ‘Heeft het model voldoende computing, netwerk, storage en beveiligingsmiddelen?’ en ‘Is de kans aanwezig dat de boel crasht?’. Indien de validatie mislukt is het de taak aan de operations engineer om de computationele vereisten van het model te herzien.
Daarentegen betreft model evaluatie het in kaart brengen van de statistische prestaties van het deep learning model. Vragen die hierbij worden gesteld zijn ‘Hoe nauwkeurig is het model met live data?’ en ‘Hoe nauwkeurig was het model voor een subset van data?’. Mocht de evaluatie mislukken, dan is het de taak aan de data scientist om het ontwerp te analyseren om de herkomst van de data en de architectuur van het model onder de loep te nemen.
Model implementatie
Als de initiële training eenmaal is afgerond en het model naar wens gevalideerd en geëvalueerd is, is het tijd voor de laatste stap van de start van een deep learning project: Het implementeren van het deep learning model. In deze fase van de data pijpleiding gaat het model over van ontwikkeling naar productie. Vanaf nu gaat het proces minder over data science en meer over lifecycle management.
Het proces van operationalisatie omvat vaak de volgende onderdelen:
- Optimaliseren van het model voor inferencing prestaties
- Implementeren van het model, eventueel bij de edge
- Periodieke hertraining met de laatste data, zodat het model actueel blijft
- Integreren van model output en software op maat
- Managen van model versies en training, validatie en testing datasets
Naarmate de schaal van de activiteiten verandert, veranderen ook de vereisten. Onder nieuwe vereisten vallen:
- Beheren van een multitenant omgeving: Het kan zijn dat er meer dan één deep learning model in de pijpleiding zijn. Hierbij is het belangrijk dat er toegangscontrole is, om te zorgen dat niet iedereen toegang heeft tot alles.
- Versiebeheer van datasets: Alle training, validatie en testing datasets behoeven zorgvuldige versiebeheer.
- Model management: Elke keer als het model wordt hertraind, wordt er een nieuwe versie gecreëerd. Mogelijk heb je verschillende versies van hetzelfde model nodig, geoptimaliseerd voor verschillende inferencing hardware.
- Automatisering: Om flessenhalzen en fouten te vermijden zouden deze processen zoveel mogelijk geautomatiseerd moeten worden.
Wat betreft clusters zou je een enkel dedicated cluster kunnen behouden voor model validatie, evaluatie en implementatie, maar je kunt ook kiezen voor twee aparte clusters.
Hiermee sluiten we de serie ‘Starten met een deep learning project’ af. Hopelijk heeft deze serie inzicht gegeven in wat je staat te wachten als je wilt beginnen met een deep learning project en mogelijk een eventuele drempel verlaagd. Ten slotte zal het gebruik van deep learning projecten in de beveiligingsindustrie een steeds prominentere rol gaan spelen.
Comments are closed.