Starten met een deep learning project: Breng data naar training platform
In de afgelopen twee posts hebben we de eerste stappen van een deep learning project doorgenomen. Na het bepalen van de business- en data behoeften, hebben we besproken hoe je de data van de edge naar de fog kunt bewegen. Als de data vervolgens eenmaal voorbereid is op training, is het tijd om je model te trainen. De volgende stap is dan ook de beweging van de data richting het trainingsplatform.
Voor grote deep learning modellen bestaat het trainingsplatform doorgaans uit een cluster van systemen met meerdere GPU’s die in parallel draaien. Er zijn drie manieren om data naar het trainingsplatform te krijgen:
- Kopieer de data naar het trainingsplatform
- Verleen het trainingsplatform toegang tot de aanwezige data
- Tier de data naar het trainingsplatform
Welke methode je gebruikt is afhankelijk van een aantal factoren, zoals de locatie waar je data wordt opgeslagen, hoe groot je dataset is, en de mogelijkheden van je trainingsplatform.
Kopieer de data naar het trainingsplatform
De methode om data op het platform te krijgen die in zo’n 90 procent van de gevallen wordt gebruikt, is simpelweg het kopiëren van de training dataset naar het trainingsplatform. De dataset wordt gebruikelijk gereed gemaakt in een data lake en gekopieerd naar het platform. Als je geen centrale data lake hebt, dan kun je er ook voor kiezen om data van de verschillende databronnen indien nodig naar het trainingsplatform te kopiëren. Mocht dit niet praktisch zijn vanwege de hoeveelheid data ten opzichte van het geheugen en/of de opslagcapaciteit van je trainingsplatform, dan is het ook een optie om de data van de verschillende bronnen op snelle storage te cachen dichtbij het trainingsplatform. Een andere mogelijkheid is dat je de data direct bij de dataopname naar het trainingsplatform kopieert. Bij bepaalde streaming data brokers kan een data producent meerdere data consumenten hebben, zodat je de opgenomen data tegelijkertijd naar een data lake en naar je trainingsplatform kan sturen.
Verleen het trainingsplatform toegang tot de aanwezige data
Een minder vaak voorkomende variatie is om het trainingsplatform toegang te verlenen tot de aanwezige data. Ook hier is de toegang doorgaans van een data lake, maar het kan ook direct van andere databronnen afkomstig zijn. Deze optie is geschikt als de dataset wordt opgeslagen op hoge performance storage apparatuur en het formaat van de dataset de capaciteit van het trainingsplatform overschrijdt. Het toevoegen van een hoge performance cache is een alternatief voor databronnen die zelf geen gedegen performance kunnen leveren.
In theorie maakt dit het mogelijk om een enkele kopie van dezelfde data te delen voor zowel big data analytics als machine learning en deep learning. In de praktijk zul je echter de data moeten voorbereiden en transformeren voor deep learning op unieke manieren, waar een aparte kopie voor nodig is. Een kloon van de data is een alternatief voor een volledige fysieke kopie. Een kloon consumeert alleen incrementeel extra ruimte als er veranderingen plaatsvinden, in bepaalde gevallen zonder impact op de performance.
Tier de data naar het trainingsplatform
Ten slotte bestaat er de mogelijkheid om datasets voor training te leveren met gebruik van een tiering oplossing. Deze optie is geschikt als je data van cold storage binnenhaalt. In die situatie zou het kunnen dat je veel tijd en moeite spendeert puur aan het krijgen van de data op de plek waar je het nodig hebt. Tiering oplossingen brengen data van cold storage op transparante wijze zodra er toegang tot wordt verkregen, waardoor de noodzaak voor manuele of gescripte data beweging geëlimineerd wordt. Naarmate een model rijpt en herhaaldelijk wordt omgeschoold, is tiering een goede manier op toegang tot eerdere versies van training datasets te behouden. Je kunt bijvoorbeeld data tieren tussen on-premises en cloud object storage. Afhankelijk van je trainingsplatform kan je data direct naar het trainingsplatform of er dichtbij tieren.
Comments are closed.