Corso
Dalla pubblicazione di ChatGPT alla fine del 2022 (l’evento che ha inaugurato l’attuale rivoluzione dell’IA), i modelli di IA generativa sono diventati più potenti e diversificati. Ogni giorno arrivano sul mercato nuovi modelli con dimensioni, funzionalità, modalità d’uso e applicazioni differenti, rendendo sempre più difficile stabilire i limiti del possibile.
Nel complesso, si osserva una chiara tendenza a sviluppare modelli sempre più grandi e complessi. Aumentare il numero di parametri e la quantità di dati di addestramento è ritenuta la strategia migliore per migliorare le prestazioni dei large language model (LLM), la tecnologia alla base dei modelli di IA generativa. Dai un’occhiata al nostro articolo dedicato per scoprire nel dettaglio che cosa sono gli LLM.
Tuttavia, alla luce delle crescenti preoccupazioni sulle risorse necessarie per addestrare ed eseguire questi grandi modelli (così come la loro impronta ambientale), l’efficienza nello sviluppo e nella messa in produzione dell’IA sta guadagnando rapidamente terreno.
In questo articolo presenteremo Stable Code 3B, l’ultimo modello rilasciato da Stability AI, progettato specificamente per un coding accurato e reattivo. Estremamente preciso nei compiti di programmazione, questo LLM offre prestazioni al livello dello stato dell’arte riducendo considerevolmente le sue dimensioni.
Che cos’è Stable Code 3B?
Rilasciato da Stability AI a gennaio 2024, Stable Code 3B è un LLM da 3 miliardi di parametri sviluppato per scopi di programmazione. È una versione avanzata del suo predecessore, Stable Code Alpha 3B.
Stable Code 3B eccelle nei task di completamento del codice e può essere usato come ottimo strumento didattico per chi muove i primi passi nella programmazione. Il modello è disponibile gratuitamente per ricerca o uso personale. Per applicazioni commerciali, è necessario sottoscrivere uno dei Membership di Stability AI.
Stable Code 3B è tra i migliori prodotti nella fascia di LLM della stessa dimensione (trovi maggiori dettagli sulle metriche di performance nella prossima sezione), ottenendo ottimi risultati con dimensioni significativamente inferiori. Grazie al design compatto e all’efficienza, Stable Code 3B può funzionare offline su comuni laptop, anche senza GPU dedicata, come un MacBook Air.
Come funziona Stable Code 3B?
Stable Code 3B è un modello compatto con 2,7 miliardi di parametri. È un transformer decoder-only simile al LLaMA open-source di Meta. Dai un’occhiata al nostro articolo dedicato per conoscere tutti i dettagli su LLaMA.
Il processo di addestramento di Stable Code 3B si ispira chiaramente a CodeLLaMA di Meta. Il modello parte dall’LLM pre-addestrato di Stability AI, StableLM-3b-4e1t, che funge da foundation model.
Questo modello ha seguito un processo di fine-tuning in due fasi. Nella prima, è stato addestrato su diversi dataset di codice e correlati al codice, tra cui CommitPack, GitHub Issues, StarCoder e altri dataset di matematica. I dati di training comprendono codice da 18 linguaggi di programmazione ampiamente utilizzati, tra cui Python, R, Java e C.
Successivamente, il modello è stato ulteriormente perfezionato con sequenze più lunghe da 16.384 token utilizzando tecniche di fill-in-the-middle, come suggerito nel paper di ricerca di CodeLLama. La seconda fase permette al modello di supportare finestre di contesto lunghe fino a 100k token. Questo è particolarmente adatto ai task di programmazione. Con la possibilità di fornire input più lunghi, gli sviluppatori possono dare al modello più contesto e blocchi di codice più estesi dalla propria codebase per generare output più pertinenti e accurati.
Metriche di performance di Stable Code 3B
Gli sviluppatori di Stability AI hanno creato un modello che raggiunge prestazioni all’avanguardia rispetto a modelli di dimensioni simili sulle metriche MultiPL-E attraverso molteplici linguaggi di programmazione testati. Il confronto è illustrato nella seguente immagine:

Confronto delle prestazioni Multi-PL dei modelli sotto i 3B. Fonte: Stability AI
Stabe Code 3B eccelle anche rispetto a modelli significativamente più grandi. Per esempio, raggiunge lo stesso livello di prestazioni di CodeLLaMA 7b, la sua principale ispirazione, con una riduzione delle dimensioni del 60%.

Confronto tra Stable Code Completion 3B e CodeLLama 7B. Fonte: Stability AI
Applicazioni di Stable Code 3B
Gli assistenti di coding basati sull’IA come Stable Code 3B offrono molte opportunità nello sviluppo software e nell’analisi dei dati. Ecco alcuni dei modi in cui i programmatori stanno già usando l’IA:
Automazione dei task
Stable Code 3B può automatizzare senza sforzo compiti ripetitivi e noiosi, come eseguire query SQL di base, svolgere analisi esplorative dei dati e ottimizzare i progetti di data science. Questo può aiutare i programmatori a saltare le attività che richiedono molto tempo e a concentrarsi su lavori più complessi e stimolanti. Per scoprire come funziona in pratica, dai un’occhiata alla nostra guida illustrativa all’uso di ChatGPT per la data science.
Correzione di bug
Il debugging richiede spesso molto tempo e può essere impegnativo, soprattutto su progetti complessi con centinaia di righe di codice. Stable Code 3B è l’assistente perfetto per velocizzare questo processo, analizzando il tuo codice in pochi secondi e fornendo suggerimenti di struttura e di codice per risolvere i problemi. Grazie alla lunga finestra di contesto, puoi fornire al modello script di grandi dimensioni e Stable Code 3B individuerà potenziali errori e insidie nel tuo codice.
Ottimizzazione del codice
Quando si lavora su progetti complessi che richiedono grandi risorse computazionali, l’efficienza è fondamentale. Il modo in cui è scritto il codice può incidere pesantemente sull’efficienza. Stable Code 3B può aiutarti a riscrivere il tuo codice per migliorarne l’efficienza, facendoti risparmiare tempo, risorse e denaro.
Interpretabilità del codice
A volte comprendere il codice altrui può essere difficile, soprattutto per chi è alle prime armi. Stable Code 3B non solo può suggerire miglioramenti al codice, ma anche fornire spiegazioni dettagliate su un determinato frammento, aiutandoti così a imparare più velocemente.
Per scoprire come l’IA generativa possa essere usata a fini didattici, ti consigliamo vivamente di provare DataCamp Workspace. Usiamo i modelli GPT 3.5 e GPT-4 per potenziare il nostro IDE di data science e aiutarti a comprendere la sintassi complessa. Consulta la nostra guida dedicata per iniziare con DataCamp Workspace.
Come scaricare il modello Stable Code 3B
Il modo migliore per iniziare con Stable Code 3B è tramite la HuggingFace API. Puoi importare facilmente il modello nel tuo ambiente Python e iniziare a generare testo con il seguente codice:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("stabilityai/stable-code-3b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
"stabilityai/stable-code-3b",
trust_remote_code=True,
torch_dtype="auto",
)
model.cuda()
inputs = tokenizer("import torch\nimport torch.nn as nn", return_tensors="pt").to(model.device)
tokens = model.generate(
**inputs,
max_new_tokens=48,
temperature=0.2,
do_sample=True,
)
print(tokenizer.decode(tokens[0], skip_special_tokens=True))
Come usare Stable Code 3B per applicazioni commerciali
Come già detto, Stable Code 3B è disponibile gratuitamente per ricerca o uso personale. Per applicazioni commerciali, è necessario sottoscrivere uno dei Membership di Stability AI.
Attualmente, Stability AI offre due tipi di membership oltre a quella non commerciale, come illustrato nella seguente immagine:

La membership Professional costa 20 $ al mese e offre accesso e diritto d’uso commerciale dei Core Models di Stability AI, che includono modelli per generazione di immagini, video, 3D, testo e codice. La membership Enterprise è pensata per le grandi aziende e prevede prezzi personalizzati e un set di funzionalità enterprise.
Per saperne di più
Per chi lavora con i dati sono tempi entusiasmanti. Il settore è sull’orlo di una trasformazione grazie all’adozione massiccia di strumenti di IA generativa come Stable Code 3B.
Il modo migliore per orientarsi nella rivoluzione dell’IA in corso è restare aggiornati. DataCamp ti copre le spalle. Scopri i nostri articoli dedicati ad altri potenti strumenti di IA generativa:
Sono una data analyst freelance e collaboro con aziende e organizzazioni di tutto il mondo in progetti di data science. Sono anche un'insegnante di data science con oltre 2 anni di esperienza. Scrivo regolarmente articoli su temi legati alla data science in inglese e spagnolo, alcuni dei quali sono stati pubblicati su siti affermati come DataCamp, Towards Data Science e Analytics Vidhya. Come data scientist con un background in scienze politiche e diritto, il mio obiettivo è lavorare all'intersezione tra politiche pubbliche, diritto e tecnologia, sfruttando la forza delle idee per promuovere soluzioni e narrazioni innovative che ci aiutino ad affrontare le sfide urgenti, in primis la crisi climatica. Mi considero autodidatta, una persona in continuo apprendimento e una convinta sostenitrice dell'approccio multidisciplinare. Non è mai troppo tardi per imparare cose nuove.


