# Een dataset aanmaken en labelen in Vertex AI [[TOC]] Elk goed model begint bij goede data. Een beheerde dataset in Vertex AI is een georganiseerde verzameling van je trainingsdata, met de labels die het model moet leren voorspellen. De kwaliteit van die dataset bepaalt grotendeels hoe goed je model wordt. Rommelige data leidt onvermijdelijk tot een rommelig model. Vertex AI ondersteunt vier soorten beheerde datasets: tekst, beeld, video en tabellen. Welke je kiest hangt af van je taak. Wil je foto's classificeren, dan maak je een beelddataset. Wil je getallen voorspellen uit een tabel, dan maak je een tabeldataset. De aanpak is per type net even anders. ## Wat een beheerde dataset is Een beheerde dataset is meer dan een map met bestanden. Het is een georganiseerde verzameling waarin je data en labels samen worden bewaard, met overzicht over wat erin zit. Vertex AI gebruikt die structuur om je data te tonen, automatisch te splitsen voor training, validatie en evaluatie, en om de dataset te koppelen aan een trainingsjob. Door je data als beheerde dataset te beheren, houd je grip op herkomst en kwaliteit. Je ziet hoeveel voorbeelden je hebt per label, je merkt onbalans op en je kunt de data inspecteren voordat je traint. Vertex AI legt bovendien de herkomst (lineage) vast tussen de dataset en de modellen die erop getraind zijn, wat helpt bij governance en herhaalbaarheid. :::info title="Wat is een label?" Een label is de juiste uitkomst die het model moet leren. Bij beeldclassificatie is dat de categorie van een foto, bij tekstclassificatie het onderwerp, en bij een voorspeltaak de waarde of klasse die je wilt voorspellen. ::: ## Data importeren Je vult een dataset door data te importeren, meestal vanuit Cloud Storage of BigQuery. Voor beeld en video wijs je de bestanden aan, vaak met een importbestand (een CSV of JSON Lines) dat per bestand het pad en het label vermeldt. Voor tabellen importeer je een tabel waarin een kolom het te voorspellen veld is. Zorg dat je data schoon is voordat je importeert. Dubbele records, lege velden en foute labels werken door in je model. Een uurtje opruimen vooraf bespaart veel hoofdpijn bij het trainen en evalueren later. :::howto title="Zo maak je een dataset aan" 1. Open in de Google Cloud console het onderdeel **Datasets** in Vertex AI en klik op **Create dataset**. 2. Kies het datatype dat bij je taak past: tekst, beeld, video of tabel, en geef de dataset een naam. 3. Ruim je brondata op: verwijder duplicaten, lege velden en foute labels. 4. Importeer de data vanuit Cloud Storage of BigQuery, met een importbestand dat de labels koppelt. 5. Controleer in de console de verdeling van labels op onbalans. 6. Vul ontbrekende labels aan via de annotatie-tools in de console. ::: ## Labelen Niet alle data komt met labels. Soms heb je ruwe data die nog gelabeld moet worden. In de Google Cloud console kun je per voorbeeld zelf de juiste categorie of waarde toekennen en meerdere annotatiesets aanmaken. Dat werkt prima voor kleinere hoeveelheden. Voor grootschalig labelen door teams van mensen ligt het sinds 2024 anders. De oude ingebouwde Vertex AI Data Labeling-service is uitgefaseerd en niet meer beschikbaar. Voor menselijke labeltaken op schaal verwijst Google nu naar partneroplossingen in de Cloud Marketplace, zoals Labelbox en Snorkel. Plan dit dus bewust in plaats van te rekenen op een ingebouwde labelopdracht. Consistentie is bij labelen het sleutelwoord. Als verschillende mensen dezelfde soort voorbeelden anders labelen, leert het model tegenstrijdig gedrag. Stel daarom duidelijke richtlijnen op over hoe te labelen, zodat iedereen het op dezelfde manier doet. :::tip title="Schrijf eerst een labelhandleiding" Schrijf voordat je gaat labelen een korte handleiding met voorbeelden van elk label en lastige randgevallen. Dat houdt de labels consistent, ook als meerdere mensen meehelpen, en dat verbetert je model vaak meer dan welke modelkeuze ook. ::: ## Letten op balans en kwaliteit Een veelvoorkomend probleem is onbalans: van de ene categorie heb je duizenden voorbeelden, van de andere maar een handvol. Het model leert dan vooral de grote categorie goed en de kleine slecht. Streef naar een redelijke balans, of verzamel gericht meer voorbeelden van de zeldzame categorieen. Let ook op de kwaliteit van de labels zelf. Een dataset met foute labels leert het model fouten. Steekproefsgewijs controleren of de labels kloppen is tijd die zich dubbel en dwars terugbetaalt in de prestaties van je model. :::warn title="Labelkwaliteit gaat voor modelkeuze" Foute of inconsistente labels zijn de meest onderschatte bron van slechte modellen. Het model kan nooit beter worden dan de data die je het geeft. Investeer in labelkwaliteit voordat je tijd in modelkeuze steekt. ::: ## Splitsen voor een eerlijke evaluatie Voor een eerlijke beoordeling splits je je dataset in delen: een deel om op te trainen en een apart deel om op te testen. Het model mag het testdeel nooit tijdens training zien, anders meet je niet hoe goed het op nieuwe data presteert maar hoe goed het zijn huiswerk uit het hoofd kent. Vertex AI kan deze splitsing automatisch voor je maken, doorgaans in een train-, validatie- en testdeel. Houd het testdeel apart en gebruik het alleen om de eindprestatie te meten. Zo krijg je een eerlijk beeld van hoe je model het in de echte wereld zal doen. :::faq ### Welke datatypes ondersteunt een beheerde dataset? Tekst, beeld, video en tabellen. Welk type je kiest hangt af van je taak en je brondata. ### Waar haal ik mijn data vandaan? Meestal uit Cloud Storage voor bestanden of uit BigQuery voor tabeldata. Je importeert die in je dataset, vaak met een importbestand dat de labels koppelt. ### Kan ik nog gebruikmaken van de ingebouwde labelopdracht van Vertex AI? De oude Vertex AI Data Labeling-service is uitgefaseerd en niet meer beschikbaar. Zelf labelen in de console kan nog wel, en voor labelen op schaal verwijst Google naar partners in de Cloud Marketplace, zoals Labelbox en Snorkel. ### Waarom is balans tussen labels belangrijk? Bij onbalans leert het model de grote categorie goed en de kleine slecht. Streef naar balans of verzamel meer voorbeelden van zeldzame categorieen. ### Waarom heb ik een apart testdeel nodig? Om eerlijk te meten hoe het model op nieuwe data presteert. Het testdeel mag het model tijdens training nooit zien. ::: Een zorgvuldig opgebouwde, goed gelabelde en gebalanceerde dataset is de stevigste fundering voor een goed model. Steek hier je energie in, want geen modelkeuze maakt slechte data goed.