Broncodebeheer gebruiken voor machine learning-assets

Voltooid

Het Proseware diabetesclassificatiemodel is gestart in een Jupyter-notebook op één laptop. Wanneer het team groeit( gegevenswetenschappers, ML-technici en revisoren), wordt die aanpak opgesplitst. U hebt een plek nodig waar iedereen van dezelfde code werkt, de wijzigingen van elkaar kan controleren en elk model kan traceren naar de code die het heeft geproduceerd.

Wat hoort er in Git?

Een Git-opslagplaats is de juiste basis voor de assets die uw model en het bijbehorende trainingsproces definiëren:

  • Trainings- en voorverwerkingsscripts: de Python bestanden waarop gegevensvoorbereiding en modeltraining worden uitgevoerd
  • Taak- en onderdeeldefinities: YAML-bestanden die Azure Machine Learning opdrachttaken en pijplijnonderdelen beschrijven
  • Omgevings- en afhankelijkheidsbestandenrequirements.txt, conda.yml, of Azure Machine Learning-omgevingsdefinities
  • Configuratiebestanden : werkruimtenamen, resourcegroepnamen, rekennamen en andere verwijzingen die door uw automatisering worden gebruikt

Wat hoort er niet bij in Git

Sommige assets horen thuis in speciaal daarvoor bedoelde services, niet in een repository:

  • Gegevenssets en onbewerkte gegevens — gebruik Azure Machine Learning-data-assets of Azure Data Lake Storage; gegevensbestanden zijn groot en afzonderlijk van de code geversioneerd
  • Artefacten van getrainde modellen — modelassets met naam en versie registreren in Azure Machine Learning
  • Uitvoer en logboeken van trainingstaken — Azure Machine Learning slaat deze bij de taak op
  • Geheimen en referenties: gebruik GitHub geheimen of Azure Key Vault; door referenties in een opslagplaats beschikbaar te maken voor iedereen met leestoegang

Tip

Een handige test: als het bestand op tekst is gebaseerd en definieert hoe het model wordt geproduceerd, hoort het in Git. Als het om een groot binair bestand of een gevoelige waarde gaat, hoort die thuis in een speciaal daarvoor bestemde opslag.

Waarom broncodebeheer belangrijk is voor machine learning

Wanneer elke trainingsdefinitie zich in Git bevindt, werkt uw team vanuit dezelfde versie van de code. Een beoordelaar ziet precies wat er tussen runs is gewijzigd. Als een wijziging de prestaties van het model verslechtert, kunt u terugkeren naar de vorige doorvoering. De vastgelegde code- en omgevingsdefinities helpen u ook bij het reproduceren van een trainingsuitvoering.

Deze traceerbaarheid is de basis voor alles dat volgt: ontwikkeling op basis van vertakkingen, geautomatiseerde validatie en een audittrail die elke modelversie verbindt met de wijziging die het heeft geproduceerd.

Tip

Kies één projectasset. Wilt u het opslaan in Git, Azure Machine Learning of een geheim archief? Leg uit waarom.