In meno di due mesi dal suo primo rilascio, l’ultima creazione del team di ricerca ML di Apple, MLX, ha già fatto passi da gigante nella comunità ML. È straordinario vedere con quanta rapidità il nuovo framework abbia attirato l’attenzione, come evidenziato dalle oltre 12.000 stelle in poi GitHub e una comunità in crescita di oltre 500 membri Volto che abbraccia 🤗.
In un articolo precedenteabbiamo dimostrato come funziona MLX nell’addestramento di una semplice rete convoluzionale di grafici (GCN), confrontandola con vari dispositivi tra cui processorePyTorch MPSE CUDA GPU. I risultati sono stati illuminanti e hanno mostrato il potenziale di MLX nell’esecuzione efficiente dei modelli.
In questa esplorazione, andiamo più in profondità, proponendoci di confrontare molteplici operazioni chiave comunemente sfruttate nelle reti neurali.
Nel nostro benchmark, ogni operazione viene valutata sulla base di una varietà di esperimenti, che variano per forma e dimensione dell’input. Li abbiamo eseguiti in sequenza e più volte su diversi processi per garantire misure di runtime stabili e affidabili.
Nello spirito di collaborazione aperta, abbiamo reso il codice benchmark open source e facile da eseguire. Ciò consente ai contributori di aggiungere facilmente i propri benchmark in base al dispositivo e alla configurazione.
Nota: molte grazie a tutti i contributori, senza i quali questo benchmark non comprenderebbe così tanti chip di base.
Abbiamo eseguito con successo questo benchmark 8 diverso Silicio di mela patatine e 4 alta efficienza GPU CUDA:
Silicio di mela: M1
, M1 Pro
, M2
, M2 Pro
, M2 Max
, M2 Ultra
, M3 Pro
, M3 Max
GPU CUDA: RTX4090 16GB (Laptop)
, Tesla V100 32GB (NVLink)
, Tesla V100 32GB (PCIe)
, A100 80GB (PCIe)
.
Fonte: towardsdatascience.com