manhtt-079
commited on
Commit
•
4ccc8ac
1
Parent(s):
7165d91
push all
Browse files- README.md +87 -0
- config.json +29 -0
- pytorch_model.bin +3 -0
- special_tokens_map.json +9 -0
- tf_model.h5 +3 -0
- tokenizer.json +0 -0
- tokenizer_config.json +17 -0
README.md
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
language:
|
3 |
+
- vi
|
4 |
+
metrics:
|
5 |
+
- f1
|
6 |
+
pipeline_tag: fill-mask
|
7 |
+
license: mit
|
8 |
+
datasets:
|
9 |
+
- VietAI/vi_pubmed
|
10 |
+
tags:
|
11 |
+
- transformer
|
12 |
+
- vietnamese
|
13 |
+
- nlp
|
14 |
+
- bert
|
15 |
+
- deberta
|
16 |
+
- deberta-v2
|
17 |
+
---
|
18 |
+
|
19 |
+
# ViPubMedDeBERTa: A Vietnamese pretrained biomedical language representation model
|
20 |
+
|
21 |
+
|
22 |
+
## Model description
|
23 |
+
|
24 |
+
## Model variations
|
25 |
+
|
26 |
+
## How to use
|
27 |
+
You can use this model directly with a pipeline for masked language modeling:<br>
|
28 |
+
**_NOTE:_** The input text should be already word-segmented, you can use [Pyvi](https://github.com/trungtv/pyvi) (Python Vietnamese Core NLP Toolkit) to segment word before passing to the model.
|
29 |
+
```python
|
30 |
+
>>> from transformers import pipeline
|
31 |
+
>>> model = pipeline('fill-mask', model='manhtt-079/vipubmed-deberta-base')
|
32 |
+
>>> text_with_mask = """Chúng_tôi mô_tả một trường_hợp bệnh_nhân nữ 44 tuổi được chẩn_đoán sarcoma tế_bào tua nang ( FDCS ) . FDCS là bệnh rất hiếm ảnh_hưởng đến tế_bào trình_diện kháng_nguyên đuôi gai và thường bị chẩn_đoán nhầm . Phẫu_thuật được coi là phương_thức điều_trị tốt nhất , tiếp_theo là hóa_trị . Trong trường_hợp của chúng_tôi , [MASK] cắt bỏ không_thể thực_hiện được , do đó bệnh_nhân được hóa_trị hai dòng , sau đó là cấy_ghép tủy xương , sau đó là hóa_trị ba với đáp_ứng trao_đổi chất hoàn_toàn được thấy trên"""
|
33 |
+
>>> model(text_with_mask)
|
34 |
+
|
35 |
+
[{'score': 0.7800273299217224,
|
36 |
+
'token': 1621,
|
37 |
+
'token_str': 'phẫu_thuật',
|
38 |
+
'sequence': 'Chúng_tôi mô_tả một trường_hợp bệnh_nhân nữ 44 tuổi được chẩn_đoán sarcoma tế_bào tua nang ( FDCS ). FDCS là bệnh rất hiếm ảnh_hưởng đến tế_bào trình_diện kháng_nguyên đuôi gai và thường bị chẩn_đoán nhầm. Phẫu_thuật được coi là phương_thức điều_trị tốt nhất, tiếp_theo là hóa_trị. Trong trường_hợp của chúng_tôi, phẫu_thuật cắt bỏ không_thể thực_hiện được, do đó bệnh_nhân được hóa_trị hai dòng, sau đó là cấy_ghép tủy xương, sau đó là hóa_trị ba với đáp_ứng trao_đổi chất hoàn_toàn được thấy trên'},
|
39 |
+
{'score': 0.13326583802700043,
|
40 |
+
'token': 83,
|
41 |
+
'token_str': 'việc',
|
42 |
+
'sequence': 'Chúng_tôi mô_tả một trường_hợp bệnh_nhân nữ 44 tuổi được chẩn_đoán sarcoma tế_bào tua nang ( FDCS ). FDCS là bệnh rất hiếm ảnh_hưởng đến tế_bào trình_diện kháng_nguyên đuôi gai và thường bị chẩn_đoán nhầm. Phẫu_thuật được coi là phương_thức điều_trị tốt nhất, tiếp_theo là hóa_trị. Trong trường_hợp của chúng_tôi, việc cắt bỏ không_thể thực_hiện được, do đó bệnh_nhân được hóa_trị hai dòng, sau đó là cấy_ghép tủy xương, sau đó là hóa_trị ba với đáp_ứng trao_đổi chất hoàn_toàn được thấy trên'},
|
43 |
+
{'score': 0.014797757379710674,
|
44 |
+
'token': 589,
|
45 |
+
'token_str': 'phương_pháp',
|
46 |
+
'sequence': 'Chúng_tôi mô_tả một trường_hợp bệnh_nhân nữ 44 tuổi được chẩn_đoán sarcoma tế_bào tua nang ( FDCS ). FDCS là bệnh rất hiếm ảnh_hưởng đến tế_bào trình_diện kháng_nguyên đuôi gai và thường bị chẩn_đoán nhầm. Phẫu_thuật được coi là phương_thức điều_trị tốt nhất, tiếp_theo là hóa_trị. Trong trường_hợp của chúng_tôi, phương_pháp cắt bỏ không_thể thực_hiện được, do đó bệnh_nhân được hóa_trị hai dòng, sau đó là cấy_ghép tủy xương, sau đó là hóa_trị ba với đáp_ứng trao_đổi chất hoàn_toàn được thấy trên'},
|
47 |
+
{'score': 0.011190224438905716,
|
48 |
+
'token': 23339,
|
49 |
+
'token_str': 'sinh_thiết',
|
50 |
+
'sequence': 'Chúng_tôi mô_tả một trường_hợp bệnh_nhân nữ 44 tuổi được chẩn_đoán sarcoma tế_bào tua nang ( FDCS ). FDCS là bệnh rất hiếm ảnh_hưởng đến tế_bào trình_diện kháng_nguyên đuôi gai và thường bị chẩn_đoán nhầm. Phẫu_thuật được coi là phương_thức điều_trị tốt nhất, tiếp_theo là hóa_trị. Trong trường_hợp của chúng_tôi, sinh_thiết cắt bỏ không_thể thực_hiện được, do đó bệnh_nhân được hóa_trị hai dòng, sau đó là cấy_ghép tủy xương, sau đó là hóa_trị ba với đáp_ứng trao_đổi chất hoàn_toàn được thấy trên'},
|
51 |
+
{'score': 0.006846326868981123,
|
52 |
+
'token': 454,
|
53 |
+
'token_str': 'điều_trị',
|
54 |
+
'sequence': 'Chúng_tôi mô_tả một trường_hợp bệnh_nhân nữ 44 tuổi được chẩn_đoán sarcoma tế_bào tua nang ( FDCS ). FDCS là bệnh rất hiếm ảnh_hưởng đến tế_bào trình_diện kháng_nguyên đuôi gai và thường bị chẩn_đoán nhầm. Phẫu_thuật được coi là phương_thức điều_trị tốt nhất, tiếp_theo là hóa_trị. Trong trường_hợp của chúng_tôi, điều_trị cắt bỏ kh��ng_thể thực_hiện được, do đó bệnh_nhân được hóa_trị hai dòng, sau đó là cấy_ghép tủy xương, sau đó là hóa_trị ba với đáp_ứng trao_đổi chất hoàn_toàn được thấy trên'}]
|
55 |
+
```
|
56 |
+
|
57 |
+
#### Get features:
|
58 |
+
- With PyTorch:
|
59 |
+
```python
|
60 |
+
from transformers import AutoTokenizer, AutoModel
|
61 |
+
tokenizer = AutoTokenizer.from_pretrained('manhtt-079/vipubmed-deberta-base')
|
62 |
+
model = AutoModel.from_pretrained("manhtt-079/vipubmed-deberta-base")
|
63 |
+
text = "Chúng_tôi mô_tả một trường_hợp bệnh_nhân nữ 44 tuổi được chẩn_đoán sarcoma tế_bào tua nang ( FDCS )."
|
64 |
+
model_inputs = tokenizer(text, return_tensors='pt')
|
65 |
+
outputs = model(**model_inputs)
|
66 |
+
```
|
67 |
+
|
68 |
+
- With TensorFlow
|
69 |
+
```python
|
70 |
+
from transformers import AutoTokenizer, TFAutoModel
|
71 |
+
tokenizer = AutoTokenizer.from_pretrained('manhtt-079/vipubmed-deberta-base')
|
72 |
+
model = TFAutoModel.from_pretrained("manhtt-079/vipubmed-deberta-base")
|
73 |
+
text = "Chúng_tôi mô_tả một trường_hợp bệnh_nhân nữ 44 tuổi được chẩn_đoán sarcoma tế_bào tua nang ( FDCS )."
|
74 |
+
model_inputs = tokenizer(text, return_tensors='tf')
|
75 |
+
outputs = model(**model_inputs)
|
76 |
+
```
|
77 |
+
|
78 |
+
## Pre-training data
|
79 |
+
The ViPubMedDeBERTa model was pre-trained on [ViPubmed](https://github.com/vietai/ViPubmed), a dataset consisting of 20M Vietnamese Biomedical abstracts generated by large scale translation.
|
80 |
+
|
81 |
+
## Training procedure
|
82 |
+
### Data deduplication
|
83 |
+
A fuzzy deduplication, targeting documents with high overlap, was conducted at the document level to enhance quality and address overfitting. Employing Locality Sensitive Hashing (LSH) with a threshold of 0.9 ensured the removal of documents with overlap exceeding 90%. This process resulted in an average reduction of the dataset's size by 3%.
|
84 |
+
### Pretraining
|
85 |
+
We employ our model based on the [ViDeBERTa](https://github.com/HySonLab/ViDeBERTa) architecture and leverage its pre-trained checkpoint to continue pre-training. Our model was trained on a single A100 GPU (40GB) for 270 thousand steps, with a batch size of 16 and gradient accumulation steps set to 4 (resulting in a total of 64). The sequence length was limited to 512 tokens and the model peak learning rate of 1e-4.
|
86 |
+
|
87 |
+
## Evaluation results
|
config.json
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"attention_head_size": 64,
|
3 |
+
"attention_probs_dropout_prob": 0.1,
|
4 |
+
"hidden_act": "gelu",
|
5 |
+
"hidden_dropout_prob": 0.1,
|
6 |
+
"hidden_size": 768,
|
7 |
+
"initializer_range": 0.02,
|
8 |
+
"intermediate_size": 3072,
|
9 |
+
"layer_norm_eps": 1e-07,
|
10 |
+
"max_position_embeddings": 512,
|
11 |
+
"max_relative_positions": -1,
|
12 |
+
"model_type": "deberta-v2",
|
13 |
+
"norm_rel_ebd": "layer_norm",
|
14 |
+
"num_attention_heads": 12,
|
15 |
+
"num_hidden_layers": 12,
|
16 |
+
"pad_token_id": 0,
|
17 |
+
"pooler_dropout": 0,
|
18 |
+
"pooler_hidden_act": "gelu",
|
19 |
+
"pooler_hidden_size": 768,
|
20 |
+
"pos_att_type": ["p2c","c2p"],
|
21 |
+
"position_biased_input": false,
|
22 |
+
"position_buckets": 256,
|
23 |
+
"relative_attention": true,
|
24 |
+
"share_att_key": true,
|
25 |
+
"torch_dtype": "float32",
|
26 |
+
"transformers_version": "4.25.1",
|
27 |
+
"type_vocab_size": 0,
|
28 |
+
"vocab_size": 128000
|
29 |
+
}
|
pytorch_model.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:90afd923614a7d786ba13d64085965d78cac5e472c931dc42d749b0c20d06f57
|
3 |
+
size 737974205
|
special_tokens_map.json
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"bos_token": "[CLS]",
|
3 |
+
"cls_token": "[CLS]",
|
4 |
+
"eos_token": "[SEP]",
|
5 |
+
"mask_token": "[MASK]",
|
6 |
+
"pad_token": "[PAD]",
|
7 |
+
"sep_token": "[SEP]",
|
8 |
+
"unk_token": "[UNK]"
|
9 |
+
}
|
tf_model.h5
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:a007675292f3d821c0e90840ad2f431a08da6ddaefa244fbc3def264eb5cf09b
|
3 |
+
size 1131415224
|
tokenizer.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
tokenizer_config.json
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"bos_token": "[CLS]",
|
3 |
+
"cls_token": "[CLS]",
|
4 |
+
"do_lower_case": false,
|
5 |
+
"eos_token": "[SEP]",
|
6 |
+
"mask_token": "[MASK]",
|
7 |
+
"model_max_length": 512,
|
8 |
+
"name_or_path": "manhtt-079/vipubmed-deberta-base",
|
9 |
+
"pad_token": "[PAD]",
|
10 |
+
"sep_token": "[SEP]",
|
11 |
+
"sp_model_kwargs": {},
|
12 |
+
"special_tokens_map_file": null,
|
13 |
+
"split_by_punct": false,
|
14 |
+
"tokenizer_class": "DebertaV2Tokenizer",
|
15 |
+
"unk_token": "[UNK]",
|
16 |
+
"vocab_type": "spm"
|
17 |
+
}
|