Elastic
Jina AI
Modelli
API
keyboard_arrow_down
Lettore
Leggi gli URL e cerca sul web per ottenere LLM più approfonditi.
Incorporamenti
Incorporamenti multimodali multilingue.
Riclassificazione
Strumento di riordinamento per massimizzare la pertinenza dei risultati di ricerca.
Elastic Inference Service
Esegui i modelli Jina in modo nativo all'interno di Elasticsearch.
MCP
terminal
CLI
article
llms.txt
smart_toy
Agenti
data_object
Schema
menu_book
Documenti
Login
login
Efficienza dei Parametri di ModernBERT
Modellazione del Codice di ModernBERT
Gestione del contesto lungo di ModernBERT
La lezione amara?
Conclusione
Blog tecnico
gennaio 22, 2025

Cosa Dovremmo Imparare da ModernBERT?

Dati di addestramento più ampi, dimensionamento efficiente dei parametri e un'architettura profonda ma snella: ModernBERT traccia una direzione per i futuri modelli di tipo BERT.
Nan Wang, Alex C-G • 10 minuti letti

Nel 2018, Google ha rilasciato BERT che ha rivoluzionato il campo del NLP, molto prima dell'attuale ondata di LLM. Ancora oggi, molti Small Language Models sono costruiti su BERT. Nel dicembre 2024, ModernBERT applica ciò che abbiamo imparato dai recenti sviluppi degli LLM a questi modelli più piccoli. I punti chiave? Migliore efficienza dei parametri, comprensione del codice e gestione di contesti lunghi.

In questo post, analizzeremo come ModernBERT si confronta con due modelli che conosciamo a fondo: jina-XLM-RoBERTa (la base multilingua dietro jina-embeddings-v3) e RobERTa-large. Esaminiamo ogni modello:

  • ModernBERT (dic. 2024) è un SLM di recente rilascio, sviluppato in collaborazione da Answer.AI, LightOn e HuggingFace. Sfrutta ottimizzazioni moderne come RoPE per una finestra di contesto di 8.192 token e layer GeGLU, migliorando le prestazioni mantenendo l'efficienza.
  • jina-XLM-RoBERTa (sett. 2024) è un modello di embedding testuale multilingue basato su XLM-RoBERTa di Meta. Mentre l'originale XLM-RoBERTa migliora RoBERTa usando il grande dataset multilingue XLM, jina-XLM-RoBERTa va oltre con training su contesti estesi, implementazione RoPE e supporto FlashAttention-2. Questo modello funge da base per jina-embeddings-v3.
  • RoBERTa-large (luglio 2019) sviluppato da Meta, è una versione migliorata di BERT con 355 milioni di parametri. Attraverso training esteso, dataset più grandi e innovazioni come il masking dinamico, ha raggiunto risultati impressionanti su benchmark chiave tra cui GLUE, SQuAD e RACE. Questo lo rende adatto a vari compiti NLP dalla classificazione del testo alle risposte a domande.

Confrontando questi modelli su tre aspetti fondamentali, puntiamo a evidenziare le efficaci scelte progettuali di ModernBERT per altri sviluppatori di modelli e identificare intuizioni chiave di sviluppo per futuri modelli simili a BERT. Condivideremo anche i nostri apprendimenti dallo sviluppo di jina-embeddings-v3 e discuteremo i miglioramenti pianificati per jina-embeddings-v4 e jina-reranker-v3.

tagEfficienza dei Parametri di ModernBERT

Esaminiamo prima l'approccio di ModernBERT all'efficienza dei parametri - sta introducendo diverse intuizioni chiave dai recenti sviluppi LLM. ModernBERT sfrutta tre strategie principali: un'architettura più profonda ma più sottile, dimensione controllata del vocabolario e upscaling progressivo del modello partendo da modelli più piccoli.

tagArchitettura Deep-And-Thin

ModernBERT-large va più in profondità con 28 layer, mentre jina-XLM-RoBERTa e RoBERTa-large ne hanno 24. Ma ecco la parte interessante - pareggia RoBERTa-large nel conteggio dei parametri nonostante quei layer extra. jina-XLM-RoBERTa necessita di più parametri poiché gestisce 89 lingue, mentre gli altri due si concentrano solo sull'inglese.

La profondità (numero di layer) è più importante della larghezza (numero di unità nascoste) per i piccoli LLM. Una struttura profonda e sottile eccelle nel catturare concetti astratti, risultando in prestazioni finali superiori.

La maggior parte dei parametri di un transformer proviene dai layer di attention e fully-connected. ModernBERT rimane competitivo nelle dimensioni diventando "più sottile" - utilizza 2.624 unità nascoste su 28 layer, rispetto alle 4.096 unità di RoBERTa-large su 24 layer. Questo setup "più profondo" ma più sottile permette loro di raggiungere i loro obiettivi di prestazioni senza gonfiare il modello.

ModernBERT-large jina-XLM-RoBERTa RoBERTa-large
Parameters 400M 550M 355M
Hidden states 1,024 1,024 1,024
Intermediate dims 2,624 4,096 4,096
Attention heads 16 16 16
Layers 28 24 24
Vocabulary size 50,368 250,002 50,265

Questo approccio si allinea con la ricerca MobileLLM di Meta, che ha scoperto che per i modelli più piccoli, la profondità è più importante della larghezza quando si tratta di catturare pattern complessi e guidare le prestazioni. Essenzialmente, la capacità di elaborare informazioni attraverso più layer transformer si rivela più preziosa dell'avere layer più larghi per l'elaborazione parallela.

Diamo un'occhiata ai dati su come si comporta questa architettura deep-and-thin.

Confrontandolo con modelli comparabili che usano l'architettura tradizionale shallow-fat, ModernBERT fornisce risultati migliori su task chiave come retrieval e STS - tutto mentre mantiene simile il conteggio dei parametri.
ModernBERT-large jina-XLM-RoBERTa RoBERTa-large
STS12 72.6 72.7 68.9
STS13 84.9 83.9 81.0
STS14 77.5 77.7 74.8
STS15 84.8 85.8 84.1
STS16 79.4 79.6 78.6
STS17 87.5 87.2 87.2
TRECCOVID 61.1 59.6 49.3
FiQA 44.4 40.0 40.7
NFCorpus 32.6 30.6 27.9
SciFact 68.6 65.5 63.1
Average 69.3 68.2 65.6

Prendiamo jina-XLM-RoBERTa - si basa sull'architettura shallow-fat di RoBERTa-large ma aumenta il vocabolario da 50K a 250K token e si addestra su più dati. Eppure ModernBERT lo supera comunque, suggerendo che il cambiamento architetturale sta facendo una reale differenza in termini di efficienza.

tagLa Dimensione del Vocabolario è Importante

Prima, vediamo come vengono contati i parametri del vocabolario nei transformer. Per qualsiasi transformer, parametri vocabolario = numero di token distinti × dimensione nascosta. Prendiamo jina-XLM-RoBERTa: con 250K token e 1.024 dimensioni, necessita di 256M parametri solo per la codifica del vocabolario - prima di gestire qualsiasi task linguistico!

Nei transformer, il primo strato mappa i token in stati nascosti usando una matrice di pesi, ovvero i pesi del vocabolario. Considerando tutti i code point UTF-8 (1.112.064) con 1.024 dimensioni nascoste, sarebbero necessari ben 1,112,064 × 1,024 = 1 B parametri solo per la conversione dei token. Mentre i LLM più grandi (oltre 100B di parametri) possono gestire questo overhead, è un serio vincolo per i modelli più piccoli. È esattamente per questo che usiamo tokenizer come BPE, che uniscono efficientemente code point UTF-8 comuni in token singoli.

Ma ecco il punto: i pesi del vocabolario non contribuiscono ai meccanismi di attenzione - sono solo tabelle di lookup. Per gli SLM che lavorano con budget di parametri fissi, un vocabolario più ampio significa meno parametri disponibili per i layer di attenzione, che eseguono l'effettiva elaborazione del linguaggio. Questo spiega perché ModernBERT-large solo inglese supera le prestazioni del multilingue jina-XLM-RoBERTa nonostante sia più piccolo - jina-XLM-RoBERTa alloca più parametri (47%!) per supportare più lingue. Il vocabolario focalizzato di ModernBERT non solo migliora le prestazioni ma velocizza anche l'inferenza, rendendolo particolarmente efficace per applicazioni con risorse limitate.

Quindi se ora guardiamo solo i parametri del modello core (escludendo i pesi del vocabolario), ModernBERT ha in realtà più potenza computazionale dei suoi pari: ModernBERT dedica il 19% in più di parametri alla vera modellazione del linguaggio rispetto a jina-XLM-RoBERTa e il 15% in più rispetto a RoBERTa-large!

Specifiche Modello ModernBERT-large jina-XLM-RoBERTa RoBERTa-large
Supporto Lingue Solo Inglese 89 Lingue Solo Inglese
Dimensione Vocabolario 50,4K 250K 50,3K
Parametri Totali 400M 550M 355M
Parametri Vocabolario 51M 256M 51M
Rapporto Parametri Vocabolario 13% 47% 14%
Parametri Modello Core 349M 294M 304M

tagUpscaling del Modello tramite "Weight Tiling"

Nella costruzione del backbone di jina-BERT-v2, abbiamo scoperto che addestrare SLM da zero era dispendioso in termini di risorse e complesso. ModernBERT affronta questo problema con un approccio intelligente di inizializzazione chiamato weight tiling - essenzialmente avviando ModernBERT-large dai pesi della sua versione base più piccola.

Questa tecnica non è del tutto nuova - si basa sul lavoro di DeepMind con Gopher e appare anche nei modelli Phi-2 di Microsoft. Ma la sua applicazione qui è particolarmente efficace per affrontare il collo di bottiglia dell'addestramento SLM.

ModernBERT scala da 22 a 28 layer usando la strategia di inizializzazione della profondità del team Gopher. Per quei layer extra (23-28), inizializzano ciascuno usando i pesi dai 22 layer originali di ModernBERT-base. Per le matrici di pesi di ogni layer, usano l'approccio di tiling centrale di Phi-2. Funziona così: prendono i pesi di ModernBERT-base e li posizionano proprio nel centro delle matrici di ModernBERT-large. Per i bordi ancora vuoti? Avvolgono ciclicamente i pesi originali per riempirli.

Questa strategia di inizializzazione dà a ModernBERT-large un vantaggio significativo - invece di partire da zero, sfrutta i pattern pre-appresi dalla sua controparte più piccola. Si è dimostrata particolarmente efficace per scalare i modelli di linguaggio in questo intervallo di dimensioni.

Troviamo che un modello avviato a caldo si riprende rapidamente da una perdita iniziale elevata (dovuta ai parametri aggiunti) fino a una perdita molto vicina a quella del modello base. Siamo in grado di espandere 417M parametri di oltre 3 volte in dimensione e mantenere prestazioni superiori a un equivalente modello nuovo addestrato da zero fino alla convergenza, implicando che i guadagni non erano limitati all'inizio dell'addestramento. Tuttavia, a dimensioni maggiori, i guadagni relativi raggiunti alla convergenza diminuiscono, specialmente con espansioni in larghezza.

L'avvolgimento ciclico dei pesi non è solo una comodità - si allinea bene con il modo in cui le matrici di attenzione mostrano naturalmente pattern periodici. La ricerca di Gopher mostra che questo approccio brilla davvero per gli SLM (meno di 9B parametri), anche se i benefici iniziano a diminuire quando si passa a modelli più grandi.

tagModellazione del Codice di ModernBERT

ModernBERT porta un approccio specializzato alla comprensione del codice con il suo tokenizer ottimizzato per il codice e i dati di addestramento. Questa messa a punto per l'elaborazione del codice si ripaga sia nei compiti di comprensione che di recupero.

Abbiamo eseguito un benchmark usando il corpus jina-embeddings-v2-code, confrontando tre modelli come backbone: ModernBERT, jina-XLM-RoBERTa, e RoBERTa-large. Il test? CodeSearchNet - abbinare descrizioni testuali a frammenti di codice. ModernBERT ha superato entrambe le alternative su tutta la linea.

Il divario ha senso - né jina-XLM-RoBERTa né RoBERTa-large hanno visto linguaggi di programmazione durante l'addestramento. Nel frattempo, ModernBERT-large si è addestrato su due trilioni di token, inclusa una quantità sostanziale di codice. Questa esposizione alla sintassi e ai pattern di programmazione gli dà un chiaro vantaggio nei compiti relativi al codice. jina-XLM-RoBERTa supera di poco RoBERTa-large, probabilmente grazie ai suoi dati di addestramento multilingue più ampi - stessa architettura, maggiore esposizione. Tuttavia, entrambi sono significativamente indietro rispetto a ModernBERT-large.
Compito ModernBERT-large jina-XLM-RoBERTa RoBERTa-large
AdvRetrieval 0.342 0.363 0.331
QueryRetrieval.python 0.521 0.530 0.525
QueryRetrieval java 0.679 0.633 0.644
QueryRetrieval.javascript 0.755 0.768 0.732
QueryRetrieval.php 0.815 0.781 0.755
QueryRetrieval.ruby 0.729 0.744 0.722
QueryRetrieval.go 0.833 0.809 0.796
Retrieval.go 0.778 0.750 0.759
Retrieval.java 0.840 0.792 0.796
Retrieval.javascript 0.817 0.792 0.757
Retrieval.php 0.852 0.805 0.796
Retrieval.python 0.849 0.816 0.787
Retrieval.ruby 0.849 0.796 0.803
Media 0.743 0.721 0.708

tagIl vantaggio del Tokenizer

Analizziamo perché ModernBERT gestisce così bene il codice - utilizza il tokenizer OLMo, specificamente addestrato sul codice, invece dei tokenizer standard BERT/RoBERTa.

Un tokenizer divide il testo UTF-8 in token che vengono mappati in vettori - questi sono ciò che il modello elabora effettivamente. Durante l'addestramento, impara a combinare sequenze di caratteri che si verificano frequentemente in singoli token. La differenza? Un tokenizer standard potrebbe dividere init in in + it, perdendo il contesto di programmazione. Ma il tokenizer di ModernBERT orientato al codice lo comprende senza spezzarlo.

Ecco dove diventa interessante la gestione degli spazi: ModernBERT preserva gli spazi iniziali di Python come token singoli e differenzia tra 4 e 8 spazi - cruciale per la struttura del codice. Nel frattempo, jina-XLM-RoBERTa comprime tutti gli spazi continui in un singolo _, e RoBERTa-large tratta ogni spazio come un token separato. Questo significa che l'encoder di ModernBERT riceve input più puliti e significativi quando elabora il codice, mentre gli altri lavorano con token frammentati e meno coerenti.

ModernBERT preserva gli spazi iniziali di Python come token singoli e differenzia tra 4 e 8 spazi - cruciale per la struttura del codice; mentre gli altri lavorano con token frammentati e meno coerenti.

tagGestione del contesto lungo di ModernBERT

ModernBERT ha fatto progressi significativi nell'elaborazione di testi lunghi, grazie al suo ampio corpus di addestramento (300B token con campioni da 8.192 token) e tecniche avanzate come l'attenzione combinata globale e locale.

Per valutare le capacità di gestione dei documenti lunghi, abbiamo utilizzato il dataset MLDR - un benchmark completo per testi lunghi che copre 13 lingue. Poiché ModernBERT attualmente supporta solo l'inglese, ci siamo concentrati sul sottoinsieme inglese di MLDR per confrontare ModernBERT con jina-XLM-RoBERTa. Mentre entrambi questi modelli possono gestire input di 8K token, RoBERTa-large è stato escluso da questo benchmark a causa del suo limite di 512 token, insufficiente per l'analisi di testi lunghi.

ModernBERT-large jina-XLM-RoBERTa
MLDR-en 0.351 0.290

Le prestazioni superiori di ModernBERT non sono dovute solo al suo esteso addestramento su testi lunghi - sono in gran parte dovute alla sua innovativa combinazione di meccanismi di attenzione globale e locale. A differenza di jina-XLM-RoBERTa, che applica un'attenzione globale computazionalmente costosa a ogni livello, ModernBERT adotta un approccio più efficiente. Alterna tra attenzione globale (usata ogni terzo livello con un theta di 160.000) e attenzione locale (usando una finestra scorrevole di 128 token con un theta di 100.000). Questa strategia ibrida mantiene alte prestazioni riducendo drasticamente i tempi di addestramento.

In ModernBERT, ogni terzo livello impiega attenzione globale con un theta RoPE di 160.000 e i livelli rimanenti utilizzano una finestra scorrevole locale di 128 token con un theta RoPE di 10.000. —— ModernBERT

tagLa lezione amara?

La legge di scaling e la lezione amara suggeriscono che i principali miglioramenti delle prestazioni derivano principalmente dall'aumento del numero di parametri e dei dati di addestramento. Questo principio ha guidato il nostro approccio di espandere il corpus e utilizzare LoRA per adattamenti specifici ai task.

Tuttavia, il successo di ModernBERT ha rivelato che abbiamo sottovalutato il potere dell'ottimizzazione architettonica. Dimostra che gli SLM possono raggiungere risultati eccezionali attraverso una migliore efficienza dati-modello, senza necessariamente aumentare i parametri. Un recente report tecnico di Stella Embeddings rafforza questa scoperta, indicando che gli attuali metodi di addestramento dei modelli di embedding possono essere migliorati senza aumentare le dimensioni del corpus o del modello.

Graph showing Scaling Law of Embedding Models with 'Parameter Size' on the x-axis and 'MTEB Performance' on the y-axis, featu
Legge di scaling dei modelli di embedding. La performance media MTEB sui task in inglese è tracciata rispetto al numero di parametri del modello. Ogni punto rappresenta un modello di embedding. La linea di tendenza, che rappresenta tutti i modelli, è evidenziata, con i modelli multilingue enfatizzati in ciano. Si può vedere che jina-embeddings-v3 dimostra prestazioni superiori rispetto ai modelli di dimensioni simili, mostrando anche un miglioramento superlineare rispetto al suo predecessore, jina-embeddings-v2. Questo grafico è stato creato selezionando i primi 100 modelli di embedding dalla classifica MTEB, escludendo quelli senza informazioni sulle dimensioni, tipicamente modelli closed-source o proprietari. Sono state filtrate anche le submission identificate come trolling evidente.

Andando avanti, prevediamo costi computazionali inferiori e dimensioni dei modelli più piccole man mano che acquisiamo una comprensione più profonda dell'utilizzo dei dati e implementiamo le tecniche di ModernBERT. Nel breve termine, possiamo implementare i miglioramenti diretti delineati nel paper di ModernBERT - in particolare integrando più dati relativi al codice e adottando un tokenizer ottimizzato per il codice. Cambiamenti più complessi, come il passaggio a un'architettura deep-and-thin o il bootstrapping di modelli grandi da quelli più piccoli, richiederanno la costruzione di modelli backbone da zero - un'iniziativa a medio termine.

Mentre l'efficienza di ModernBERT è notevole, la sua limitazione al solo testo indica sfide future. Con la crescente popolarità dei modelli di embedding multimodali, la nostra prossima sfida è sviluppare modelli di ricerca fondamentali più intelligenti, veloci e capaci che possano gestire input per applicazioni multimodali. Queste applicazioni richiedono finestre di contesto ancora più lunghe - una sfida di efficienza che resta da risolvere.

tagConclusione

In questo post, abbiamo esplorato come ModernBERT fa avanzare i modelli della famiglia BERT attraverso tre innovazioni chiave: la sua architettura deep-and-thin, il tokenizer ottimizzato e lo scaling efficiente utilizzando il weight tiling. Questi miglioramenti permettono a ModernBERT di offrire prestazioni eccezionali in dimensioni relativamente compatte, superando sia RoBERTa-large che jina-XLM-RoBERTa in vari task. ModernBERT dimostra che i miglioramenti architettonici possono contare più delle dimensioni dei parametri, aprendo le porte a modelli più efficienti. Il suo uso efficace del weight tiling mostra come lo scaling progressivo possa ridurre i costi di addestramento mantenendo o addirittura migliorando le prestazioni. Inoltre, il suo vocabolario compatto e le ottimizzazioni mirate suggeriscono crescenti opportunità per SLM specializzati in ambienti con risorse limitate.

Categorie:
Blog tecnico
rss_feed

Per saperne di più
marzo 11, 2026 • 7 minuti letti
Bootstrapping Audio Embeddings from Multimodal LLMs
Han Xiao
Abstract illustration of a sound wave or heartbeat, formed by blue, orange, and gray dots on a white background.
marzo 06, 2026 • 6 minuti letti
Identifying Embedding Models from Raw Numerical Values
Han Xiao
Fingerprint illustration made from numbers, showcasing digital and high-tech design on a light background.
settembre 09, 2025 • 11 minuti letti
Multimodal Embeddings in Llama.cpp and GGUF
Andrei Ungureanu
Alex C-G
Cartoon llama in the center of a white background, emitting laser-like beams from its eyes. The illustration creates a playfu
Lingua / tema attuale
Search Foundation
Lettore
Incorporamenti
Riclassificazione
Ottieni la chiave API Jina
Limite di velocità
Chi siamo
Notizia
Scarica il logo Jina
open_in_new
Scarica il logo Elastic
open_in_new
Stato dell'API
Elastic © 2026.SicurezzaTermini & CondizioniPrivacyGestisci i cookieNon vendere né condividere le mie informazioni personali
Questo sito web e tutti i contenuti, software, prodotti e servizi ad esso associati sono destinati esclusivamente all'uso professionale. Non è previsto né raccomandato alcun utilizzo da parte dei consumatori.