Att skriva effektiv ML-dokumentation

Att utveckla maskininlärningsmodeller för produktion

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Komponenterna i bra ML-dokumentation

  • Datakällor
  • Datascheman
  • Märkningsmetoder
  • Modellexperiment + urval
  • Träningsmiljöer
  • Modellens pseudokod
Att utveckla maskininlärningsmodeller för produktion

Dokumentera datakällor

Gör det möjligt att etablera processer för att utvärdera datakvaliteten.

Detta ger även andra fördelar:

  • Håll koll på varifrån data kommer.
  • Utvärdera och förbättra datakvaliteten.

källor

Att utveckla maskininlärningsmodeller för produktion

Datascheman

En struktur som beskriver hur data är organiserad.

För ett relationsdatabasschema:

Databasnyckel Datatyp Dataordning
Person.name string nominal
Person.survey_score integer ordinal

schema

Att utveckla maskininlärningsmodeller för produktion

Märkningsmetoder (för klassificering)

Att dokumentera hur vi märkte vår svarsvariabel förbättrar:

  1. Reproducerbarhet i träningspipelinen.

  2. Modellens tillförlitlighet genom märkningskvalitet.

  3. Modellens prestanda genom förbättrad märkning.

urval

Märkningsmetoder kan förändras över tid.

Att utveckla maskininlärningsmodeller för produktion

Modellens pseudokod

En visuell representation av de olika stegen i att bygga din maskininlärningsmodell.

Detta inkluderar ofta:

  • Särdragstekniksteg.
  • Komponenter i en ensemblepipeline.
  • Exempelindata och -utdata för modellen.
Att utveckla maskininlärningsmodeller för produktion

Modellexperiment + urval

Att dokumentera experiment och val av bästa modell innebär att dokumentera:

  • Modellutvecklingsprocessen.
  • De modeller som övervägdes.
  • De mätvärden som användes.
  • De hyperparameterkombinationer som testades för varje modell.

val

Att utveckla maskininlärningsmodeller för produktion

Träningsmiljöer

För att dokumentera träningsmiljön bör vi inkludera:

  • Paket med versioner (t.ex. scikit-learn==1.1.3).
  • Eventuella slumpmässiga frön för icke-deterministisk träning (t.ex. dimensionsreduktionsalgoritmer).

Varför?

  • Möjlighet att reproducera resultaten från våra maskininlärningsmodeller.
  • Säkerställa konsistens mellan träning och produktionsdriftsättning.
Att utveckla maskininlärningsmodeller för produktion

Nu kör vi en övning!

Att utveckla maskininlärningsmodeller för produktion

Preparing Video For Download...