Gestire il debito tecnico dei sistemi di machine learning |  di John Leung |  Settembre 2023

 | Intelligenza-Artificiale

Esplora le pratiche per mitigare in modo sostenibile il costo di una consegna rapida, con i codici di implementazione

Con l’avanzare della comunità del machine learning (ML) nel corso degli anni, le risorse disponibili per lo sviluppo di progetti ML sono abbondanti. Ad esempio, possiamo fare affidamento sul pacchetto Python generico scikit-imparache si basa su NumPy, SciPy e matplotlib, per la preelaborazione dei dati e attività predittive di base. Oppure possiamo sfruttare la raccolta open source di modelli pre-addestrati da Hugging Face per analizzare diversi tipi di set di dati. Ciò consente agli attuali data scientist di affrontare rapidamente e senza sforzo attività di machine learning standard, ottenendo al contempo prestazioni del modello moderatamente buone.

Tuttavia, l’abbondanza di strumenti ML spesso porta le parti interessate aziendali e persino i professionisti a sottovalutare lo sforzo richiesto per costruire sistemi ML a livello aziendale. Soprattutto di fronte a scadenze di progetto ravvicinate, i team possono accelerare la distribuzione dei sistemi in produzione senza fornire sufficienti considerazioni tecniche. Di conseguenza, il sistema ML spesso non soddisfa le esigenze aziendali in modo tecnicamente sostenibile e mantenibile.

Man mano che il sistema si evolve e si implementa nel tempo, i debiti tecnici si accumulano: più a lungo i costi impliciti rimangono irrisolti, più costoso diventa correggerli.

fotografato da Andrea De Santis SU Unsplash

Esistono molteplici fonti di debiti tecnici nel sistema ML. Alcuni sono inclusi di seguito.

#1 Progettazione del codice inflessibile per soddisfare requisiti imprevisti

Per verificare se il machine learning è in grado di affrontare le sfide aziendali attuali, molti progetti di machine learning iniziano con a prova di concetto (PoC). Inizialmente abbiamo creato un ambiente Jupyter Notebook o Google Colab per esplorare i dati, quindi abbiamo sviluppato diverse funzioni ad hoc e creato l’illusione di un progetto prossimo al completamento per le parti interessate. Tali sistemi costruiti direttamente da PoC potrebbero finire per essere costituiti principalmente da codice colla — il codice di supporto che collega specifici componenti incompatibili ma di per sé non ha la funzionalità di analisi dei dati. Possono essere simili a spaghetti, difficili da mantenere e soggetti a errori.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *