davidmezzetti
commited on
Commit
•
0c1cc58
1
Parent(s):
311a5fa
Initial model
Browse files- README.md +41 -0
- config.json +58 -0
- pytorch_model.bin +3 -0
- special_tokens_map.json +1 -0
- spiece.model +3 -0
- tokenizer.json +0 -0
- tokenizer_config.json +1 -0
- trainer_state.json +37 -0
- training_args.bin +3 -0
README.md
CHANGED
@@ -1,3 +1,44 @@
|
|
1 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
license: apache-2.0
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
+
language: en
|
3 |
+
widget:
|
4 |
+
- text: "translate Bash to SQL: find -name \"feel good story\" -mtime -1"
|
5 |
+
example_title: Last day
|
6 |
+
- text: "translate Bash to SQL: find -name \"show me sports stories\" -mtime -1 -team \"Red Sox\""
|
7 |
+
example_title: Last day with filter
|
8 |
+
- text: "translate Bash to SQL: find -name \"breaking news\" -summary"
|
9 |
+
example_title: Summary
|
10 |
+
- text: "translate Bash to SQL: find -name \"breaking news\" -translate fr"
|
11 |
+
example_title: Translate to French
|
12 |
+
inference:
|
13 |
+
parameters:
|
14 |
+
max_length: 512
|
15 |
license: apache-2.0
|
16 |
---
|
17 |
+
|
18 |
+
# T5-small finedtuned to generate txtai SQL
|
19 |
+
|
20 |
+
[T5 small](https://huggingface.co/t5-small) fine-tuned to generate [txtai](https://github.com/neuml/txtai) SQL. This model takes [Bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) like commands and builds txtai-compatible SQL statements.
|
21 |
+
|
22 |
+
```
|
23 |
+
find -name "feel good story" -mtime -1
|
24 |
+
find -name "show me sports stories" -mtime -1 -team \"Red Sox\"
|
25 |
+
find -name "breaking news" -summary
|
26 |
+
find -name "breaking news" -translate fr
|
27 |
+
```
|
28 |
+
|
29 |
+
## Custom query syntax
|
30 |
+
|
31 |
+
This model is an example of creating a custom query syntax that can be translated into SQL txtai can understand. Any query syntax can be created. This one supports Bash-like commands but a similar strategy can be deployed to support other languages. Natural language can be translated to functions, query clauses, column selection and more.
|
32 |
+
|
33 |
+
See [t5-small-txtsql](https://huggingface.co/NeuML/t5-small-txtsql) for a model that translates natural language statements into txtai SQL.
|
34 |
+
|
35 |
+
## Model training
|
36 |
+
|
37 |
+
This model was trained using scripts that can be [found here](https://github.com/neuml/txtai/tree/master/models/bashsql).
|
38 |
+
|
39 |
+
Steps to train:
|
40 |
+
|
41 |
+
```bash
|
42 |
+
python generate.py bashsql.csv
|
43 |
+
python train.py bashsql.csv t5-small-bashsql
|
44 |
+
```
|
config.json
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"_name_or_path": "t5-small",
|
3 |
+
"architectures": [
|
4 |
+
"T5ForConditionalGeneration"
|
5 |
+
],
|
6 |
+
"d_ff": 2048,
|
7 |
+
"d_kv": 64,
|
8 |
+
"d_model": 512,
|
9 |
+
"decoder_start_token_id": 0,
|
10 |
+
"dropout_rate": 0.1,
|
11 |
+
"eos_token_id": 1,
|
12 |
+
"feed_forward_proj": "relu",
|
13 |
+
"initializer_factor": 1.0,
|
14 |
+
"is_encoder_decoder": true,
|
15 |
+
"layer_norm_epsilon": 1e-06,
|
16 |
+
"model_type": "t5",
|
17 |
+
"n_positions": 512,
|
18 |
+
"num_decoder_layers": 6,
|
19 |
+
"num_heads": 8,
|
20 |
+
"num_layers": 6,
|
21 |
+
"output_past": true,
|
22 |
+
"pad_token_id": 0,
|
23 |
+
"relative_attention_max_distance": 128,
|
24 |
+
"relative_attention_num_buckets": 32,
|
25 |
+
"task_specific_params": {
|
26 |
+
"summarization": {
|
27 |
+
"early_stopping": true,
|
28 |
+
"length_penalty": 2.0,
|
29 |
+
"max_length": 200,
|
30 |
+
"min_length": 30,
|
31 |
+
"no_repeat_ngram_size": 3,
|
32 |
+
"num_beams": 4,
|
33 |
+
"prefix": "summarize: "
|
34 |
+
},
|
35 |
+
"translation_en_to_de": {
|
36 |
+
"early_stopping": true,
|
37 |
+
"max_length": 300,
|
38 |
+
"num_beams": 4,
|
39 |
+
"prefix": "translate English to German: "
|
40 |
+
},
|
41 |
+
"translation_en_to_fr": {
|
42 |
+
"early_stopping": true,
|
43 |
+
"max_length": 300,
|
44 |
+
"num_beams": 4,
|
45 |
+
"prefix": "translate English to French: "
|
46 |
+
},
|
47 |
+
"translation_en_to_ro": {
|
48 |
+
"early_stopping": true,
|
49 |
+
"max_length": 300,
|
50 |
+
"num_beams": 4,
|
51 |
+
"prefix": "translate English to Romanian: "
|
52 |
+
}
|
53 |
+
},
|
54 |
+
"torch_dtype": "float32",
|
55 |
+
"transformers_version": "4.18.0",
|
56 |
+
"use_cache": true,
|
57 |
+
"vocab_size": 32128
|
58 |
+
}
|
pytorch_model.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:aa425935c7018018ef1120dd8f73ab99eacc91ff5b8d0943beb213c4d69f1e9a
|
3 |
+
size 242070267
|
special_tokens_map.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"eos_token": "</s>", "unk_token": "<unk>", "pad_token": "<pad>", "additional_special_tokens": ["<extra_id_0>", "<extra_id_1>", "<extra_id_2>", "<extra_id_3>", "<extra_id_4>", "<extra_id_5>", "<extra_id_6>", "<extra_id_7>", "<extra_id_8>", "<extra_id_9>", "<extra_id_10>", "<extra_id_11>", "<extra_id_12>", "<extra_id_13>", "<extra_id_14>", "<extra_id_15>", "<extra_id_16>", "<extra_id_17>", "<extra_id_18>", "<extra_id_19>", "<extra_id_20>", "<extra_id_21>", "<extra_id_22>", "<extra_id_23>", "<extra_id_24>", "<extra_id_25>", "<extra_id_26>", "<extra_id_27>", "<extra_id_28>", "<extra_id_29>", "<extra_id_30>", "<extra_id_31>", "<extra_id_32>", "<extra_id_33>", "<extra_id_34>", "<extra_id_35>", "<extra_id_36>", "<extra_id_37>", "<extra_id_38>", "<extra_id_39>", "<extra_id_40>", "<extra_id_41>", "<extra_id_42>", "<extra_id_43>", "<extra_id_44>", "<extra_id_45>", "<extra_id_46>", "<extra_id_47>", "<extra_id_48>", "<extra_id_49>", "<extra_id_50>", "<extra_id_51>", "<extra_id_52>", "<extra_id_53>", "<extra_id_54>", "<extra_id_55>", "<extra_id_56>", "<extra_id_57>", "<extra_id_58>", "<extra_id_59>", "<extra_id_60>", "<extra_id_61>", "<extra_id_62>", "<extra_id_63>", "<extra_id_64>", "<extra_id_65>", "<extra_id_66>", "<extra_id_67>", "<extra_id_68>", "<extra_id_69>", "<extra_id_70>", "<extra_id_71>", "<extra_id_72>", "<extra_id_73>", "<extra_id_74>", "<extra_id_75>", "<extra_id_76>", "<extra_id_77>", "<extra_id_78>", "<extra_id_79>", "<extra_id_80>", "<extra_id_81>", "<extra_id_82>", "<extra_id_83>", "<extra_id_84>", "<extra_id_85>", "<extra_id_86>", "<extra_id_87>", "<extra_id_88>", "<extra_id_89>", "<extra_id_90>", "<extra_id_91>", "<extra_id_92>", "<extra_id_93>", "<extra_id_94>", "<extra_id_95>", "<extra_id_96>", "<extra_id_97>", "<extra_id_98>", "<extra_id_99>"]}
|
spiece.model
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d60acb128cf7b7f2536e8f38a5b18a05535c9e14c7a355904270e15b0945ea86
|
3 |
+
size 791656
|
tokenizer.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
tokenizer_config.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"eos_token": "</s>", "unk_token": "<unk>", "pad_token": "<pad>", "extra_ids": 100, "additional_special_tokens": ["<extra_id_0>", "<extra_id_1>", "<extra_id_2>", "<extra_id_3>", "<extra_id_4>", "<extra_id_5>", "<extra_id_6>", "<extra_id_7>", "<extra_id_8>", "<extra_id_9>", "<extra_id_10>", "<extra_id_11>", "<extra_id_12>", "<extra_id_13>", "<extra_id_14>", "<extra_id_15>", "<extra_id_16>", "<extra_id_17>", "<extra_id_18>", "<extra_id_19>", "<extra_id_20>", "<extra_id_21>", "<extra_id_22>", "<extra_id_23>", "<extra_id_24>", "<extra_id_25>", "<extra_id_26>", "<extra_id_27>", "<extra_id_28>", "<extra_id_29>", "<extra_id_30>", "<extra_id_31>", "<extra_id_32>", "<extra_id_33>", "<extra_id_34>", "<extra_id_35>", "<extra_id_36>", "<extra_id_37>", "<extra_id_38>", "<extra_id_39>", "<extra_id_40>", "<extra_id_41>", "<extra_id_42>", "<extra_id_43>", "<extra_id_44>", "<extra_id_45>", "<extra_id_46>", "<extra_id_47>", "<extra_id_48>", "<extra_id_49>", "<extra_id_50>", "<extra_id_51>", "<extra_id_52>", "<extra_id_53>", "<extra_id_54>", "<extra_id_55>", "<extra_id_56>", "<extra_id_57>", "<extra_id_58>", "<extra_id_59>", "<extra_id_60>", "<extra_id_61>", "<extra_id_62>", "<extra_id_63>", "<extra_id_64>", "<extra_id_65>", "<extra_id_66>", "<extra_id_67>", "<extra_id_68>", "<extra_id_69>", "<extra_id_70>", "<extra_id_71>", "<extra_id_72>", "<extra_id_73>", "<extra_id_74>", "<extra_id_75>", "<extra_id_76>", "<extra_id_77>", "<extra_id_78>", "<extra_id_79>", "<extra_id_80>", "<extra_id_81>", "<extra_id_82>", "<extra_id_83>", "<extra_id_84>", "<extra_id_85>", "<extra_id_86>", "<extra_id_87>", "<extra_id_88>", "<extra_id_89>", "<extra_id_90>", "<extra_id_91>", "<extra_id_92>", "<extra_id_93>", "<extra_id_94>", "<extra_id_95>", "<extra_id_96>", "<extra_id_97>", "<extra_id_98>", "<extra_id_99>"], "model_max_length": 512, "special_tokens_map_file": null, "name_or_path": "t5-small", "tokenizer_class": "T5Tokenizer"}
|
trainer_state.json
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"best_metric": null,
|
3 |
+
"best_model_checkpoint": null,
|
4 |
+
"epoch": 5.0,
|
5 |
+
"global_step": 1440,
|
6 |
+
"is_hyper_param_search": false,
|
7 |
+
"is_local_process_zero": true,
|
8 |
+
"is_world_process_zero": true,
|
9 |
+
"log_history": [
|
10 |
+
{
|
11 |
+
"epoch": 1.74,
|
12 |
+
"learning_rate": 3.263888888888889e-05,
|
13 |
+
"loss": 0.8294,
|
14 |
+
"step": 500
|
15 |
+
},
|
16 |
+
{
|
17 |
+
"epoch": 3.47,
|
18 |
+
"learning_rate": 1.527777777777778e-05,
|
19 |
+
"loss": 0.0362,
|
20 |
+
"step": 1000
|
21 |
+
},
|
22 |
+
{
|
23 |
+
"epoch": 5.0,
|
24 |
+
"step": 1440,
|
25 |
+
"total_flos": 38943546015744.0,
|
26 |
+
"train_loss": 0.3061259587605794,
|
27 |
+
"train_runtime": 100.4467,
|
28 |
+
"train_samples_per_second": 57.244,
|
29 |
+
"train_steps_per_second": 14.336
|
30 |
+
}
|
31 |
+
],
|
32 |
+
"max_steps": 1440,
|
33 |
+
"num_train_epochs": 5,
|
34 |
+
"total_flos": 38943546015744.0,
|
35 |
+
"trial_name": null,
|
36 |
+
"trial_params": null
|
37 |
+
}
|
training_args.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:898304cdeaa3627998b119e592b940bc31f4be6f0eddfe43583a3093a471bb09
|
3 |
+
size 2991
|