Tradotto dall'originale inglese. Dati e fonti restano invariati. Leggi l'originale in inglese

Dichiarato dall'aziendaOperativo da 2025Aggiunto il ott 2026

JetBrains

Il modello interno Mellum di JetBrains porta il codice scritto con il completamento da 0,25 a 0,39 in Python

JetBrains ha addestrato un proprio modello da 4 miliardi di parametri, Mellum, per alimentare il completamento del codice nel cloud nei suoi strumenti per sviluppatori. Gli autori di JetBrains riferiscono che in produzione la quota di codice scritto con il completamento è aumentata in ogni linguaggio misurato, per esempio da 0,25 a 0,39 in Python, rispetto al modello locale più piccolo.

Dati chiave

Copiati esattamente dalle fonti. Copiate qualsiasi dato insieme alla sua citazione.

0,39

(cloud) contro 0,25 (locale)

Ratio of Completed Code (quota di codice scritto con il completamento) in produzione, Python: completamento nel cloud rispetto al modello locale più piccolo di JetBrains1

0,49

(cloud) contro 0,42 (locale)

Ratio of Completed Code in produzione, Java: completamento nel cloud rispetto al modello locale1

0,45

(cloud) contro 0,31 (locale)

Ratio of Completed Code in produzione, PHP: completamento nel cloud rispetto al modello locale1

0,42

(cloud) contro 0,28 (locale)

Ratio of Completed Code in produzione, JS/TS: completamento nel cloud rispetto al modello locale1

Cosa è servito

CostiNon reso noto
TeamNon reso noto
TempiNon reso noto

Le fonti non rendono noti costi, dimensioni del team e tempi.

Il problema

Gli sviluppatori si aspettano che i loro strumenti di programmazione completino righe e blocchi di codice mentre scrivono. La maggior parte degli strumenti di questo tipo si affida a servizi chiusi di altri fornitori o a grandi modelli di chat, che secondo JetBrains sono costosi e lenti per un uso alla velocità di digitazione e hanno licenze che complicano la ridistribuzione. JetBrains distribuiva inoltre già un piccolo modello di completamento che gira sul computer di ogni utente, e voleva una qualità superiore senza il ritardo di un modello grande.

Cosa hanno costruito

JetBrains ha addestrato Mellum, un modello da 4 miliardi di parametri costruito solo per il completamento del codice, e lo usa per il completamento nel cloud nei suoi strumenti per sviluppatori. È stato addestrato da zero su codice con licenze permissive. La versione rilasciata è a pesi aperti con licenza Apache-2.0 (i file sono pubblicati, quindi chiunque può eseguirli e adattarli). Il documento dice che i modelli in produzione sono simili a quelli rilasciati, ma non identici.

Come ci sono riusciti

L'addestramento ha avuto più fasi: un ampio pre-addestramento sul codice, poi un addestramento a riempire la parte centrale di un file, poi un addestramento con il contesto del progetto tratto da altri file e infine una fase di preferenze che scoraggia output inutili come istruzioni vuote e generazione infinita. Il team ha tenuto il modello piccolo perché risponda in fretta e stia su GPU economiche. La qualità è stata verificata offline su benchmark e online con la telemetria degli utenti negli strumenti.

Risultati

Nella telemetria di produzione, la quota di codice scritto con il completamento era più alta per il modello cloud che per quello locale in tutti e nove i linguaggi, per esempio 0,39 contro 0,25 in Python e 0,49 contro 0,42 in Java. La quota di suggerimenti accettati era più alta nella maggior parte dei linguaggi, come Python con 0,34 contro 0,26, ma uguale per Java e Rust e più bassa per Go e PHP. Una singola richiesta richiede 400 ms sul backend, 700 ms nei picchi.

Cosa replicare

Se il caso d'uso è circoscritto e la latenza conta, provare un piccolo modello costruito apposta prima di uno grande e generalista. Misurarlo sull'uso reale e tenere sia una metrica di utilizzo sia una di qualità, perché possono divergere.

Tutti i dati dichiarati

IndicatoreDatoCitazione
Ratio of Completed Code (quota di codice scritto con il completamento) in produzione, Python: completamento nel cloud rispetto al modello locale più piccolo di JetBrains0,39 (cloud) contro 0,25 (locale)1
Ratio of Completed Code in produzione, Java: completamento nel cloud rispetto al modello locale0,49 (cloud) contro 0,42 (locale)1
Ratio of Completed Code in produzione, PHP: completamento nel cloud rispetto al modello locale0,45 (cloud) contro 0,31 (locale)1
Ratio of Completed Code in produzione, JS/TS: completamento nel cloud rispetto al modello locale0,42 (cloud) contro 0,28 (locale)1
Tasso di accettazione (quota di suggerimenti mostrati che gli utenti hanno accettato) in produzione, Python: modello cloud rispetto al modello locale0,34 (cloud) contro 0,26 (locale)1
Tasso di accettazione in produzione, Java: modello cloud rispetto al modello locale0,34 (cloud) contro 0,34 (locale)1
Tempo impiegato da una singola richiesta di completamento sul backend, tipico e nei picchi della giornata lavorativa400 ms (tipico), 700 ms (picco)1

Lezioni per il vostro progetto

  1. Un modello piccolo costruito per un solo compito può bastare. JetBrains ha scelto un modello da 4 miliardi di parametri perché risponda in fretta e stia su GPU economiche, e dice che un'architettura più grande potrebbe ottenere punteggi migliori offline, ma sarebbe più lenta.

  2. Giudicare la qualità sull'uso reale, non solo sui set di test. JetBrains misura quanto codice gli utenti scrivono davvero con il completamento e quanti suggerimenti accettano.

  3. Controllare cosa nasconde una metrica. Il tasso di accettazione è rimasto invariato per Java ed è stato più basso per Go e PHP con il modello cloud, anche se la quota di codice completato è salita; conviene quindi leggerle entrambe.

  4. Valutare licenze e governance quando si sceglie un modello. JetBrains dice che le licenze restrittive e i dati di addestramento poco chiari dei modelli disponibili l'hanno spinta ad addestrare il proprio su codice con licenze permissive.

Avvertenze

  • Tutti i dati provengono da un preprint di dipendenti di JetBrains sul prodotto della stessa JetBrains. Nessuna parte esterna li ha verificati.
  • I modelli di produzione sono simili, ma non identici, ai modelli Mellum rilasciati. Il documento dice che i modelli di produzione sono stati addestrati su circa 3 mila miliardi di token, contro 4 mila miliardi per quelli rilasciati in open source, e che i risultati offline sono quasi uguali. Qui si usa solo la telemetria di produzione.
  • Il confronto è tra il modello cloud e un altro modello di completamento, locale, circa 40 volte più piccolo. Non è un confronto con l'assenza di IA, e il documento non descrive i gruppi di utenti né il periodo, quindi le differenze potrebbero non dipendere solo dal modello.
  • Il Ratio of Completed Code conta i caratteri scritti con il completamento, compreso il completamento integrato dell'IDE, come quota di tutto il codice scritto. Misura quanto codice produce il completamento, non il tempo risparmiato dagli sviluppatori né la qualità del codice.
  • Il tasso di accettazione del modello cloud è inferiore a quello locale per Go (0,38 contro 0,42) e PHP (0,31 contro 0,32), e uguale per Java e Rust. Il documento dice che il completamento nel cloud in genere lo aumenta.
  • Nessuna delle due fonti indica una data di avvio. La data di implementazione è indicata come 2025 solo perché il documento, pubblicato a ottobre 2025, riferisce che il modello cloud era già in produzione; potrebbe essere partito prima. Un post del blog di JetBrains dice che Mellum è stato addestrato da zero per alimentare il completamento nel cloud, ma la pagina non riporta alcuna data.
  • Il documento parla in un punto di centinaia di migliaia di utenti del servizio cloud e in un altro di milioni. I volumi non sono un risultato.

Fonti

  1. Mellum: Production-Grade in-IDE Contextual Code Completion with Multi-File Project Understanding

    arXiv (JetBrains authors) · 2025-10-07 · Articolo di ricerca · arxiv.org

  2. Mellum Goes Open Source: A Purpose-Built LLM for Developers, Now on Hugging Face

    The JetBrains Blog · Senza data · Blog aziendale · blog.jetbrains.com

Riassunto con parole nostre a partire dalle fonti sopra indicate. Avete notato un errore? Consultate le rettifiche.