Socio-Technical Anti-Patterns in Building ML-Enabled Software: Insights from Leaders on the Forefront
Questo articolo presenta il più grande studio empirico qualitativo sulle sfide socio-tecniche nella messa in produzione di modelli di ML, analizzando 66 ore di talk della comunità MLOps per identificare 17 anti-pattern radicati in problemi organizzativi e fornire raccomandazioni azionabili per superarli.
Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Immaginate un'azienda che cerca di costruire un'auto ad alta tecnologia e a guida autonoma. Hanno ingegneri brillanti in grado di progettare il motore (il modello di Machine Learning), ma l'auto non scende mai in strada. Resta semplicemente in garage, a prendere polvere.
Questo articolo è come un romanzo investigativo che indaga sul perché queste auto "intelligenti" continuino a fallire il lancio. Gli autori, Alina Mailach e Norbert Siegmund, non si sono limitati a guardare i componenti del motore (il codice); hanno esaminato le persone, la gestione e la politica aziendale. Hanno ascoltato oltre 66 ore di interventi di esperti della "comunità MLOps" (un enorme gruppo di oltre 11.000 professionisti) per scoprire cosa stia andando davvero storto.
Hanno scoperto che il problema non è solitamente la tecnologia in sé. Si tratta invece di una collezione di 17 "Anti-Pattern" — cattive abitudini e errori organizzativi — che agiscono come buche sulla strada verso il successo.
Ecco una semplice analisi delle loro scoperte, utilizzando alcune analogie quotidiane:
1. Il "Tiro alla Fune tra due Team" (Silos Organizzativi)
Immaginate un team di Chef (Data Scientist) che crea una nuova ricetta per una zuppa deliziosa (il modello), e un team di Camerieri (Ingegneri del Software) che devono servirla ai clienti.
- Il Problema: Gli Chef scrivono la ricetta in un codice segreto, su tovaglioli, senza misurazioni. I Camerieri non parlano quella lingua. Quando gli Chef cercano di consegnare la zuppa, i Camerieri dicono: "Non posso servirla; è un disastro!" Gli Chef rispondono: "È perfetta; non la capite!"
- Il Risultato: La zuppa non viene mai servita. Gli Chef rimangono bloccati nel cercare di imparare a servire ai tavoli, e i Camerieri rimangono bloccati nel cercare di riscrivere la ricetta da zero.
- La Soluzione: Hanno bisogno di un Menu (un Model Registry) che traduca la ricetta in istruzioni chiare, o devono mettere gli Chef e i Camerieri nella stessa cucina (Team cross-funzionali) affinché possano parlare mentre lavorano.
2. L' "Accaparramento di Dati" (Produttore vs Consumatore)
Immaginate un Agricoltore (Produttore di Dati) che coltiva mais, e un Fornaio (Consumatore di Dati) che ha bisogno di quel mais per fare il pane.
- Il Proble il: L'Agricoltore pensa: "Perché dovrei darti il mio mais? Non è mio compito aiutarti a fare il pane". Il Fornaio deve implorare per avere il mais e, a volte, l'Agricoltore cambia la varietà di mais senza avvisare il Fornaio. Il Fornaio finisce con un pane dal sapore terribile perché gli ingredienti sono cambiati.
- Il Risultato: Il Fornaio produce un pane scadente e l'Agricoltore non sa perché il suo mais venga sprecato.
- La Soluzione: Hanno bisogno di un Mercato di Comunità (una Piattaforma Dati Centrale) dove l'Agricoltore elenca il mais con etichette chiare e il Fornaio sa esattamente cosa sta ricevendo.
3. "Reinventare la Ruota" (Sviluppo Ridondante)
Immaginate un'azienda in cui il Team A costruisce una scala, e il Team B, tre piani più sotto, costruisce una scala diversa per lo stesso scopo.
- Il Problema: Nessuno sa che l'altro team ha costruito una scala. Così, tutti perdono tempo e denaro costruendo scale che esistono già. Peggio ancora, se il Team A ripara un piolo della propria scala, la scala del Team B rimane comunque rotta.
- Il Risultato: Caos, spreco di denaro e "Shadow IT" (team che costruiscono i propri strumenti segreti e non sicuri).
- La Soluzione: Un Deposito Attrezzi Centrale dove tutti possono vedere quali scale esistono e prenderle in prestito invece di costruirne di nuove.
4. "I Capoccia Ciechi" (Vuoto di Leadership)
Immaginate un Capitano (Management) che non sa come navigare una nave, che cerca di assumere un Equipaggio per una nuova spedizione.
- Il Problema: Il Capitano vede la qualifica di "Data Scientist" e assume 10 persone, pensando che questo risolverà tutto. Ma ha assunto persone che sono bravissime in matematica ma non sanno riparare il motore. Oppure, assume qualcuno per un lavoro specifico e poi il Capitano si dimentica quale fosse quel lavoro, lasciando il dipendente senza nulla da fare.
- Il Risultato: La nave è piena di persone che non sanno navigare e il Capitano è confuso dal motivo per cui la nave non si muove.
- La Soluzione: Il Capitano deve imparare le basi della navigazione (Educazione) e assumere in base alle competenze (sai riparare il motore?), non solo in base a titoli di lavoro altisonanti.
5. La "Corsa ai CV" e il "Treno dell'Hype"
- Sviluppo guidato dal Curriculum (Resume-Driven Development): Immaginate un costruttore che insiste nell'usare Chiodi d'Oro solo perché sembrano fighi sul suo curriculum, anche se la casa ha bisogno di Chiodi d'Acciaio. La casa sembra lussuosa per un momento, ma poi crolla perché i materiali non sono adatti al lavoro.
- Creazione guidata dall'Hype (Hype-Driven Creation): Immaginate un proprietario di un ristorante che decide di servire Carne di Drago solo perché tutti ne parlano, anche se non ha un drago e i clienti vogliono solo un hamburger. Spendono tutti i soldi per cercare un drago, solo per rendersi conto che avrebbero dovuto semplicemente fare hamburger migliori.
- Il Risultato: I progetti rimangono bloccati nell' "Inferno della Prova di Concetto" (Proof of Concept Hell): esperimenti infiniti che non diventano mai prodotti reali.
La Grande Conclusione
Gli autori hanno scoperto che la tecnologia è raramente la vera cattiva. I veri cattivi sono:
- Silos: Team che non comunicano tra loro.
- Confusione: Manager che non capiscono il lavoro e lavoratori che non capiscono gli obiettivi di business.
- Assunzioni Errate: Assumere le persone sbagliate per i motivi sbagliati.
La Soluzione? Non si tratta di comprare software migliori. Si tratta di migliore organizzazione. Le aziende devono:
- Abbattere i muri tra i team.
- Insegnare ai manager cos'è realmente il Machine Learning.
- Assumere le persone in base alle loro reali competenze, non ai loro titoli di lavoro.
- Assicurarsi che tutti concordino sul perché stanno costruendo qualcosa prima di iniziare a costruirlo.
In breve: puoi avere il miglior motore del mondo, ma se il conducente non sa come sterzare e i passeggeri litigano per la mappa, l'auto non andrà da nessuna parte.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.