Upload 10 files
Browse files- .gitattributes +6 -32
- README.md +105 -0
- added_tokens.json +1 -0
- config.json +26 -0
- flax_model.msgpack +3 -0
- pytorch_model.bin +3 -0
- special_tokens_map.json +1 -0
- tf_model.h5 +3 -0
- tokenizer_config.json +1 -0
- vocab.txt +0 -0
.gitattributes
CHANGED
@@ -1,35 +1,9 @@
|
|
1 |
-
*.
|
2 |
-
*.
|
3 |
*.bin filter=lfs diff=lfs merge=lfs -text
|
4 |
-
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
5 |
-
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
6 |
-
*.ftz filter=lfs diff=lfs merge=lfs -text
|
7 |
-
*.gz filter=lfs diff=lfs merge=lfs -text
|
8 |
*.h5 filter=lfs diff=lfs merge=lfs -text
|
9 |
-
*.joblib filter=lfs diff=lfs merge=lfs -text
|
10 |
-
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
11 |
-
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
12 |
-
*.model filter=lfs diff=lfs merge=lfs -text
|
13 |
-
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
14 |
-
*.npy filter=lfs diff=lfs merge=lfs -text
|
15 |
-
*.npz filter=lfs diff=lfs merge=lfs -text
|
16 |
-
*.onnx filter=lfs diff=lfs merge=lfs -text
|
17 |
-
*.ot filter=lfs diff=lfs merge=lfs -text
|
18 |
-
*.parquet filter=lfs diff=lfs merge=lfs -text
|
19 |
-
*.pb filter=lfs diff=lfs merge=lfs -text
|
20 |
-
*.pickle filter=lfs diff=lfs merge=lfs -text
|
21 |
-
*.pkl filter=lfs diff=lfs merge=lfs -text
|
22 |
-
*.pt filter=lfs diff=lfs merge=lfs -text
|
23 |
-
*.pth filter=lfs diff=lfs merge=lfs -text
|
24 |
-
*.rar filter=lfs diff=lfs merge=lfs -text
|
25 |
-
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
26 |
-
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
27 |
-
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
28 |
-
*.tar filter=lfs diff=lfs merge=lfs -text
|
29 |
*.tflite filter=lfs diff=lfs merge=lfs -text
|
30 |
-
*.
|
31 |
-
*.
|
32 |
-
*.
|
33 |
-
*.
|
34 |
-
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
-
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
1 |
+
*.bin.* filter=lfs diff=lfs merge=lfs -text
|
2 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
3 |
*.bin filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
4 |
*.h5 filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
*.tflite filter=lfs diff=lfs merge=lfs -text
|
6 |
+
*.tar.gz filter=lfs diff=lfs merge=lfs -text
|
7 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
8 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
9 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
|
|
|
README.md
ADDED
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
language: pt
|
3 |
+
license: mit
|
4 |
+
tags:
|
5 |
+
- bert
|
6 |
+
- pytorch
|
7 |
+
datasets:
|
8 |
+
- brWaC
|
9 |
+
---
|
10 |
+
|
11 |
+
# BERTimbau Base (aka "bert-base-portuguese-cased")
|
12 |
+
|
13 |
+

|
14 |
+
|
15 |
+
## Introduction
|
16 |
+
|
17 |
+
BERTimbau Base is a pretrained BERT model for Brazilian Portuguese that achieves state-of-the-art performances on three downstream NLP tasks: Named Entity Recognition, Sentence Textual Similarity and Recognizing Textual Entailment. It is available in two sizes: Base and Large.
|
18 |
+
|
19 |
+
For further information or requests, please go to [BERTimbau repository](https://github.com/neuralmind-ai/portuguese-bert/).
|
20 |
+
|
21 |
+
## Available models
|
22 |
+
|
23 |
+
| Model | Arch. | #Layers | #Params |
|
24 |
+
| ---------------------------------------- | ---------- | ------- | ------- |
|
25 |
+
| `neuralmind/bert-base-portuguese-cased` | BERT-Base | 12 | 110M |
|
26 |
+
| `neuralmind/bert-large-portuguese-cased` | BERT-Large | 24 | 335M |
|
27 |
+
|
28 |
+
## Usage
|
29 |
+
|
30 |
+
```python
|
31 |
+
from transformers import AutoTokenizer # Or BertTokenizer
|
32 |
+
from transformers import AutoModelForPreTraining # Or BertForPreTraining for loading pretraining heads
|
33 |
+
from transformers import AutoModel # or BertModel, for BERT without pretraining heads
|
34 |
+
|
35 |
+
model = AutoModelForPreTraining.from_pretrained('neuralmind/bert-base-portuguese-cased')
|
36 |
+
tokenizer = AutoTokenizer.from_pretrained('neuralmind/bert-base-portuguese-cased', do_lower_case=False)
|
37 |
+
```
|
38 |
+
|
39 |
+
### Masked language modeling prediction example
|
40 |
+
|
41 |
+
```python
|
42 |
+
from transformers import pipeline
|
43 |
+
|
44 |
+
pipe = pipeline('fill-mask', model=model, tokenizer=tokenizer)
|
45 |
+
|
46 |
+
pipe('Tinha uma [MASK] no meio do caminho.')
|
47 |
+
# [{'score': 0.14287759363651276,
|
48 |
+
# 'sequence': '[CLS] Tinha uma pedra no meio do caminho. [SEP]',
|
49 |
+
# 'token': 5028,
|
50 |
+
# 'token_str': 'pedra'},
|
51 |
+
# {'score': 0.06213393807411194,
|
52 |
+
# 'sequence': '[CLS] Tinha uma árvore no meio do caminho. [SEP]',
|
53 |
+
# 'token': 7411,
|
54 |
+
# 'token_str': 'árvore'},
|
55 |
+
# {'score': 0.05515013635158539,
|
56 |
+
# 'sequence': '[CLS] Tinha uma estrada no meio do caminho. [SEP]',
|
57 |
+
# 'token': 5675,
|
58 |
+
# 'token_str': 'estrada'},
|
59 |
+
# {'score': 0.0299188531935215,
|
60 |
+
# 'sequence': '[CLS] Tinha uma casa no meio do caminho. [SEP]',
|
61 |
+
# 'token': 1105,
|
62 |
+
# 'token_str': 'casa'},
|
63 |
+
# {'score': 0.025660505518317223,
|
64 |
+
# 'sequence': '[CLS] Tinha uma cruz no meio do caminho. [SEP]',
|
65 |
+
# 'token': 3466,
|
66 |
+
# 'token_str': 'cruz'}]
|
67 |
+
|
68 |
+
```
|
69 |
+
|
70 |
+
### For BERT embeddings
|
71 |
+
|
72 |
+
```python
|
73 |
+
import torch
|
74 |
+
|
75 |
+
model = AutoModel.from_pretrained('neuralmind/bert-base-portuguese-cased')
|
76 |
+
input_ids = tokenizer.encode('Tinha uma pedra no meio do caminho.', return_tensors='pt')
|
77 |
+
|
78 |
+
with torch.no_grad():
|
79 |
+
outs = model(input_ids)
|
80 |
+
encoded = outs[0][0, 1:-1] # Ignore [CLS] and [SEP] special tokens
|
81 |
+
|
82 |
+
# encoded.shape: (8, 768)
|
83 |
+
# tensor([[-0.0398, -0.3057, 0.2431, ..., -0.5420, 0.1857, -0.5775],
|
84 |
+
# [-0.2926, -0.1957, 0.7020, ..., -0.2843, 0.0530, -0.4304],
|
85 |
+
# [ 0.2463, -0.1467, 0.5496, ..., 0.3781, -0.2325, -0.5469],
|
86 |
+
# ...,
|
87 |
+
# [ 0.0662, 0.7817, 0.3486, ..., -0.4131, -0.2852, -0.2819],
|
88 |
+
# [ 0.0662, 0.2845, 0.1871, ..., -0.2542, -0.2933, -0.0661],
|
89 |
+
# [ 0.2761, -0.1657, 0.3288, ..., -0.2102, 0.0029, -0.2009]])
|
90 |
+
```
|
91 |
+
|
92 |
+
## Citation
|
93 |
+
|
94 |
+
If you use our work, please cite:
|
95 |
+
|
96 |
+
```bibtex
|
97 |
+
@inproceedings{souza2020bertimbau,
|
98 |
+
author = {F{\'a}bio Souza and
|
99 |
+
Rodrigo Nogueira and
|
100 |
+
Roberto Lotufo},
|
101 |
+
title = {{BERT}imbau: pretrained {BERT} models for {B}razilian {P}ortuguese},
|
102 |
+
booktitle = {9th Brazilian Conference on Intelligent Systems, {BRACIS}, Rio Grande do Sul, Brazil, October 20-23 (to appear)},
|
103 |
+
year = {2020}
|
104 |
+
}
|
105 |
+
```
|
added_tokens.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{}
|
config.json
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"architectures": [
|
3 |
+
"BertForMaskedLM"
|
4 |
+
],
|
5 |
+
"attention_probs_dropout_prob": 0.1,
|
6 |
+
"directionality": "bidi",
|
7 |
+
"hidden_act": "gelu",
|
8 |
+
"hidden_dropout_prob": 0.1,
|
9 |
+
"hidden_size": 768,
|
10 |
+
"initializer_range": 0.02,
|
11 |
+
"intermediate_size": 3072,
|
12 |
+
"layer_norm_eps": 1e-12,
|
13 |
+
"max_position_embeddings": 512,
|
14 |
+
"model_type": "bert",
|
15 |
+
"num_attention_heads": 12,
|
16 |
+
"num_hidden_layers": 12,
|
17 |
+
"output_past": true,
|
18 |
+
"pad_token_id": 0,
|
19 |
+
"pooler_fc_size": 768,
|
20 |
+
"pooler_num_attention_heads": 12,
|
21 |
+
"pooler_num_fc_layers": 3,
|
22 |
+
"pooler_size_per_head": 128,
|
23 |
+
"pooler_type": "first_token_transform",
|
24 |
+
"type_vocab_size": 2,
|
25 |
+
"vocab_size": 29794
|
26 |
+
}
|
flax_model.msgpack
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:96d2144445b6ba3530c27e38e7e27139fd0b0a5e36d9ca66f4155da7c5f199b0
|
3 |
+
size 435825131
|
pytorch_model.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:cb1693767adef60abf23d9fde3996f0c1e6310afad103a2db94ad44854568955
|
3 |
+
size 438235074
|
special_tokens_map.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"unk_token": "[UNK]", "sep_token": "[SEP]", "pad_token": "[PAD]", "cls_token": "[CLS]", "mask_token": "[MASK]"}
|
tf_model.h5
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:934cefcc094555ce1d9493ccdc9bd052c9eb5e66a156fb0c630d0b653ce0185d
|
3 |
+
size 529211872
|
tokenizer_config.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"do_lower_case": false, "init_inputs": []}
|
vocab.txt
ADDED
The diff for this file is too large to render.
See raw diff
|
|