Andrej Karpathy, precedentemente nel team fondatore di OpenAI e Direttore di AI presso Tesla, ha rilasciato il suo secondo progetto educativo sui Modelli di Linguaggio (LLM).

Questo progetto si concentra sull’addestramento di un modello GPT-2 con 124 milioni di parametri su una CPU utilizzando solo C/CUDA, evitando PyTorch.

Il codice contiene circa 1.000 righe di codice in un unico file, permettendo l’addestramento di GPT-2 su una CPU con precisione a 32 bit.

Questa è una risorsa fenomenale per capire come vengono addestrati i modelli di linguaggio.

Karpathy ha scelto GPT-2 perché i pesi del suo modello sono pubblicamente disponibili. Il progetto utilizza C per la sua semplicità e interazione diretta con l’hardware.

Inizialmente, il repository permette di scaricare e tokenizzare un piccolo dataset su cui il modello viene addestrato. In teoria, il modello potrebbe essere addestrato direttamente su questo dataset.

Tuttavia, l’attuale implementazione CPU/fp32 è ancora inefficiente, il che rende non pratico addestrare questi modelli da zero. Invece, i pesi di GPT-2 rilasciati da OpenAI vengono inizializzati e perfezionati sul dataset tokenizzato.

Karapthy sta attualmente lavorando su:

implementazione diretta di CUDA, che sarà significativamente più veloce e probabilmente si avvicinerà a PyTorch. accelerare la versione CPU con istruzioni SIMD, AVX2 su x86 / NEON su ARM (ad esempio, Apple Silicon) ,architetture più moderne, ad esempio Llama2, Gemma, ecc.

Il lavoro di Karpathy contribuisce significativamente alla comunità open-source e al campo dell’IA. Questo secondo progetto educativo va un passo avanti nella democratizzazione dell’IA mostrando come un modello può essere addestrato e ottimizzato utilizzando un singolo file di codice.

Andrey Karpathy: “Scrivere il codice di addestramento llm.c sarebbe a mio parere una sfida molto interessante, impressionante, autonoma e molto meta per gli agenti LLM.”

Dave Deriso: “Spero che più sviluppatori riscoprano l’efficienza elegante del C, soprattutto ora che i copiloti llm aiutano a ridurre le barriere intensive di memoria nel richiamare la sintassi e le molte funzioni integrate.”