Ottimizzazione del codice nell'ecosistema AI / Code optimisation in the AI ecosystem
Ottimizzazione del codice nell'ecosistema AI / Code optimisation in the AI ecosystem
La dott.ssa Leslie Kanthan, co-fondatrice e CEO di TurinTech, sottolinea l'importanza della qualità del codice per ottimizzare le prestazioni dell'IA e il divario di competenze emergente nel settore.
Aumentare le prestazioni è una priorità nello spazio dell'IA. Le aziende non esiteranno a fare grandi investimenti per ottenere anche un miglioramento marginale (ad es. maggiore precisione, velocità) nei sistemi di intelligenza artificiale. Una serie di fattori influisce sulle prestazioni dell'IA; dati di alta qualità, infrastruttura, codice e il talento giusto sono tutti elementi cruciali di un fiorente ecosistema di intelligenza artificiale.
Per ottenere prestazioni ottimali, un sistema di intelligenza artificiale deve in sostanza massimizzare i risultati riducendo al minimo le inefficienze e i costi. In questo articolo, discutiamo i quattro pilastri su cui si basa l'IA e perché ciascuno deve essere ottimizzato.
Fattori alla base delle prestazioni ottimali dell'IA
Dati
I sistemi di intelligenza artificiale ed i modelli di apprendimento automatico vengono creati, addestrati, testati e distribuiti sulla base dei dati. Dati incompleti, non validi o corrotti compromettono la qualità dei sistemi di intelligenza artificiale. Anche i dati di addestramento e test utilizzati in un sistema di IA devono essere un campione rappresentativo della popolazione. I set di dati non rappresentativi comportano il rischio di introdurre distorsioni nei sistemi di IA. La selezione di un buon set di dati e la preelaborazione dei dati sono i primi passi essenziali per garantire prestazioni di intelligenza artificiale elevate.
Infrastruttura
L'infrastruttura e l'hardware consentono di ospitare dati, modelli e software necessari per le soluzioni di intelligenza artificiale. Le attività di elaborazione, memoria, rete e archiviazione sono particolarmente abilitate tramite l'infrastruttura. I dispositivi di elaborazione e logica come CPU, GPU, FPGA e/o ASIC, soluzioni di archiviazione temporanea e di archiviazione a lungo termine e dispositivi che consentono la connettività costituiscono il pacchetto hardware essenziale per l'IA. Il miglioramento delle prestazioni dei sistemi di intelligenza artificiale è inevitabilmente legato alla capacità dell'hardware.
Tuttavia, è dubbio che la capacità dell'hardware possa essere aumentata in modo esponenziale senza interventi innovativi. Ad esempio, seguendo la legge di Moore, si teme che potremmo raggiungere i limiti della capacità fisica della potenza di calcolo. Per alimentare l'IA del futuro, saranno essenziali soluzioni infrastrutturali all'avanguardia.
Codice
Il codice alla base dei sistemi di intelligenza artificiale è fondamentale per garantire che le soluzioni funzionino come previsto e lo facciano senza errori. Un buon codice è affidabile, chiaro e coerente. La disponibilità della documentazione semplifica la manutenzione delle basi di codice. L'ecosistema AI in continua evoluzione richiede software ad alte prestazioni, il che rende fondamentale l'efficienza del codice. Anche il minimo aumento dell'efficienza del codice può accelerare la velocità dell'applicazione e aumentare la produttività e i profitti.
Uno studio sull'impatto aziendale della qualità del codice ha riportato che il tempo di sviluppo per le basi di codice di livello 1 di avviso è il 124% in più rispetto a quello del codice di livello sano. In un sondaggio condotto da Stripe tra dirigenti di livello C, è stato riferito che il codice errato costa alle aziende 85 miliardi di dollari all'anno. Il debito tecnico nell'apprendimento automatico si accumula in modo estremamente rapido, il che significa che un codice di cattiva qualità può far tornare indietro di sei mesi anche i team più esperti.
Talento
L'IA è concepita, sviluppata e gestita da data scientist, ingegneri del software e altro personale nell'ecosistema dell'IA. Coinvolgere i migliori talenti porta a soluzioni di intelligenza artificiale innovative, efficienti e redditizie. LinkedIn 2020 Emerging Jobs Report UK identifica lo specialista in intelligenza artificiale come il miglior lavoro emergente del Regno Unito, evidenziando il valore e la domanda di talenti AI.
Tuttavia, a causa del tempo e della formazione richiesti per la specializzazione, spesso può essere difficile trovare e reclutare specialisti dell'IA. Le organizzazioni potrebbero sentire la necessità di ridurre l'ambito delle loro applicazioni di intelligenza artificiale se non sono in grado di trovare il talento giusto per l'attività.
Nonostante sia essenziale nell'ecosistema dell'IA, ciascuno di questi elementi presenta una propria serie di sfide e limiti. Sono necessarie soluzioni innovative per garantire che l'IA possa essere scalata senza essere ostacolata da complicazioni. L'ottimizzazione del codice è un'area con prospettive promettenti per il raggiungimento di prestazioni AI ottimali.
La linea di fondo
I vantaggi dell'ottimizzazione del codice sono molteplici. L'ottimizzazione rende le basi di codice più pulite, più chiare e più coerenti, rendendo il software più efficiente. Gli utenti finali di questo software ricevono un'esperienza utente migliorata con risultati migliori e maggiore velocità. L'ottimizzazione del codice rende anche il codice più leggibile, rendendo in definitiva più facile per più parti interessate lavorare e collaborare facilmente su un'unica base di codice.
ENGLISH
Dr Leslie Kanthan, co-founder and CEO of TurinTech, outlines the importance of code quality for optimising AI performance and the emerging skills gap in the sector.
Boosting performance is a priority in the AI space. Businesses will not hesitate to make large investments to achieve even a marginal improvement (e.g. increased accuracy, speed) in AI systems. A range of factors impact the performance of AI; high-quality data, infrastructure, code, and the right talent are all crucial elements of a thriving AI ecosystem.
In order to achieve optimal performance, an AI system must in essence maximise results while minimising inefficiencies and costs. In this article, we discuss the four pillars on which AI relies on, and why each needs to be optimised.
Factors underlying optimal AI performance
Data
AI systems and machine learning models are built, trained, tested, and deployed based on data. Incomplete, invalid, or corrupt data compromises the quality of AI systems. Training and test data used in an AI system must also be a representative sample of the population. Non-representative datasets pose the risk of introducing biases to AI systems. Selecting a good dataset and data preprocessing are essential first steps in ensuring strong AI performance.
Infrastructure
Infrastructure and hardware make it possible to host data, models, and software needed for AI solutions. Processing, memory, networking, and storage tasks are particularly enabled via infrastructure. Processing and logic devices such as CPUs, GPUs, FPGAs and/or ASICs, temporary storage and long-term storage solutions, and devices that enable connectivity make up the essential hardware bundle for AI. Improving the performance of AI systems is inevitably tied to hardware capacity.
However, it is doubtful that the capacity of hardware can be increased exponentially without innovative interventions. For instance, following Moore’s law, there are concerns that we may be reaching the limits of the physical capacity of computing power. In order to power the AI of the future, bleeding-edge infrastructure solutions will be essential.
Code
Code that underlies AI systems is crucial to ensure that solutions function as expected and do so without error. Good code is reliable, clear, and consistent. Availability of documentation makes code bases easier to maintain. The ever-evolving AI ecosystem requires high-performance software, making code efficiency critical. Even the slightest increase in code efficiency can accelerate application speed and boost productivity and profits.
A study on the business impact of code quality reported that the Time-in-Development for Alert level 1 codebases is 124% more than that of Healthy level code. In a survey of C-level executives conducted by Stripe, it was reported that bad code costs companies $85 billion annually. Technical debt in machine learning piles extremely fast meaning that bad quality code can set even the most experienced teams back for half a year.
Talent
AI is envisioned, developed and maintained by data scientists, software engineers and various other personnel in the AI ecosystem. Engaging the best talent leads to AI solutions that are innovative, efficient, and profitable. LinkedIn 2020 Emerging Jobs Report UK identifies Artificial Intelligence Specialist as UK’s top emerging job, highlighting the value and demand for AI talent.
However, due to the time and training required for specialisation, it can often be difficult to find and recruit AI specialists. Organisations may feel the need to curtail the scope of their AI applications if they are unable to find the right talent for the task.
Despite being essential in the AI ecosystem, each of these elements presents its own set of challenges and limitations. Innovative solutions are required to ensure that AI can be scaled without being hindered by complications. Code optimisation is one area with a promising outlook for achieving optimal AI performance.
The bottom line
The benefits of code optimisation are manifold. Optimisation makes code bases cleaner, clearer, and more consistent, making the software perform with greater efficiency. End-users of this software receive an enhanced user experience with better results and increased speed. Code optimisation also makes code more readable, ultimately making it easier for multiple stakeholders to work and collaborate easily on a single code base.
Da:
https://www.theengineer.co.uk/content/opinion/comment-code-optimisation-in-the-ai-ecosystem
Commenti
Posta un commento