Il debito tecnico si riferisce al concetto, nello sviluppo software, secondo cui prendere scorciatoie, optare per soluzioni rapide o facili o adottare pratiche di sviluppo subottimali nel breve termine può portare a lavoro aggiuntivo, complicazioni e costi più elevati nel lungo periodo. Questo "debito" metaforico si accumula quando un progetto dà priorità alla consegna rapida rispetto al codice perfetto.
Secondo un recente sondaggio di CompTIA che ha coinvolto centinaia di professionisti IT, il debito tecnico rappresenta una sfida per il 74% delle organizzazioni. In particolare, il 42% di queste lo considera un ostacolo sostanziale.
Il CTO di Hyperscience Tony Lee afferma che il debito tecnico non è solo un sottoprodotto; è una forza determinante che può decretare il successo o il fallimento delle future innovazioni nell’IA. Ignorarlo è come costruire su fondamenta di sabbia: precario e insostenibile.
Quali altri pensieri ha Tony riguardo al debito tecnico e al suo impatto sull’intelligenza artificiale? In una recente intervista, ha condiviso consigli su come gestire il debito tecnico e garantire che le soluzioni IA restino scalabili e manutenibili nel tempo.
1. Nel contesto della rapida adozione dell’IA, cos’è il "debito tecnico" e perché rappresenta una preoccupazione significativa per le organizzazioni che si avventurano nell’IA?
Nello sviluppo software, il debito tecnico si riferisce generalmente a un debito crescente che si accumula man mano che il software invecchia, essenzialmente dal momento in cui viene scritto. Questo è dovuto al fatto di non anticipare i bisogni futuri o per scelte deliberate a breve termine volte a rilasciare più velocemente.
Pur non essendo intrinsecamente negativo, dal momento che codice già in produzione ha spesso più valore di un codice perfetto che non viene mai utilizzato, il debito tecnico richiede una gestione attenta. Se trascurato, può rallentare i futuri sforzi di sviluppo e portare a codice ingestibile, con il rischio di blackout o difetti che impattano negativamente i clienti.
Nel contesto dell’IA, una manifestazione chiave del debito tecnico è il drift del modello. Questo fenomeno si verifica quando l’ambiente attuale si discosta in modo significativo da quello in cui l’algoritmo IA è stato originariamente addestrato.
Sebbene esistano varie tipologie di drift del modello, un esempio recente e semplice è l’impatto della pandemia da COVID-19 sui modelli di traffico globali. I modelli sviluppati per prevedere il flusso del traffico prima della pandemia avrebbero generato previsioni molto imprecise durante i lockdown. Altre forme di drift del modello sono molto più sfumate. Possono portare a un degrado lento dei risultati nel tempo, erodendo gradualmente l’accuratezza del modello in modi che potrebbero non essere immediatamente evidenti agli utenti.
Un ulteriore aspetto del debito tecnico nei sistemi di machine learning (ML) nasce dalla mancata integrazione di capacità di monitoraggio della qualità continua e di riaddestramento. È allettante eseguire test di accuratezza iniziali dopo l’implementazione di un sistema ML e poi celebrare questi risultati. Tuttavia, questo approccio può essere problematico se il sistema viene lasciato operare senza un controllo continuo, portando a un graduale e inosservato declino delle prestazioni a causa della mancanza di meccanismi di osservabilità e manutenzione integrati.
Dato il boom di interesse e investimenti nell’IA generativa, esiste il rischio che alcune organizzazioni possano investire frettolosamente in soluzioni costose senza un’adeguata valutazione, portando potenzialmente a imprevisti drift dei modelli.
2. Al contrario, come può l’IA aiutare a identificare o gestire il debito tecnico esistente?
I modelli di IA generativa possono contrastare il debito tecnico monitorando e segnalando dove il codice potrebbe necessitare di aggiornamenti — o persino eseguendo autonomamente tali aggiornamenti. Sebbene la supervisione umana rimanga indispensabile, l’utilizzo dell’IA generativa ridurrà il tempo necessario per affrontare il debito tecnico assumendosi compiti semplici ma cruciali, come la gestione dei dati.
3. Come valutate e gestite il debito tecnico all’interno dei vostri progetti IA?
Abbiamo integrato le funzionalità di Machine Learning Quality Assurance (ML QA) e di riaddestramento direttamente nella nostra piattaforma per gestire efficacemente il debito tecnico nell’IA. È importante fornire trasparenza sull’accuratezza del sistema e sull’efficienza dell’automazione nel tempo.
Questo approccio consente al mio team di condurre in modo continuativo la QA di ML e di ritrenare il modello all'interno della piattaforma quando necessario.
Implementare processi di monitoraggio continuo e assicurazione della qualità per rilevare e mitigare proattivamente qualsiasi debito tecnico emergente.
Per la QA di ML, campioniamo gli output del modello e creiamo task di QA, permettendo agli utenti di validare i risultati tramite un meccanismo di consenso. Se vengono individuati errori, questi riscontri vengono reinseriti nel set di addestramento, migliorando così l'accuratezza e l'affidabilità del modello.
4. Come possono le organizzazioni bilanciare l’urgenza delle strategie di ingresso sul mercato con i potenziali rischi di accumulo di debito tecnico nelle soluzioni AI?
Le organizzazioni dovrebbero adottare con fiducia le nuove innovazioni AI nelle proprie soluzioni, trovando un equilibrio tra velocità di ingresso sul mercato e gestione efficace dei rischi. Integrare la manutenzione dei dati e il monitoraggio regolare durante l’intero ciclo di vita del prodotto può ridurre significativamente il rischio di accumulo di debito tecnico e l’insorgere di drift del modello. Investire nell’AI, sebbene talvolta rischioso, dovrebbe essere adottato nei tech stack e può portare a innovazione e guadagni di produttività. Tuttavia, questi investimenti devono essere fatti con una riflessione attenta e un approccio responsabile per garantire risultati ottimali.
5. Come garantite che le vostre soluzioni AI rimangano scalabili e manutenibili nel lungo periodo, considerando il potenziale debito tecnico?
Garantire che una soluzione rimanga scalabile e manutenibile richiede una manutenzione continua da parte del team. Per evitare la necessità di una costosa revisione, le organizzazioni dovrebbero creare un processo con una regolare cadenza per la manutenzione dei dati di addestramento al fine di supervisionare l’accuratezza del modello. Mantenere la supervisione umana come parte fondamentale di qualsiasi strategia AI e di business sarà essenziale per evitare il drift del modello e, di conseguenza, ulteriore debito tecnico.
6. Come considerate i costi di gestione del debito tecnico nella pianificazione del budget per i progetti AI?
La chiave è iniziare comprendendo a fondo le esigenze specifiche e i vincoli del proprio caso d’uso, insieme al potenziale impatto del debito tecnico di ML.
- In applicazioni come la trascrizione ML di testo stampato, si potrebbe determinare che la probabilità di drift del modello sia relativamente bassa. In tali casi, possono essere sufficienti controlli manuali della qualità occasionali senza QA di ML o riaddestramenti frequenti.
- L’utilizzo di modelli ML per prendere decisioni critiche, come la lettura dei raggi X per trattamenti medici, richiede invece un processo di QA di ML rigoroso, con controlli di qualità fatti da esseri umani e riaddestramenti quando necessario.
Consiglierei di partire dai bisogni specifici del vostro caso d’uso, definendo i requisiti e successivamente scegliendo la soluzione software che meglio li soddisfa per garantire il giusto equilibrio tra efficienza, accuratezza e sicurezza.
7. In cosa differisce il debito tecnico in AI rispetto a quello nello sviluppo software tradizionale, e come vi state adattando a queste differenze?
Riprendendo quanto discusso in precedenza, il debito tecnico nei sistemi AI si manifesta principalmente come drift del modello. Questo accade quando i dataset utilizzati per l’addestramento dei modelli contengono informazioni distorte o inaccurate, generando output indesiderati.
A differenza del debito tecnico tradizionale, che colpisce principalmente la velocità e l’affidabilità del sistema, il drift del modello può portare a conseguenze più gravi, soprattutto se le distorsioni estreme nei dati di addestramento non vengono gestite. Questo impone alle organizzazioni un approccio diverso rispetto al debito tecnico tradizionale, richiedendo attenzione rigorosa alle normative più recenti e alla qualità dei dati.
Adottare strategie per contrastare il drift del modello implica un mindset simile a quello applicato per affrontare il debito tecnico tradizionale.
Una misura pratica è destinare una parte dell’orario settimanale del team — magari il 20% — alla pulizia dei dati, riducendo sostanzialmente il rischio di drift del modello.
Dando priorità alla manutenzione dei dati e dedicando tempo a queste attività, la probabilità che i modelli AI producano risultati errati viene sensibilmente ridotta.
8. Come vedete evolvere in futuro la relazione tra l’adozione dell’AI e il debito tecnico?
Gli sviluppi recenti nelle soluzioni di AI generativa sono solo l’inizio del nostro rapporto con questa tecnologia. Con l’accelerazione prevista nei prossimi anni, il settore tecnologico potrà disporre di dataset migliori per addestrare i propri modelli.
Man mano che i sistemi diventeranno più complessi e saranno disponibili più dati per l’addestramento, il rischio di debito tecnico diminuirà poiché le macchine produrranno output sempre più precisi e scalabili.
Inoltre, con il continuo perfezionamento delle capacità di codifica da parte di strumenti e piattaforme di intelligenza artificiale generativa, è probabile che si assista a uno spostamento verso una maggiore autoregolamentazione delle macchine, pur sotto un certo grado di supervisione umana. L’intervento umano rimarrà necessario per la verifica dei dati di addestramento e del codice. Tuttavia, si prevede che l’affidamento all’autonomia delle macchine per i controlli di routine diventerà la norma.
Questa evoluzione porterà a una riduzione dei costi, poiché le organizzazioni dipenderanno sempre più da intelligenze artificiali all’avanguardia per contenere il debito tecnico. Il raggiungimento di questo obiettivo dipende dalla disponibilità di un’ampia varietà di dati, molti dei quali non sono ancora ampiamente accessibili.
Bilanciare i vantaggi a breve termine con i costi a lungo termine
Così come accade per il debito finanziario, anche il debito tecnico accumula "interessi" nel tempo — se non viene affrontato, può portare a maggiori difficoltà di manutenzione, riduzione della qualità del codice e aggiornamenti o correzioni più complessi in futuro. Il concetto mette in evidenza il compromesso tra benefici a breve termine e costi a lungo termine nello sviluppo e nella manutenzione del software.
Vuoi saperne di più?
Se sei interessato ad approfondire il debito tecnico e il futuro dell’intelligenza artificiale, iscriviti alla nostra newsletter per ricevere gli ultimi approfondimenti tecnologici.
Ti aiuteremo a crescere in modo più intelligente e a guidare con più forza grazie a guide, risorse di IA e strategie dei migliori esperti!
