Använda källkontroll för maskininlärningstillgångar
Klassificeringsmodellen för Proseware-diabetes startade i en Jupyter Notebook på en bärbar dator. När teamet växer – dataforskare, ML-tekniker och granskare – går den metoden sönder. Du behöver en plats där alla arbetar från samma kod, kan granska varandras ändringar och kan spåra varje modell tillbaka till koden som skapade den.
Vad hör hemma i Git
En Git-lagringsplats är rätt hem för de tillgångar som definierar din modell och dess träningsprocess:
- Tränings- och förbearbetningsskript – de Python filer som kör dataförberedelse och modellträning
- Jobb- och komponentdefinitioner – YAML-filer som beskriver Azure Machine Learning kommandojobb och pipelinekomponenter
-
Miljö- och beroendefiler –
requirements.txt,conda.ymleller Azure Machine Learning miljödefinitioner - Konfigurationsfiler – arbetsytenamn, resursgruppsnamn, beräkningsnamn och andra referenser som din automatisering använder
Vad hör inte hemma i Git
Vissa tillgångar hör hemma i specialbyggda tjänster, inte i en lagringsplats:
- Datauppsättningar och rådata — använd datatillgångar i Azure Machine Learning eller Azure Data Lake Storage; datafiler är stora och versionshanteras separat från kod
- Tränade modellartefakter — registrera namngivna och versionshanterade modellresurser i Azure Machine Learning
- Träningskörningsutdata och loggar – Azure Machine Learning lagrar dessa med jobbet
- Hemligheter och autentiseringsuppgifter – använd GitHub hemligheter eller Azure Key Vault. Om du placerar autentiseringsuppgifter på en lagringsplats exponeras de för alla med läsåtkomst
Tips/Råd
Ett användbart test: om filen är textbaserad och definierar hur modellen skapas hör den till Git. Om det är en stor binär fil eller ett känsligt värde bör det lagras i en specialanpassad lagringslösning.
Varför källkontroll är viktigt för maskininlärning
När varje träningsdefinition finns i Git arbetar ditt team från samma version av koden. En granskare ser exakt vad som har ändrats mellan körningar. Om en ändring försämrar modellens prestanda kan du återgå till föregående commit. De registrerade kod- och miljödefinitionerna hjälper dig också att återskapa en träningskörning.
Den här spårningsbarheten är grunden för allt som följer – grenbaserad utveckling, automatiserad validering och en spårningslogg som ansluter varje modellversion till den ändring som skapade den.
Tips/Råd
Välj en projekttillgång. Skulle du lagra den i Git, Azure Machine Learning eller en hemlig butik? Förklara varför.