StableCode è un nuovo modello generativo di Stability AI, la stessa società che sta dietro alla piattaforma Stable Diffusione per la generazione di immagini da prompt e che recentemente ha lanciato il servizio image-to-video Stable Video Diffusion. StableCode si differenzia dai suoi predecessori per essere un LLM (Large Language Model) in grado di produrre codice. In pratica uno strumento per programmatori e sviluppatori con la caratteristica di supportare diversi tra i linguaggi più utilizzati.
Tre modelli per gli sviluppatori
Tra questi ultimi abbiamo per esempio JavaScript, Python, Java, Go, C, C++ e Markdown. In pratica (quasi) tutto quello che serve ad un professionista del coding messo a disposizione in tre release differenti.
🚀Exciting news! Stability AI has launched StableCode, the revolutionary generative AI LLM for coding!
💡 Developers, get ready to level up your coding game! #AI #Coding #StableCode #StabilityAIhttps://t.co/XFrV36JMMu
— Stability AI (@StabilityAI) August 8, 2023
Quella "base" è stata addestrata tramite stack-dataset in versione 1.2, BigCode e documentazione relativa ai linguaggi supportati. Esiste poi un "instruction model" il cui training è stato effettuato appositamente per aiutare i gli sviluppatori nella soluzione dei task di programmazione più complessi. Il modello più avanzato si basa infine su finestre ad ampio contesto e si presenta come uno strumento ideale con cui ricevere suggerimenti per l'autocompletamento del codice.
Quest'ultimo è stato progettato per gestire una maggiore quantità di codice in simultanea, dalle 2 alle 4 volte più dei modelli Open rilasciati in precedenza con una finestra di contesto pari a 16 mila token. Esso consente di revisionare o modificare contemporaneamente fino a cinque file Python di medie dimensioni e attualmente non esisterebbe un altro modello in grado di fare altrettanto.
Da BigCode a StableCode
Come anticipato, StableCode è stato addestrato a partire dai dataset di BigCode appositamente filtrati per fornire output quanto più accurati possibili. Quest'ultimo è nello stesso tempo una raccolta di dati e un approccio al training degli LLM per il coding. Esso sfrutta l'enorme quantità di codice disponibile pubblicamente online per istruire i modelli di machine learning a comprendere e interpretare e generare codice. Nello stesso modo può essere utile per supportare le sessioni di programmazione assistita e fornire suggerimenti su correzioni o ottimizzazioni in fase di programmazione.
Date le sue caratteristiche potrebbe risultare un'alternativa valida a GitHub Copilot che, al momento, rappresenta il soggetto dominante nel settore degli LLM prestati al coding.