Nel dicembre 2023, Apple ha rilasciato il nuovo Framework di apprendimento profondo MLXun framework di array per l’apprendimento automatico su silicio Apple, sviluppato dal loro team di ricerca sull’apprendimento automatico. Questo tutorial esplorerà il framework e dimostrerà la distribuzione locale del modello Mistral-7B su un MacBook Pro (MBP). Imposteremo un’interfaccia di chat locale per interagire con il modello distribuito e testare le sue prestazioni di inferenza in termini di token generati al secondo. Inoltre, approfondiremo l’API MLX per comprendere le leve disponibili per modificare il comportamento del modello e influenzare il testo generato.
Come al solito, il codice è disponibile in un repository GitHub pubblico: https://github.com/marshmellow77/mlx-deep-dive
Il nuovo framework di machine learning di Apple, MLX, offre notevoli vantaggi rispetto ad altri framework di deep learning con la sua architettura di memoria unificata per l’apprendimento automatico su silicio Apple. A differenza dei framework tradizionali come PyTorch e Jax, che richiedono costose copie dei dati tra CPU e GPU, MLX mantiene i dati nella memoria condivisa accessibile a entrambi. Questo design elimina il sovraccarico dei trasferimenti di dati, facilitando un’esecuzione più rapida, in particolare con i set di dati di grandi dimensioni comuni nell’apprendimento automatico. Per attività ML complesse sui dispositivi Apple, l’architettura di memoria condivisa di MLX potrebbe portare a notevoli accelerazioni. Questa funzionalità rende MLX estremamente rilevante per gli sviluppatori che desiderano eseguire modelli su dispositivi, come sugli iPhone.
Grazie all’esperienza di Apple nella progettazione del silicio, MLX suggerisce le interessanti funzionalità che potrebbero essere integrate nei loro chip per future applicazioni AI sui dispositivi. Il potenziale di MLX per accelerare e semplificare le attività di ML sulle piattaforme Apple lo rende un framework che gli sviluppatori dovrebbero tenere d’occhio.
Prima di distribuire il modello, sono necessarie alcune impostazioni. Innanzitutto è essenziale installare alcune librerie. Ricordatevi di creare un ambiente virtuale prima di procedere con le installazioni:
pip install mlx-lm
Fonte: towardsdatascience.com