AIXMOOC 2.5 luca benini
L’ESPLOSIONE
luca benini
#AIXMOOC
2.5 CPU E GPU
PER MACHINE LEARNING
mooc.uniurb.it/aixmooc
DELL’INTELLIGENZA
ARTIFICIALE
AIXMOOC 2.5 luca benini
Intelligenza Artificiale Generativa
AIXMOOC 2.5 luca benini
Intelligenza Artificiale Generativa
P(Tkk+1)
Tk[0..k]
W
Tk[k+1]
Large Language Models @[2022…today]
Weights & FLOPs
Weights (pesi) → 0.12, 0.04, …0.81
FLOPs → (+,*)
AIXMOOC 2.5 luca benini
Intelligenza Artificiale Generativa
P(Tkk+1)
Tk[0..k]
W
Tk[k+1]
Large Language Models @[2022…today]
Weights & FLOPs
AIXMOOC 2.5 luca benini
Training (Allenamento)
P(Tkk+1)
Tk[0..k]
Tk[k+1]
W
~54k GPUs (1st Top500)
~14k GPUs
~100k GPUs
Large Language Models @[2022…today]
#Weights ∝ Billions
#Flops ∝ Millions of Billions
Intelligenza Artificiale Generativa
AIXMOOC 2.5 luca benini
Training Inferenza
P(Tkk+1)
Tk[0..k]
Tk[k+1]
W
~54k GPUs (1st Top500)
~14k GPUs
~100k GPUs
~4-8 GPUs
70B Llama3.2
Large Language Models @[2022…today]
#Weights ∝ Billions
#Flops ∝ Millions of Billions
Intelligenza Artificiale Generativa
AIXMOOC 2.5 luca benini
Intelligenza Artificiale Generativa
P(Tkk+1)
Tk[0..k]
Tk[k+1]
W
Large Language Models @[2022…today]
#Weights ∝ Billions
#Flops ∝ Millions of Billions
FLOPs == (+,*)
NVIDIA H100 GPU
• ~2 milioni di miliardi di (+,*) al secondo
• 700W (~1/2 Phon)
• ∝ 30K€ (~VW GOLF nuova)
AIXMOOC 2.5 luca benini
Cos’é una (GP-) GPU Oggi?
AIXMOOC 2.5 luca benini
≈900GB/s Bandwidth over 4096-bit bus
Cos’é una (GP-) GPU Oggi?
AIXMOOC 2.5 luca benini
Cos’é una (GP-) GPU Oggi?
AIXMOOC 2.5 luca benini
Ma per far cosa?
P(Tkk+1)
Tk[0..k]
Tk[k+1]
W
Large Language Models @[2022…today]
#Weights ∝ Billions
#Flops ∝ Millions of Billions
float W[d][s];
float vin[d], vout[s];
for(i=0;i<s;i++){
for(j=0;j<d;j++){
vout[i]+=W[i][j]*vin[j];
}
}
fld r1, [r2!]
fld r3, [r4!]
fma r5, r5, r1, r3
Prodotto vettore matrice
“linguaggio macchina”→ sequenza di istruzioni
AIXMOOC 2.5 luca benini
Ma per far cosa?
float W[d][s];
float vin[d], vout[s];
for(i=0;i<s;i++){
for(j=0;j<d;j++){
vout[i]+=W[i][j]*vin[j];
}
}
fld r1, [r2!]
fld r3, [r4!]
fma r5, r5, r1, r3
Prodotto vettore matrice
“linguaggio macchina”→ sequenza di istruzioni
AIXMOOC 2.5 luca benini
Una GPU contiene centinaia di “cluster di decine di processori” → migliaia di processori
GPU → Processore parallelo “estremo”
AIXMOOC 2.5 luca benini
GPU → Processore parallelo “estremo”
Memoria (sul chip e nel package)
AIXMOOC 2.5 luca benini
GPU → Processore parallelo “estremo”
float W[d][s];
float vin[d], vout[s];
for(i=0;i<s;i++){
for(j=0;j<d;j++){
vout[i]+=W[i][j]*vin[j];
}
}
fld r1, [r2!]
fld r3, [r4!]
fma r5, r5, r1, r3
AIXMOOC 2.5 luca benini
GPU → Processore parallelo “estremo”
AIXMOOC 2.5 luca benini
Workload “estremamente parallelo” #Threads >> #Processori
AIXMOOC 2.5 luca benini
Efficienza → Tutti I threads eseguono le stesse operazioni su dati diversi
AIXMOOC 2.5 luca benini
Problema: Esecuzione di codice con condizioni
AIXMOOC 2.5 luca benini
Problema: Esecuzione di codice con condizioni
AIXMOOC 2.5 luca benini
Problema: Esecuzione di codice con condizioni
Non ci sono condizioni nella moltiplicazione vettore matrice!
AIXMOOC 2.5 luca benini
Problema: Accesso alla Memoria Esterna → 100+ cicli!
AIXMOOC 2.5 luca benini
Problema: Accesso alla Memoria Esterna → 100+ cicli!
AIXMOOC 2.5 luca benini
Problema: Accesso alla Memoria Esterna → 100+ cicli!
AIXMOOC 2.5 luca benini
Problema: Accesso alla Memoria Esterna → 100+ cicli!
AIXMOOC 2.5 luca benini
Problema: Accesso alla Memoria Esterna → 100+ cicli!
AIXMOOC 2.5 luca benini
Problema: Accesso alla Memoria Esterna → 100+ cicli!
Maggiore la latenza, piu’ grande il numero di contesti per nasconderla!
AIXMOOC 2.5 luca benini
Training Inferenza
P(Tkk+1)
Tk[0..k]
Tk[k+1]
W
~54k GPUs (1st Top500)
~14k GPUs
~100k GPUs
~4-8 GPUs
70B Llama3.2
Large Language Models @[2022…today]
#Weights ∝ Billions
#Flops ∝ Millions of Billions
Chiudiamo: Intelligenza Artificiale Generativa
AIXMOOC 2.5 luca benini
Sostenibilità AI Generativa - Inferenza
AIXMOOC 2.5 luca benini
Sostenibilità AI Generativa - Inferenza
ChatGPT Statistics
- 123.5M Media giornaliera utenti
- 1B Media giornaliera query
(https://www.demandsage.com/chatgpt-statistics/)
- 121 Media giornaliera token uscita
(Da: Azure LLM inference trace 2024 - Conversation)
- ~121B Tokens/day
- @4J/Token (70B parameter)
- 2944GWh/year => 100x Energia Training Llama 405B
- @0.04J/Token (8B parameter)
- 29GWh/year => ∝ Energia Training Llama 405B
- Se 50B utenti (500x incremento)
- ~50000B Tokens/day
- @4J/Token (70B parameter)
- 136 GW ~1% Fabbisogno Energetico Mondiale (~15TW)
- @0.04J/Token (8B parameter)
- 1.36GW ~1/2 Consumi Elettrici Regione Emilia-Romagna
AIXMOOC 2.5 luca benini
Modelli di Ragionamento
Sostenibilità AI Generativa - Inferenza
+ 571
Tokens
248
Tokens
deepseek-r1:8b
Tokens di Ragionamento
Reasoning Tokens
Token Risposta
AIXMOOC 2.5 luca benini
Sostenibilità AI Generativa - Inferenza
https://arxiv.org/abs/2501.19393
https://arxiv.org/abs/2412.18547
Modelli di Ragionamento
~31x incremento output token con ragionamento
→ L’inferenza dominerà il costo dell’AI generativa !!!
AIXMOOC 2.5 luca benini
#AIXMOOC
GRAZIE
mooc.uniurb.it/aixmooc

AIXMOOC 2.5 - CPU e GPU per Machine Learning (Luca Benini)

  • 1.
    AIXMOOC 2.5 lucabenini L’ESPLOSIONE luca benini #AIXMOOC 2.5 CPU E GPU PER MACHINE LEARNING mooc.uniurb.it/aixmooc DELL’INTELLIGENZA ARTIFICIALE
  • 2.
    AIXMOOC 2.5 lucabenini Intelligenza Artificiale Generativa
  • 3.
    AIXMOOC 2.5 lucabenini Intelligenza Artificiale Generativa P(Tkk+1) Tk[0..k] W Tk[k+1] Large Language Models @[2022…today] Weights & FLOPs Weights (pesi) → 0.12, 0.04, …0.81 FLOPs → (+,*)
  • 4.
    AIXMOOC 2.5 lucabenini Intelligenza Artificiale Generativa P(Tkk+1) Tk[0..k] W Tk[k+1] Large Language Models @[2022…today] Weights & FLOPs
  • 5.
    AIXMOOC 2.5 lucabenini Training (Allenamento) P(Tkk+1) Tk[0..k] Tk[k+1] W ~54k GPUs (1st Top500) ~14k GPUs ~100k GPUs Large Language Models @[2022…today] #Weights ∝ Billions #Flops ∝ Millions of Billions Intelligenza Artificiale Generativa
  • 6.
    AIXMOOC 2.5 lucabenini Training Inferenza P(Tkk+1) Tk[0..k] Tk[k+1] W ~54k GPUs (1st Top500) ~14k GPUs ~100k GPUs ~4-8 GPUs 70B Llama3.2 Large Language Models @[2022…today] #Weights ∝ Billions #Flops ∝ Millions of Billions Intelligenza Artificiale Generativa
  • 7.
    AIXMOOC 2.5 lucabenini Intelligenza Artificiale Generativa P(Tkk+1) Tk[0..k] Tk[k+1] W Large Language Models @[2022…today] #Weights ∝ Billions #Flops ∝ Millions of Billions FLOPs == (+,*) NVIDIA H100 GPU • ~2 milioni di miliardi di (+,*) al secondo • 700W (~1/2 Phon) • ∝ 30K€ (~VW GOLF nuova)
  • 8.
    AIXMOOC 2.5 lucabenini Cos’é una (GP-) GPU Oggi?
  • 9.
    AIXMOOC 2.5 lucabenini ≈900GB/s Bandwidth over 4096-bit bus Cos’é una (GP-) GPU Oggi?
  • 10.
    AIXMOOC 2.5 lucabenini Cos’é una (GP-) GPU Oggi?
  • 11.
    AIXMOOC 2.5 lucabenini Ma per far cosa? P(Tkk+1) Tk[0..k] Tk[k+1] W Large Language Models @[2022…today] #Weights ∝ Billions #Flops ∝ Millions of Billions float W[d][s]; float vin[d], vout[s]; for(i=0;i<s;i++){ for(j=0;j<d;j++){ vout[i]+=W[i][j]*vin[j]; } } fld r1, [r2!] fld r3, [r4!] fma r5, r5, r1, r3 Prodotto vettore matrice “linguaggio macchina”→ sequenza di istruzioni
  • 12.
    AIXMOOC 2.5 lucabenini Ma per far cosa? float W[d][s]; float vin[d], vout[s]; for(i=0;i<s;i++){ for(j=0;j<d;j++){ vout[i]+=W[i][j]*vin[j]; } } fld r1, [r2!] fld r3, [r4!] fma r5, r5, r1, r3 Prodotto vettore matrice “linguaggio macchina”→ sequenza di istruzioni
  • 13.
    AIXMOOC 2.5 lucabenini Una GPU contiene centinaia di “cluster di decine di processori” → migliaia di processori GPU → Processore parallelo “estremo”
  • 14.
    AIXMOOC 2.5 lucabenini GPU → Processore parallelo “estremo” Memoria (sul chip e nel package)
  • 15.
    AIXMOOC 2.5 lucabenini GPU → Processore parallelo “estremo” float W[d][s]; float vin[d], vout[s]; for(i=0;i<s;i++){ for(j=0;j<d;j++){ vout[i]+=W[i][j]*vin[j]; } } fld r1, [r2!] fld r3, [r4!] fma r5, r5, r1, r3
  • 16.
    AIXMOOC 2.5 lucabenini GPU → Processore parallelo “estremo”
  • 17.
    AIXMOOC 2.5 lucabenini Workload “estremamente parallelo” #Threads >> #Processori
  • 18.
    AIXMOOC 2.5 lucabenini Efficienza → Tutti I threads eseguono le stesse operazioni su dati diversi
  • 19.
    AIXMOOC 2.5 lucabenini Problema: Esecuzione di codice con condizioni
  • 20.
    AIXMOOC 2.5 lucabenini Problema: Esecuzione di codice con condizioni
  • 21.
    AIXMOOC 2.5 lucabenini Problema: Esecuzione di codice con condizioni Non ci sono condizioni nella moltiplicazione vettore matrice!
  • 22.
    AIXMOOC 2.5 lucabenini Problema: Accesso alla Memoria Esterna → 100+ cicli!
  • 23.
    AIXMOOC 2.5 lucabenini Problema: Accesso alla Memoria Esterna → 100+ cicli!
  • 24.
    AIXMOOC 2.5 lucabenini Problema: Accesso alla Memoria Esterna → 100+ cicli!
  • 25.
    AIXMOOC 2.5 lucabenini Problema: Accesso alla Memoria Esterna → 100+ cicli!
  • 26.
    AIXMOOC 2.5 lucabenini Problema: Accesso alla Memoria Esterna → 100+ cicli!
  • 27.
    AIXMOOC 2.5 lucabenini Problema: Accesso alla Memoria Esterna → 100+ cicli! Maggiore la latenza, piu’ grande il numero di contesti per nasconderla!
  • 28.
    AIXMOOC 2.5 lucabenini Training Inferenza P(Tkk+1) Tk[0..k] Tk[k+1] W ~54k GPUs (1st Top500) ~14k GPUs ~100k GPUs ~4-8 GPUs 70B Llama3.2 Large Language Models @[2022…today] #Weights ∝ Billions #Flops ∝ Millions of Billions Chiudiamo: Intelligenza Artificiale Generativa
  • 29.
    AIXMOOC 2.5 lucabenini Sostenibilità AI Generativa - Inferenza
  • 30.
    AIXMOOC 2.5 lucabenini Sostenibilità AI Generativa - Inferenza ChatGPT Statistics - 123.5M Media giornaliera utenti - 1B Media giornaliera query (https://www.demandsage.com/chatgpt-statistics/) - 121 Media giornaliera token uscita (Da: Azure LLM inference trace 2024 - Conversation) - ~121B Tokens/day - @4J/Token (70B parameter) - 2944GWh/year => 100x Energia Training Llama 405B - @0.04J/Token (8B parameter) - 29GWh/year => ∝ Energia Training Llama 405B - Se 50B utenti (500x incremento) - ~50000B Tokens/day - @4J/Token (70B parameter) - 136 GW ~1% Fabbisogno Energetico Mondiale (~15TW) - @0.04J/Token (8B parameter) - 1.36GW ~1/2 Consumi Elettrici Regione Emilia-Romagna
  • 31.
    AIXMOOC 2.5 lucabenini Modelli di Ragionamento Sostenibilità AI Generativa - Inferenza + 571 Tokens 248 Tokens deepseek-r1:8b Tokens di Ragionamento Reasoning Tokens Token Risposta
  • 32.
    AIXMOOC 2.5 lucabenini Sostenibilità AI Generativa - Inferenza https://arxiv.org/abs/2501.19393 https://arxiv.org/abs/2412.18547 Modelli di Ragionamento ~31x incremento output token con ragionamento → L’inferenza dominerà il costo dell’AI generativa !!!
  • 33.
    AIXMOOC 2.5 lucabenini #AIXMOOC GRAZIE mooc.uniurb.it/aixmooc