Creare un team ML

I progetti ML richiedono team con membri con una vasta gamma di competenze, e le responsabilità legate al machine learning. Queste sono le più comuni che si trovano in team di ML tipici:

Ruolo Conoscenze e competenze Prodotto principale
Product manager ML I product manager del ML hanno una profonda conoscenza dei punti di forza del ML i punti deboli e il processo di sviluppo ML. Allineano i problemi aziendali alle soluzioni ML collaborando con il team ML, gli utenti finali, e altri stakeholder. Loro creare la visione del prodotto, definire i casi d'uso e i tuoi requisiti, oltre a pianificare e assegnare priorità ai progetti. Documento dei requisiti del prodotto (PRD).
Responsabile tecnico I responsabili di progettazione raggiungono gli obiettivi commerciali definendo, comunicando e raggiungere le priorità dei team. Come l'ML product manager, allineano le soluzioni ML ai problemi aziendali. Definiscono aspettative chiare per i membri del team, effettuare valutazioni delle prestazioni e assistere nella carriera sviluppo professionale. Documenti di progettazione, piani di progetto e valutazioni delle prestazioni.
Data scientist I data scientist utilizzano analisi quantitative e statistiche per estrarre estrae insight e valore dai dati. Aiutano a identificare e testare le caratteristiche, prototipazione dei modelli e assistenza per l'interpretabilità del modello. Report e visualizzazioni di dati che rispondono a domande aziendali attraverso l'analisi statistica.
ML engineer Gli ML engineer progettano, creano, mettono in produzione e gestiscono modelli ML. Sono esperti di software engineer con una profonda conoscenza del ML tecnologie e best practice. Modello di cui è stato eseguito il deployment con una qualità di previsione sufficiente per soddisfare le esigenze aziendali obiettivi.
Data engineer I data engineer creano pipeline di dati per l'archiviazione, l'aggregazione elaborare grandi quantità di dati. Sviluppano l'infrastruttura per la raccolta e la trasformazione di dati non elaborati formati utili per l'addestramento e la pubblicazione del modello. I data engineer sono responsabile dei dati nell'intero processo di sviluppo ML. Pipeline di dati completamente in produzione con il monitoraggio e avvisi di sicurezza.
Ingegnere delle operazioni di sviluppo (DevOps) I DevOps Engineer sviluppano, eseguono il deployment, scalano e monitorano l'infrastruttura di servizio per i modelli ML. Un processo automatizzato per pubblicazione, monitoraggio, test e generazione di avvisi su il comportamento di un modello.

Per i progetti ML di successo ci sono team con ogni ruolo rappresentato. Nei team più piccoli, le persone dovranno gestire responsabilità per più ruoli.

Stabilisci prassi per il team

Perché i ruoli, gli strumenti e i framework variano notevolmente in ML sviluppo, è fondamentale stabilire pratiche comuni un'eccellente documentazione di processo. Ad esempio, un ingegnere potrebbe Penso che ottenere solo i dati giusti sia sufficiente per iniziare ad addestrare un modello, mentre un altro tecnico più responsabile convaliderà l'anonimizzazione del set di dati correttamente e documentarne i metadati e la provenienza. Assicurarsi che gli ingegneri condividano le definizioni comuni dei processi e dei pattern di progettazione riducono la confusione aumenta la velocità della squadra.

Documentazione del processo

La documentazione relativa ai processi deve definire gli strumenti, l'infrastruttura e i processi del team per lo sviluppo ML. Documenti di buona qualità aiutano ad allineare i nuovi e attuali membri del team. Dovrebbero rispondere ai seguenti tipi di domande:

  • Come vengono generati i dati per il modello?
  • Come esaminiamo, convalidiamo e visualizziamo i dati?
  • Come modifichiamo una caratteristica o un'etichetta di input nei dati di addestramento?
  • Come si personalizza la pipeline di generazione, addestramento e valutazione dei dati?
  • Come posso cambiare l'architettura del modello per adattarla alle modifiche dell'input caratteristiche o etichette?
  • Come otteniamo gli esempi di test?
  • Quali metriche utilizzeremo per valutare la qualità del modello?
  • Come lanciamo i modelli in produzione?
  • Come facciamo a sapere se qualcosa non va nel nostro modello?
  • Da quali sistemi a monte dipendono i nostri modelli?
  • Come faccio a rendere il mio codice SQL gestibile e riutilizzabile?
di Gemini Advanced.

Altre potenziali domande

Modello
  • Posso addestrare modelli su set di dati diversi all'interno dello stesso pipeline di dati, ad esempio per l'ottimizzazione?

  • Come faccio ad aggiungere un nuovo set di dati di test alla mia pipeline?

di Gemini Advanced. Formazione
  • Come posso controllare la previsione del modello su un esempio creato a mano?

  • Come posso trovare, esaminare e visualizzare esempi in cui il modello ha creato errori?

  • Come posso determinare quale funzionalità è stata la più responsabile di una determinata previsione?

  • Come faccio a capire quali funzionalità hanno il maggiore impatto le previsioni all'interno di un dato campione?

  • Come posso calcolare o tracciare le previsioni dei modelli su un set di dati scelto campione?

  • Come posso calcolare le metriche standard per le previsioni del mio modello su una scelto?

  • Come si sviluppano e si calcolano metriche personalizzate?

  • Come faccio a confrontare il mio modello con altri modelli offline?

  • Posso eseguire una meta-analisi per più valutazioni di modelli in una singola di sviluppo software?

  • Posso confrontare il modello attuale con quello di 10 mesi fa?

di Gemini Advanced. Produzione, monitoraggio e manutenzione
  • Penso di aver creato un buon modello. Come faccio a lanciarla in produzione?

  • Come posso verificare che il mio nuovo modello sia in esecuzione correttamente in produzione?

  • Posso ottenere la cronologia delle valutazioni del modello nel tempo?

  • Come faccio a sapere se qualcosa non va nel modello?

  • Mi è stato assegnato una pagina/un bug in cui viene menzionato qualcosa sul modello. Che cosa devo fare?

di Gemini Advanced. Pipeline
  • Come faccio a personalizzare la generazione, l'addestramento e la valutazione dei dati? pipeline di dati?

  • Quando e come dovrei creare una pipeline completamente nuova?

di Gemini Advanced. SQL
  • Per generare alcuni dati mi serve SQL. Dove devo inserirlo?

di Gemini Advanced. Infrastruttura
  • Come funziona la pubblicazione del modello? C'è un diagramma?

  • Da quali sistemi a monte dipende il mio modello? a conoscenza?

di Gemini Advanced. Comunicazione
  • Non riesco a capire una cosa. Chi (e come) devo contattare?

Aspetti da considerare

Cosa costituisce le "best practice per il ML" possono differire tra aziende, team e singoli utenti. Per Ad esempio, alcuni membri del team potrebbero considerare Colab sperimentali come disponibile, mentre altri vorranno lavorare in R. Alcuni potrebbero avere la passione per progettazione del software, qualcun altro pensa che il monitoraggio sia la eppure qualcun altro è a conoscenza di buone pratiche di produzione delle caratteristiche, vuole usare Scala. Tutti hanno "ragio" dal loro punto di vista e se correttamente, il mix sarà una potenza straordinaria. In caso contrario, può essere un disastro.

Stabilire gli strumenti, i processi e l'infrastruttura che il team utilizzerà prima scrivere una riga di codice può fare la differenza tra l'errore del progetto dopo due anni o lanciare con successo un quarto di anticipo rispetto alla pianificazione.

Valutazioni delle prestazioni

A causa dell'ambiguità e dell'incertezza del ML, i manager devono impostare aspettative chiare e definizione tempestiva dei risultati finali.

Nel determinare le aspettative e i risultati finali, valuta come saranno valutate se un progetto o un approccio non ha successo. In altre parole, è importante che le prestazioni di un membro del team non siano direttamente collegate il successo del progetto. Ad esempio, non è raro che i membri dei team spendano settimane alla ricerca di soluzioni che alla fine non vanno a buon fine. Anche in questi di questo tipo, il loro codice di alta qualità, la documentazione accurata e i le collaborazioni dovrebbero contribuire in modo positivo alla valutazione.

Verifica le tue conoscenze

Qual è il motivo principale per cui disponi di un'eccellente documentazione relativa al processo e l'adozione di pratiche comuni?
Aumenta la velocità del progetto.
risposta esatta. Avere una buona documentazione relativa al processo e stabilire pratiche riduce la confusione e semplifica il processo di sviluppo.
Definizione di best practice all'interno di un'azienda.
Poiché lo sviluppo ML varia da progetto a progetto, i team adottano in genere una serie di best practice specifiche per lavorare in modo efficace e aumentarne la velocità.
Assicurarsi che tutti i tecnici del team abbiano lo stesso livello di competenza.
I team di ML di solito hanno ingegneri con varie competenze e conoscenze. La documentazione dei processi aiuta i tecnici ad allinearsi alle best practice per aumentarne la velocità.