Upload folder using huggingface_hub
Browse files- README.md +44 -3
- added_tokens.json +5 -0
- deberta.yaml +52 -0
- gliner_config.json +139 -0
- pytorch_model.bin +3 -0
- special_tokens_map.json +51 -0
- spm.model +3 -0
- tokenizer.json +0 -0
- tokenizer_config.json +74 -0
README.md
CHANGED
@@ -1,3 +1,44 @@
|
|
1 |
-
---
|
2 |
-
license: apache-2.0
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: apache-2.0
|
3 |
+
language:
|
4 |
+
- en
|
5 |
+
library_name: gliner
|
6 |
+
pipeline_tag: token-classification
|
7 |
+
---
|
8 |
+
|
9 |
+
# GLiNER-Large (Reproduce) Model
|
10 |
+
|
11 |
+
This model is a reproduce version of GLiNER-large, the training hyperparameters are different from the original model.
|
12 |
+
|
13 |
+
# Hyperparameters
|
14 |
+
|
15 |
+
The detail of training hyperparameters can see in `deberta.yaml`.
|
16 |
+
|
17 |
+
Except for config in `deberta.yaml`, i manually set the `lr_scheduler_type` to `cosine_with_min_lr` and `lr_scheduler_kwargs` to `{"min_lr_rate": 0.01}` in `train.py`:
|
18 |
+
|
19 |
+
```
|
20 |
+
training_args = TrainingArguments(
|
21 |
+
...
|
22 |
+
lr_scheduler_type="cosine_with_min_lr",
|
23 |
+
lr_scheduler_kwargs={"min_lr_rate": 0.01},
|
24 |
+
...
|
25 |
+
)
|
26 |
+
```
|
27 |
+
|
28 |
+
NOTE: The result is not stable, i guess the random shuffle of the dataset is the reason.
|
29 |
+
|
30 |
+
# Weights
|
31 |
+
|
32 |
+
Here are two weights, one is the final model after 4k iterations, which has the best performance on the zero-shot evaluation, and the other is the model after full training.
|
33 |
+
|
34 |
+
|
35 |
+
| Model | link | AI | literature | music | politics | science | movie | restaurant | Average |
|
36 |
+
| :--------: | :---: | :---: | :--------: | :---: | :------: | :-----: | :---: | :--------: | :-----: |
|
37 |
+
| iter_4000 | * | 56.7 | 65.1 | 69.6 | 74.2 | 60.9 | 60.6 | 39.7 | 61.0 |
|
38 |
+
| iter_10000 | * | 55.1 | 62.9 | 68.3 | 71.6 | 57.3 | 58.4 | 40.5 | 59.2 |
|
39 |
+
| ---------- | ----- | ----- | ---------- | ----- | -------- | ------- | ----- | ---------- | ------- |
|
40 |
+
| Paper | * | 57.2 | 64.4 | 69.6 | 72.6 | 62.6 | 57.2 | 42.9 | 60.9 |
|
41 |
+
|
42 |
+
|
43 |
+
# Using repo
|
44 |
+
See https://github.com/urchade/GLiNER
|
added_tokens.json
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"<<ENT>>": 128001,
|
3 |
+
"<<SEP>>": 128002,
|
4 |
+
"[MASK]": 128000
|
5 |
+
}
|
deberta.yaml
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Model Configuration
|
2 |
+
model_name: /large-storage/model/deberta-v3-large # Hugging Face model
|
3 |
+
labels_encoder: null
|
4 |
+
name: "span level gliner"
|
5 |
+
max_width: 12
|
6 |
+
hidden_size: 512
|
7 |
+
dropout: 0.4
|
8 |
+
fine_tune: true
|
9 |
+
subtoken_pooling: first
|
10 |
+
span_mode: markerV0
|
11 |
+
|
12 |
+
# Training Parameters
|
13 |
+
num_steps: 10000
|
14 |
+
train_batch_size: 8
|
15 |
+
eval_every: 1000
|
16 |
+
warmup_ratio: 0.1
|
17 |
+
scheduler_type: "cosine"
|
18 |
+
|
19 |
+
# loss function
|
20 |
+
loss_alpha: -1 # focal loss alpha, if -1, no focal loss
|
21 |
+
loss_gamma: 0 # focal loss gamma, if 0, no focal loss
|
22 |
+
label_smoothing: 0
|
23 |
+
loss_reduction: "sum"
|
24 |
+
|
25 |
+
# Learning Rate and weight decay Configuration
|
26 |
+
lr_encoder: 1e-5
|
27 |
+
lr_others: 5e-5
|
28 |
+
weight_decay_encoder: 0.01
|
29 |
+
weight_decay_other: 0.01
|
30 |
+
|
31 |
+
max_grad_norm: 1.0
|
32 |
+
|
33 |
+
# Directory Paths
|
34 |
+
root_dir: span_gliner_logs
|
35 |
+
train_data: "data/pilener_train.json" # see https://github.com/urchade/GLiNER/tree/main/data
|
36 |
+
val_data_dir: "/workspace/GNER/regen_data/data/IE_INSTRUCTIONS/NER copy"
|
37 |
+
# "NER_datasets": val data from the paper can be obtained from "https://drive.google.com/file/d/1T-5IbocGka35I7X3CE6yKe5N_Xg2lVKT/view"
|
38 |
+
|
39 |
+
# Pretrained Model Path
|
40 |
+
# Use "none" if no pretrained model is being used
|
41 |
+
prev_path: null
|
42 |
+
|
43 |
+
save_total_limit: 10 #maximum amount of checkpoints to save
|
44 |
+
|
45 |
+
# Advanced Training Settings
|
46 |
+
size_sup: -1
|
47 |
+
max_types: 25
|
48 |
+
shuffle_types: true
|
49 |
+
random_drop: true
|
50 |
+
max_neg_type_ratio: 1
|
51 |
+
max_len: 512
|
52 |
+
freeze_token_rep: false
|
gliner_config.json
ADDED
@@ -0,0 +1,139 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"class_token_index": 128001,
|
3 |
+
"dropout": 0.4,
|
4 |
+
"embed_ent_token": true,
|
5 |
+
"encoder_config": {
|
6 |
+
"_name_or_path": "/large-storage/model/deberta-v3-large",
|
7 |
+
"add_cross_attention": false,
|
8 |
+
"architectures": null,
|
9 |
+
"attention_probs_dropout_prob": 0.1,
|
10 |
+
"bad_words_ids": null,
|
11 |
+
"begin_suppress_tokens": null,
|
12 |
+
"bos_token_id": null,
|
13 |
+
"chunk_size_feed_forward": 0,
|
14 |
+
"cross_attention_hidden_size": null,
|
15 |
+
"decoder_start_token_id": null,
|
16 |
+
"diversity_penalty": 0.0,
|
17 |
+
"do_sample": false,
|
18 |
+
"early_stopping": false,
|
19 |
+
"encoder_no_repeat_ngram_size": 0,
|
20 |
+
"eos_token_id": null,
|
21 |
+
"exponential_decay_length_penalty": null,
|
22 |
+
"finetuning_task": null,
|
23 |
+
"forced_bos_token_id": null,
|
24 |
+
"forced_eos_token_id": null,
|
25 |
+
"hidden_act": "gelu",
|
26 |
+
"hidden_dropout_prob": 0.1,
|
27 |
+
"hidden_size": 1024,
|
28 |
+
"id2label": {
|
29 |
+
"0": "LABEL_0",
|
30 |
+
"1": "LABEL_1"
|
31 |
+
},
|
32 |
+
"initializer_range": 0.02,
|
33 |
+
"intermediate_size": 4096,
|
34 |
+
"is_decoder": false,
|
35 |
+
"is_encoder_decoder": false,
|
36 |
+
"label2id": {
|
37 |
+
"LABEL_0": 0,
|
38 |
+
"LABEL_1": 1
|
39 |
+
},
|
40 |
+
"layer_norm_eps": 1e-07,
|
41 |
+
"length_penalty": 1.0,
|
42 |
+
"max_length": 20,
|
43 |
+
"max_position_embeddings": 512,
|
44 |
+
"max_relative_positions": -1,
|
45 |
+
"min_length": 0,
|
46 |
+
"model_type": "deberta-v2",
|
47 |
+
"no_repeat_ngram_size": 0,
|
48 |
+
"norm_rel_ebd": "layer_norm",
|
49 |
+
"num_attention_heads": 16,
|
50 |
+
"num_beam_groups": 1,
|
51 |
+
"num_beams": 1,
|
52 |
+
"num_hidden_layers": 24,
|
53 |
+
"num_return_sequences": 1,
|
54 |
+
"output_attentions": false,
|
55 |
+
"output_hidden_states": false,
|
56 |
+
"output_scores": false,
|
57 |
+
"pad_token_id": 0,
|
58 |
+
"pooler_dropout": 0,
|
59 |
+
"pooler_hidden_act": "gelu",
|
60 |
+
"pooler_hidden_size": 1024,
|
61 |
+
"pos_att_type": [
|
62 |
+
"p2c",
|
63 |
+
"c2p"
|
64 |
+
],
|
65 |
+
"position_biased_input": false,
|
66 |
+
"position_buckets": 256,
|
67 |
+
"prefix": null,
|
68 |
+
"problem_type": null,
|
69 |
+
"pruned_heads": {},
|
70 |
+
"relative_attention": true,
|
71 |
+
"remove_invalid_values": false,
|
72 |
+
"repetition_penalty": 1.0,
|
73 |
+
"return_dict": true,
|
74 |
+
"return_dict_in_generate": false,
|
75 |
+
"sep_token_id": null,
|
76 |
+
"share_att_key": true,
|
77 |
+
"suppress_tokens": null,
|
78 |
+
"task_specific_params": null,
|
79 |
+
"temperature": 1.0,
|
80 |
+
"tf_legacy_loss": false,
|
81 |
+
"tie_encoder_decoder": false,
|
82 |
+
"tie_word_embeddings": true,
|
83 |
+
"tokenizer_class": null,
|
84 |
+
"top_k": 50,
|
85 |
+
"top_p": 1.0,
|
86 |
+
"torch_dtype": null,
|
87 |
+
"torchscript": false,
|
88 |
+
"type_vocab_size": 0,
|
89 |
+
"typical_p": 1.0,
|
90 |
+
"use_bfloat16": false,
|
91 |
+
"vocab_size": 128003
|
92 |
+
},
|
93 |
+
"ent_token": "<<ENT>>",
|
94 |
+
"eval_every": 1000,
|
95 |
+
"fine_tune": true,
|
96 |
+
"freeze_token_rep": false,
|
97 |
+
"fuse_layers": false,
|
98 |
+
"has_rnn": true,
|
99 |
+
"hidden_size": 512,
|
100 |
+
"label_smoothing": 0,
|
101 |
+
"labels_encoder": null,
|
102 |
+
"labels_encoder_config": null,
|
103 |
+
"log_dir": "./logs_deberta_span_6",
|
104 |
+
"loss_alpha": -1,
|
105 |
+
"loss_gamma": 0,
|
106 |
+
"loss_reduction": "sum",
|
107 |
+
"lr_encoder": "1e-5",
|
108 |
+
"lr_others": "5e-5",
|
109 |
+
"max_grad_norm": 1.0,
|
110 |
+
"max_len": 512,
|
111 |
+
"max_neg_type_ratio": 1,
|
112 |
+
"max_types": 25,
|
113 |
+
"max_width": 12,
|
114 |
+
"model_name": "/large-storage/model/deberta-v3-large",
|
115 |
+
"model_type": "gliner",
|
116 |
+
"name": "span level gliner",
|
117 |
+
"num_post_fusion_layers": 1,
|
118 |
+
"num_steps": 10000,
|
119 |
+
"post_fusion_schema": "",
|
120 |
+
"prev_path": null,
|
121 |
+
"random_drop": true,
|
122 |
+
"root_dir": "span_gliner_logs",
|
123 |
+
"save_total_limit": 10,
|
124 |
+
"scheduler_type": "cosine",
|
125 |
+
"sep_token": "<<SEP>>",
|
126 |
+
"shuffle_types": true,
|
127 |
+
"size_sup": -1,
|
128 |
+
"span_mode": "markerV0",
|
129 |
+
"subtoken_pooling": "first",
|
130 |
+
"train_batch_size": 8,
|
131 |
+
"train_data": "data/pilener_train.json",
|
132 |
+
"transformers_version": "4.45.2",
|
133 |
+
"val_data_dir": "/workspace/GNER/regen_data/data/IE_INSTRUCTIONS/NER copy",
|
134 |
+
"vocab_size": 128003,
|
135 |
+
"warmup_ratio": 0.1,
|
136 |
+
"weight_decay_encoder": 0.01,
|
137 |
+
"weight_decay_other": 0.01,
|
138 |
+
"words_splitter_type": "whitespace"
|
139 |
+
}
|
pytorch_model.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:6dba9dfd9f8e12de24549f4b5c75312c9c16d8620a4d6b101dd9e14567723d47
|
3 |
+
size 1781996490
|
special_tokens_map.json
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"bos_token": {
|
3 |
+
"content": "[CLS]",
|
4 |
+
"lstrip": false,
|
5 |
+
"normalized": false,
|
6 |
+
"rstrip": false,
|
7 |
+
"single_word": false
|
8 |
+
},
|
9 |
+
"cls_token": {
|
10 |
+
"content": "[CLS]",
|
11 |
+
"lstrip": false,
|
12 |
+
"normalized": false,
|
13 |
+
"rstrip": false,
|
14 |
+
"single_word": false
|
15 |
+
},
|
16 |
+
"eos_token": {
|
17 |
+
"content": "[SEP]",
|
18 |
+
"lstrip": false,
|
19 |
+
"normalized": false,
|
20 |
+
"rstrip": false,
|
21 |
+
"single_word": false
|
22 |
+
},
|
23 |
+
"mask_token": {
|
24 |
+
"content": "[MASK]",
|
25 |
+
"lstrip": false,
|
26 |
+
"normalized": false,
|
27 |
+
"rstrip": false,
|
28 |
+
"single_word": false
|
29 |
+
},
|
30 |
+
"pad_token": {
|
31 |
+
"content": "[PAD]",
|
32 |
+
"lstrip": false,
|
33 |
+
"normalized": false,
|
34 |
+
"rstrip": false,
|
35 |
+
"single_word": false
|
36 |
+
},
|
37 |
+
"sep_token": {
|
38 |
+
"content": "[SEP]",
|
39 |
+
"lstrip": false,
|
40 |
+
"normalized": false,
|
41 |
+
"rstrip": false,
|
42 |
+
"single_word": false
|
43 |
+
},
|
44 |
+
"unk_token": {
|
45 |
+
"content": "[UNK]",
|
46 |
+
"lstrip": false,
|
47 |
+
"normalized": true,
|
48 |
+
"rstrip": false,
|
49 |
+
"single_word": false
|
50 |
+
}
|
51 |
+
}
|
spm.model
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:c679fbf93643d19aab7ee10c0b99e460bdbc02fedf34b92b05af343b4af586fd
|
3 |
+
size 2464616
|
tokenizer.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
tokenizer_config.json
ADDED
@@ -0,0 +1,74 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"added_tokens_decoder": {
|
3 |
+
"0": {
|
4 |
+
"content": "[PAD]",
|
5 |
+
"lstrip": false,
|
6 |
+
"normalized": false,
|
7 |
+
"rstrip": false,
|
8 |
+
"single_word": false,
|
9 |
+
"special": true
|
10 |
+
},
|
11 |
+
"1": {
|
12 |
+
"content": "[CLS]",
|
13 |
+
"lstrip": false,
|
14 |
+
"normalized": false,
|
15 |
+
"rstrip": false,
|
16 |
+
"single_word": false,
|
17 |
+
"special": true
|
18 |
+
},
|
19 |
+
"2": {
|
20 |
+
"content": "[SEP]",
|
21 |
+
"lstrip": false,
|
22 |
+
"normalized": false,
|
23 |
+
"rstrip": false,
|
24 |
+
"single_word": false,
|
25 |
+
"special": true
|
26 |
+
},
|
27 |
+
"3": {
|
28 |
+
"content": "[UNK]",
|
29 |
+
"lstrip": false,
|
30 |
+
"normalized": true,
|
31 |
+
"rstrip": false,
|
32 |
+
"single_word": false,
|
33 |
+
"special": true
|
34 |
+
},
|
35 |
+
"128000": {
|
36 |
+
"content": "[MASK]",
|
37 |
+
"lstrip": false,
|
38 |
+
"normalized": false,
|
39 |
+
"rstrip": false,
|
40 |
+
"single_word": false,
|
41 |
+
"special": true
|
42 |
+
},
|
43 |
+
"128001": {
|
44 |
+
"content": "<<ENT>>",
|
45 |
+
"lstrip": false,
|
46 |
+
"normalized": false,
|
47 |
+
"rstrip": false,
|
48 |
+
"single_word": false,
|
49 |
+
"special": true
|
50 |
+
},
|
51 |
+
"128002": {
|
52 |
+
"content": "<<SEP>>",
|
53 |
+
"lstrip": false,
|
54 |
+
"normalized": false,
|
55 |
+
"rstrip": false,
|
56 |
+
"single_word": false,
|
57 |
+
"special": true
|
58 |
+
}
|
59 |
+
},
|
60 |
+
"bos_token": "[CLS]",
|
61 |
+
"clean_up_tokenization_spaces": false,
|
62 |
+
"cls_token": "[CLS]",
|
63 |
+
"do_lower_case": false,
|
64 |
+
"eos_token": "[SEP]",
|
65 |
+
"mask_token": "[MASK]",
|
66 |
+
"model_max_length": 1000000000000000019884624838656,
|
67 |
+
"pad_token": "[PAD]",
|
68 |
+
"sep_token": "[SEP]",
|
69 |
+
"sp_model_kwargs": {},
|
70 |
+
"split_by_punct": false,
|
71 |
+
"tokenizer_class": "DebertaV2Tokenizer",
|
72 |
+
"unk_token": "[UNK]",
|
73 |
+
"vocab_type": "spm"
|
74 |
+
}
|