Finanziamo agevolati

Contributi per le imprese

 

rischi geopolitici e soluzioni per l’IA


Il lock-in tecnologico associato a CUDA, il modello di programmazione sviluppato da NVIDIA per l’elaborazione parallela sulle sue GPU, rappresenta una sfida significativa per l’ecosistema dell’intelligenza artificiale.

Opportunità uniche acquisto in asta

 ribassi fino al 70%

 

La dipendenza da una singola piattaforma limita l’innovazione, aumenta i costi e ostacola la competitività, soprattutto in contesti geopolitici sensibili.

Analizzare le cause e le implicazioni di questo fenomeno è fondamentale per comprendere le dinamiche attuali e future del settore.

CUDA e il rischio della sovranità limitata

CUDA (Compute Unified Device Architecture) consente ai programmatori di scrivere codice in linguaggi come Python, C++ e Fortran e di sfruttare la GPU NVIDIA per parallelizzare l’operazione base dell’addestramento (e dell’inferenza) dei modelli Machine Learning (ML): il prodotto scalare tra vettori.

CUDA fornisce agli sviluppatori delle librerie per ML un insieme di funzioni già pronte e gli strumenti necessari per la correzione degli errori e l’analisi delle prestazioni. Nell’ultimo decennio, NVIDIA ha introdotto regolarmente gli aggiornamenti necessari ai paradigmi ML emergenti. La puntualità negli aggiornamenti necessari all’intelligenza artificiale generativa ha reso l’ambiente CUDA la scelta “sicura” per lo sviluppo di LLM. Per capire meglio il ruolo di CUDA, consideriamo il semplice programma mostrato nella figura che segue.

Il programma è stato scritto per essere eseguito su un semplice sistema composto da una CPU e una GPU, dotate di proprie memorie e collegate tra loro da un bus veloce. Il nostro esempio utilizza le funzioni base di CUDA per Python (PyCUDA) per parallelizzare un’operazione di scrittura, affidandola a più thread eseguiti in parallelo sulla GPU.

Vuoi bloccare la procedura esecutiva?

richiedi il saldo e stralcio

 

A screenshot of a computer screenAI-generated content may be incorrect.I

Figura 1 Un semplice programma cxhe utilizza le funzionu CUDA

Anche per chi non scrive codice, la logica del nostro esempio dovrebbe essere semplice da capire: ciascun thread calcola la posizione (idx) da usare per accedere ad un vettore. Il valore è calcolato dalla somma blockIdx.x * blockDim.x + threadIdx.x. In questa formula, l’addendo threadIdx.x è diverso per ciascun thread. In questo modo, ogni thread scrive gli stessi 6 caratteri, “H, e, l, l, o (spazio)”, ma in una posizione diversa del vettore. Il controllo if (idx < n) si assicura che i thread non scrivano oltre i limiti del vettor, che è appunto lungo n caratteri.

Bisogna anche notare che il vettore viene creato in due copie, una nella memoria della CPU e una in quella della GPU. I dati vengono trasferiti da una copia all’altra tramite due funzioni CUDA: cuda.memcpy_htod (che copia dalla memoria della CPU, host, a quella del dispositivo GPU) e cuda.memcpy_dtoh (da dispositivo a host).

L’esecuzione del programma avvia 10 thread (num_threads = 10), ognuno dei quali scrive “Hello” nell’array nella memoria della GPU. L’array viene copiato nella memoria della CPU e poi convertito in una stringa, ottenendo: Hello Hello Hello Hello Hello Hello Hello Hello Hello (10 volte, una per thread).

Il nostro semplice esempio evidenzia bene i due compiti chiave di CUDA: la parallelizzazione del calcolo (ogni thread della GPU scrive in modo indipendente e simultaneo la propria porzione di output) e la capacità di “caricare” e “scaricare” in modo veloce la memoria della GPU. Ovviamente nelle applicazioni reali ogni thread di GPU non scrive un dato fisso, ma lo calcola eseguendo un’operazione (in genere, un prodotto scalare). L’esecuzione simultanea di un numero elevato di queste operazioni di prodotto, resa possibile dalla GPU, consente di eseguire l’addestramento dei modelli ML in tempo ragionevole.

Lock-in tecnologico e asimmetria competitiva

Per chi non è programmatore, l’elemento importante dell’esempio è il cosiddetto lock-in tecnologico: se non si dispone di una GPU NVIDIA, non è possibile eseguire le funzioni presenti nel codice.

I fornitori alternativi di coprocessori per ML, AMD e Intel, mettono a disposizione dei loro clienti degli ambienti di programmazione simil-CUDA, ma per usarli occurre comunque eseguire la traduzione manuale del codice. Va notato che, forse a causa del rapporto di forze tra i fornitori, il lock-in tecnologico è asimmetrico.

Il sistema HIP per i coprocessori AMD prevede portabilità su GPU NVIDIA, ed anche ikl fgramework oneAPI, nato per l’hardware Intel, sta introducendo supporto sperimentale per altri fornitori.

Finanziamenti e agevolazioni

Agricoltura

 

Chi è impegnato nello sviluppo di modelli a livello software tende a sottovalutare la l’effetto di lock-in tecnologico perchè le librerie più diffuse come PyTorch o TensorFlow supportano – o dichiarano di supportare – anche tecnologie non-CUDA.

A livello di prestazioni, però, le cose cambiano: PyTorch e TensorFlow sono ottimizzati per CUDA. Ricompilare un modello ML TensorFlow per un hardware non-CUDA ne cambia I tempi di addestramento e di adattamento, il che rende rischioso decidere di cambiare framework su modelli in produzione. Anche il nascente settore dei modelli LLM europei è esposto a questo un lock-in indiretto.

Il ricorso alle GPU non-NVIDIA presenti sul mercato occidentale come AMD Instinct e Intel Arc/Max (con le relative piattaforme simil-CUDA ROCm oppure oneAPI) aiuta a ridurre la dipendenza dal singolo fornitore, ma non sposta i termini del problema, visto che si tratta comunque di tecnologie statunitensi. Di seguito, analizziamo le implicazioni, del lock-in diretto e indiretto, esaminando fattori tecnici, economici e geopolitici.

Il lock-in di CUDA e il controllo geopolitico statunitense

Il governo degli Stati Uniti può utilizzare il (meritato) predominio tecnologico NVIDIA come strumento geopolitico, introducendo restrizioni sugli aggiornamenti CUDA e sulla disponibilità di GPU in determinate regioni.

Oggi, sono presenti controlli (di cui abbiamo già scritto su queste colonne) sulle esportazioni delle GPU NVIDIA di fascia alta come A100 e H100. Le restrizioni, applicate dal Dipartimento del Commercio degli Stati Uniti ai sensi delle Export Administration Regulation (EAR), mirano a limitare l’accesso a tecnologie critiche per applicazioni di intelligenza artificiale, calcolo ad alte prestazioni e militari.

Le organizzazioni basate nei Paesi soggetti a restrizioni potrebbero incontrare difficoltà nell’acquistare GPU NVIDIA o nell’accedere agli aggiornamenti periodici CUDA. Se un soggetto (persona, azienda o Paese) viene sanzionato dall’Office of Foreign Assets Control (OFAC), l’accesso all’hardware, al software o al supporto NVIDIA potrebbe essere interrotto. Nel biennio 2022-2023, l’inasprimento dei controlli ha costretto le aziende cinesi a cercare alternative GPU nazionali (ad esempio, Ascend e Biren di Huawei) o usare chip NVIDIA datati. Anche i Paesi oggi non soggetti a restrizioni potrebbero essere interessati in futuro. Il rischio è alto soprattuttio per le entità basate in regioni geopoliticamente sensibili (ad esempio, Cina, Medio Oriente).

Impatti del lock-in CUDA sull’Europa

Dal punto di vista europeo, non sono previste restrizioni esplicite all’importazione di GPU ma bisogna considerare che NVIDIA si affida a catene di approvvigionamento globali (ad esempio, TSMC a Taiwan per la produzione dei chip), che sono soggette a rischi geopolitici. Possibili interruzioni lungo la catena (dovute, ad esempio, a tensioni tra Stati Uniti e Cina su Taiwan) potrebbero limitare la disponibilità di GPU, con un impatto sui sistemi che utilizzano CUDA.

Dilazioni debiti fiscali

Assistenza fiscale

 

Infine, tutte le aziende statunitensi sono soggette al Cloud Act, che consente alle autorità di accedere ai dati elaborati su cloud di proprietà di aziende statunitensi, anchese si trovano all’estero. Sebbene CUDA di per sé non sia un servizio cloud, ne esistono implementazioni per GPU virtuali (NVIDIA DGX Cloud) che sollevano preoccupazioni relative alla riservatezza dei parametri dei modelli ML.

Strategie per mitigare il lock-in tecnologico

Per le organizzazioni basate in regioni geopoliticamente sensibili, non c’è alternativa all’investire massicciamente in coprocessori non-GPU (ad esempio, Biren e Huawei Ascend in Cina) e ad adottare piattaforme di programmazione open source come OpenCL e SYCL, che prevedono compatibilità con l’hardware di tutti I fornitori. Questa scelta permette di ricompilare modelli scritti in Tensorflow o PyTorch, accettando possibili diversità prestazionali a parità di modello software.

La Tabella I riporta una panoramica completa delle tecnologie attualmente disponibili, compresa una valutazione della loro maturità.

Anche l’Intelligenza Artificiale europea potrebbe pensare di affiancare a CUDA le piattaforme aperte, e soprattutto sviluppare le (non eccersive) competenze sulle piattaforme non-CUDA presentio nel Vecchio Continente. Ma l’affiuancxamento potrebbe non bastare, visto che anche gli acceleratori non-GPU cinesi presentano rischi di lock-in indiretto. L’Europa dispone delle competenze necessarie per propagare l’approccio open source “verso il basso”, puntando su coprocessori basati su architetture hardware aperte. Per perseguire un obviettivo cosÌ ambiziioso, servono però ingenti risorse.

Prospettive future

L’adozione generalizzata di CUDA ha creato un elevato livello di dipendenza dell’intero settore dell’Intelligenza Artificiale dal fornitore NVIDIA, a causa della natura proprietaria della tecnologia e della sua posizione dominante sul mercato. Il passaggio a tecnologie alternative comporta costi e rischi prestazionali significativi. D’altro canto, affidarsi unicamente a NVIDIA espone gli utenti a rischi legati alle politiche del governo statunitense. Questi rischi sono particolarmente elevati per le organizzazioni non europee, ma sussistono in una certa misura anche per l’Europa, dove sono aggravati dalla mancata percezione. Senza un’azione decisa da parte della Ciommissione Europea, la politica dello struzzo sembra la piu’ probabile, compresi gli annunci ricorrenti di modelli LLM sovrani che “sotto la cintola” sovrani non sono.

CUDA NVIDIA NVIDIA GPUs Windows, Linux, macOS No Elevata Alta
OpenCL Khronos GPUs, CPUs, FPGAs Windows, Linux, macOS Si’ Moderata Alta
ROCm AMD AMD GPUs Linux (Windows parziale) Si’ Elevata Bassa
SYCL Khronos GPUs, CPUs, FPGAs Windows, Linux, macOS Si’ Elevata Bassa
Vulkan Compute Khronos GPUs (desktop, mobile) Windows, Linux, macOS Si’ Limitata Moderata
Metal Apple Apple GPUs macOS, iOS No Elevata Alta (solo Apple)
DirectCompute Microsoft NVIDIA, AMD, Intel GPUs Windows No Moderata Moderata
HIP AMD AMD, NVIDIA GPUs Linux, Windows (futura) Si’ Elevata Bassa
oneAPI Intel Intel GPUs, CPUs, FPGAs Windows, Linux Si’ Elevata Bassa

Tabella 1: Piattaforme esecutive per ML a confronto



Source link

Contributi e agevolazioni

per le imprese

 

***** l’articolo pubblicato è ritenuto affidabile e di qualità*****

Visita il sito e gli articoli pubblicati cliccando sul seguente link

Source link

Vuoi acquistare in asta

Consulenza gratuita