Instructions to use Itau-Unibanco/NorBERTo-large with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Itau-Unibanco/NorBERTo-large with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("fill-mask", model="Itau-Unibanco/NorBERTo-large")# Load model directly from transformers import AutoTokenizer, AutoModelForMaskedLM tokenizer = AutoTokenizer.from_pretrained("Itau-Unibanco/NorBERTo-large") model = AutoModelForMaskedLM.from_pretrained("Itau-Unibanco/NorBERTo-large") - Inference
- Notebooks
- Google Colab
- Kaggle
Note: This document is available both in english and portuguese. The portuguese version can be found bellow the english one
NorBERTo
NorBERTo is a pretrained ModernBERT encoder for Brazilian Portuguese that achieves state-of-the-art performance on Portuguese NLP benchmarks, including PLUE and ASSIN 2 textual entailment. It is available in two sizes: Base and Large.
NorBERTo is trained on Aurora-PT, a 331-billion-token Brazilian Portuguese corpus developed by Itaú Unibanco and ICTi. Compared to previous Portuguese encoders, NorBERTo features long-context support (up to 8,192 tokens), efficient local–global attention (RoPE), and a vocabulary trained on Portuguese data.
For further information, please refer to the paper or the Aurora-PT dataset.
Available models
| Model | Architecture | #Layers | #Params |
|:------|:------------:|:-------:|:-------:|
| Itau-Unibanco/NorBERTo-base | ModernBERT-Base | 22 | ~150M |
| Itau-Unibanco/NorBERTo-large | ModernBERT-Large | 28 | ~395M |
Usage
from transformers import AutoTokenizer, AutoModel
model = AutoModel.from_pretrained('Itau-Unibanco/NorBERTo-base')
tokenizer = AutoTokenizer.from_pretrained('Itau-Unibanco/NorBERTo-base')
Masked language modeling
from transformers import pipeline
pipe = pipeline('fill-mask', model='Itau-Unibanco/NorBERTo-base')
pipe('O Brasil é um país de dimensões [MASK].')
For embeddings
import torch
model = AutoModel.from_pretrained('Itau-Unibanco/NorBERTo-base')
tokenizer = AutoTokenizer.from_pretrained('Itau-Unibanco/NorBERTo-base')
input_ids = tokenizer.encode('O Brasil é um país de dimensões continentais.', return_tensors='pt')
with torch.no_grad():
outs = model(input_ids)
encoded = outs[0][0, 1:-1] # Ignore [CLS] and [SEP] special tokens
Results
ASSIN 2
| Model | Size | Entailment F1 | Similarity (Pearson) |
|:------|:----:|:-------------:|:--------------------:|
| Albertina PT-BR | base | 0.874 | 0.826 |
| BERTimbau | base | 0.883 | 0.836 |
| BERTimbau | large | 0.889 | 0.852 |
| mmBERT | base | 0.896 | 0.821 |
| NorBERTo | base | 0.890 | 0.736 |
| NorBERTo (cross encoder) | large | 0.903 | 0.766 |
| NorBERTo (sequence classification) | large | 0.904 | — |
PLUE
| Model | Size | MRPC | RTE | WNLI |
|:------|:----:|:----:|:---:|:----:|
| Albertina PT-BR | base | 0.878 | 0.646 | 0.549 |
| BERTimbau | large | 0.887 | 0.755 | 0.563 |
| mmBERT | base | 0.905 | 0.758 | 0.563 |
| NorBERTo | base | 0.893 | 0.722 | 0.577 |
| NorBERTo | large | 0.919 | 0.769 | 0.577 |
Citation
If you use our work, please cite:
@misc{silva2026norberto,
author = {Enzo S. N. Silva and Pablo B. Costa and Raphael C. Vlasman and Rosimeire P. Costa and Henrique L. P. Silva and Lucas F. A. O. Pellicer and Guilherme Rinaldo and Renato A. Almeida and Darian S. R. Rabbani and Cinthya O. Oestreich and Vinicius F. Caridá},
title = {NorBERTo: A ModernBERT Model Trained for Portuguese with 331 Billion Tokens Corpus},
year = {2026},
eprint = {2605.00086},
archivePrefix = {arXiv},
primaryClass = {cs.CL},
url = {https://arxiv.org/abs/2605.00086}
}
Português
NorBERTo
NorBERTo é um encoder ModernBERT pré-treinado para o português brasileiro que alcança resultados estado da arte em benchmarks de PLN em português, incluindo PLUE e inferência textual no ASSIN 2. Está disponível em dois tamanhos: Base e Large.
O NorBERTo foi treinado no Aurora-PT, um corpus de 331 bilhões de tokens em português brasileiro desenvolvido pelo Itaú Unibanco e pelo ICTi. Em comparação com encoders anteriores para o português, o NorBERTo oferece suporte a contextos longos (até 8.192 tokens), atenção local–global eficiente (RoPE) e vocabulário treinado em dados em português.
Para mais informações, consulte o artigo ou o dataset Aurora-PT.
Modelos disponíveis
| Modelo | Arquitetura | #Camadas | #Parâmetros |
|:-------|:-----------:|:--------:|:-----------:|
| Itau-Unibanco/NorBERTo-base | ModernBERT-Base | 22 | ~150M |
| Itau-Unibanco/NorBERTo-large | ModernBERT-Large | 28 | ~395M |
Como usar
from transformers import AutoTokenizer, AutoModel
model = AutoModel.from_pretrained('Itau-Unibanco/NorBERTo-base')
tokenizer = AutoTokenizer.from_pretrained('Itau-Unibanco/NorBERTo-base')
Masked language modeling
from transformers import pipeline
pipe = pipeline('fill-mask', model='Itau-Unibanco/NorBERTo-base')
pipe('O Brasil é um país de dimensões [MASK].')
Para embeddings
import torch
model = AutoModel.from_pretrained('Itau-Unibanco/NorBERTo-base')
tokenizer = AutoTokenizer.from_pretrained('Itau-Unibanco/NorBERTo-base')
input_ids = tokenizer.encode('O Brasil é um país de dimensões continentais.', return_tensors='pt')
with torch.no_grad():
outs = model(input_ids)
encoded = outs[0][0, 1:-1] # Ignore [CLS] e [SEP]
Resultados
ASSIN 2
| Modelo | Tamanho | F1 Inferência | Similaridade (Pearson) |
|:-------|:-------:|:-------------:|:----------------------:|
| Albertina PT-BR | base | 0,874 | 0,826 |
| BERTimbau | base | 0,883 | 0,836 |
| BERTimbau | large | 0,889 | 0,852 |
| mmBERT | base | 0,896 | 0,821 |
| NorBERTo | base | 0,890 | 0,736 |
| NorBERTo (cross encoder) | large | 0,903 | 0,766 |
| NorBERTo (sequence classification) | large | 0,904 | — |
PLUE
| Modelo | Tamanho | MRPC | RTE | WNLI |
|:-------|:-------:|:----:|:---:|:----:|
| Albertina PT-BR | base | 0,878 | 0,646 | 0,549 |
| BERTimbau | large | 0,887 | 0,755 | 0,563 |
| mmBERT | base | 0,905 | 0,758 | 0,563 |
| NorBERTo | base | 0,893 | 0,722 | 0,577 |
| NorBERTo | large | 0,919 | 0,769 | 0,577 |
Citação
Se utilizar este trabalho, por favor cite:
@misc{silva2026norberto,
author = {Enzo S. N. Silva and Pablo B. Costa and Raphael C. Vlasman and Rosimeire P. Costa and Henrique L. P. Silva and Lucas F. A. O. Pellicer and Guilherme Rinaldo and Renato A. Almeida and Darian S. R. Rabbani and Cinthya O. Oestreich and Vinicius F. Caridá},
title = {NorBERTo: A ModernBERT Model Trained for Portuguese with 331 Billion Tokens Corpus},
year = {2026},
eprint = {2605.00086},
archivePrefix = {arXiv},
primaryClass = {cs.CL},
url = {https://arxiv.org/abs/2605.00086}
}
- Downloads last month
- 1,112