初始化项目,由ModelHub XC社区提供模型
Model: flax-community/norsk-gpt-wiki Source: Original Platform
This commit is contained in:
18
.gitattributes
vendored
Normal file
18
.gitattributes
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
*.bin.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||
*.model filter=lfs diff=lfs merge=lfs -text
|
||||
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||
model.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
90
README.md
Normal file
90
README.md
Normal file
@@ -0,0 +1,90 @@
|
||||
---
|
||||
language: no
|
||||
widget:
|
||||
- text: "Det er flott"
|
||||
---
|
||||
|
||||
# GPT2-svenska-wikipedia
|
||||
A norwegian GPT2 style model trained using Flax CLM pipeline on the Norwegian
|
||||
part of the wiki40b dataset.
|
||||
|
||||
https://huggingface.co/datasets/wiki40b
|
||||
|
||||
## Model series
|
||||
This model is part of a series of models training on TPU with Flax Jax during Huggingface Flax/Jax challenge.
|
||||
|
||||
## Gpt models
|
||||
|
||||
## Swedish Gpt
|
||||
https://huggingface.co/birgermoell/swedish-gpt/
|
||||
|
||||
## Swedish gpt wiki
|
||||
https://huggingface.co/flax-community/swe-gpt-wiki
|
||||
|
||||
# Nordic gpt wiki
|
||||
https://huggingface.co/flax-community/nordic-gpt-wiki
|
||||
|
||||
## Dansk gpt wiki
|
||||
https://huggingface.co/flax-community/dansk-gpt-wiki
|
||||
|
||||
## Norsk gpt wiki
|
||||
https://huggingface.co/flax-community/norsk-gpt-wiki
|
||||
|
||||
## Roberta models
|
||||
|
||||
## Nordic Roberta Wiki
|
||||
https://huggingface.co/flax-community/nordic-roberta-wiki
|
||||
|
||||
## Swe Roberta Wiki Oscar
|
||||
https://huggingface.co/flax-community/swe-roberta-wiki-oscar
|
||||
|
||||
## Roberta Swedish Scandi
|
||||
https://huggingface.co/birgermoell/roberta-swedish-scandi
|
||||
|
||||
## Roberta Swedish
|
||||
https://huggingface.co/birgermoell/roberta-swedish
|
||||
|
||||
## Swedish T5 model
|
||||
https://huggingface.co/birgermoell/t5-base-swedish
|
||||
|
||||
|
||||
|
||||
|
||||
## Data cleaning and preprocessing
|
||||
The data was cleaned and preprocessed using the following script. Make sure to install depencies for beam_runner to make the dataset work.
|
||||
|
||||
```python
|
||||
from datasets import load_dataset
|
||||
def load_and_clean_wiki():
|
||||
dataset = load_dataset('wiki40b', 'no', beam_runner='DirectRunner', split="train")
|
||||
#dataset = load_dataset('wiki40b', 'sv', beam_runner='DirectRunner')
|
||||
dataset = dataset.remove_columns(['wikidata_id', 'version_id'])
|
||||
filtered_dataset = dataset.map(filter_wikipedia)
|
||||
# filtered_dataset[:3]
|
||||
# print(filtered_dataset[:3])
|
||||
return filtered_dataset
|
||||
|
||||
def filter_wikipedia(batch):
|
||||
batch["text"] = " ".join(batch["text"].split("\
|
||||
_START_SECTION_\
|
||||
"))
|
||||
batch["text"] = " ".join(batch["text"].split("\
|
||||
_START_ARTICLE_\
|
||||
"))
|
||||
batch["text"] = " ".join(batch["text"].split("\
|
||||
_START_ARTICLE_\
|
||||
"))
|
||||
batch["text"] = " ".join(batch["text"].split("\
|
||||
_START_PARAGRAPH_\
|
||||
"))
|
||||
batch["text"] = " ".join(batch["text"].split("_NEWLINE_"))
|
||||
batch["text"] = " ".join(batch["text"].split("\xa0"))
|
||||
return batch
|
||||
```
|
||||
|
||||
## Training script
|
||||
The following training script was used to train the model.
|
||||
```bash
|
||||
./run_clm_flax.py --output_dir="${MODEL_DIR}" --model_type="gpt2" --config_name="${MODEL_DIR}" --tokenizer_name="${MODEL_DIR}" --dataset_name="wiki40b" --dataset_config_name="no" --do_train --do_eval --block_size="512" --per_device_train_batch_size="64" --per_device_eval_batch_size="64" --learning_rate="5e-3" --warmup_steps="1000" --adam_beta1="0.9" --adam_beta2="0.98" --weight_decay="0.01" --overwrite_output_dir --num_train_epochs="20" --logging_steps="500" --save_steps="1000" --eval_steps="2500" --push_to_hub
|
||||
```
|
||||
|
||||
1
added_tokens.json
Normal file
1
added_tokens.json
Normal file
@@ -0,0 +1 @@
|
||||
{"<|endoftext|>": 50265}
|
||||
37
config.json
Normal file
37
config.json
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"_name_or_path": ".",
|
||||
"activation_function": "gelu_new",
|
||||
"architectures": [
|
||||
"GPT2LMHeadModel"
|
||||
],
|
||||
"attn_pdrop": 0.0,
|
||||
"bos_token_id": 50256,
|
||||
"embd_pdrop": 0.0,
|
||||
"eos_token_id": 50256,
|
||||
"gradient_checkpointing": false,
|
||||
"initializer_range": 0.02,
|
||||
"layer_norm_epsilon": 1e-05,
|
||||
"model_type": "gpt2",
|
||||
"n_ctx": 1024,
|
||||
"n_embd": 768,
|
||||
"n_head": 12,
|
||||
"n_inner": null,
|
||||
"n_layer": 12,
|
||||
"n_positions": 1024,
|
||||
"resid_pdrop": 0.0,
|
||||
"scale_attn_weights": true,
|
||||
"summary_activation": null,
|
||||
"summary_first_dropout": 0.1,
|
||||
"summary_proj_to_labels": true,
|
||||
"summary_type": "cls_index",
|
||||
"summary_use_proj": true,
|
||||
"task_specific_params": {
|
||||
"text-generation": {
|
||||
"do_sample": true,
|
||||
"max_length": 50
|
||||
}
|
||||
},
|
||||
"transformers_version": "4.8.2",
|
||||
"use_cache": true,
|
||||
"vocab_size": 50257
|
||||
}
|
||||
10
evaluate.py
Normal file
10
evaluate.py
Normal file
@@ -0,0 +1,10 @@
|
||||
from transformers import GPT2Tokenizer, GPT2Model, FlaxGPT2LMHeadModel, GPT2LMHeadModel, pipeline, set_seed
|
||||
|
||||
tokenizer = GPT2Tokenizer.from_pretrained("flax-community/norsk-gpt-wiki")
|
||||
model = GPT2LMHeadModel.from_pretrained("flax-community/norsk-gpt-wiki")
|
||||
|
||||
|
||||
generator = pipeline('text-generation', model=model, tokenizer=tokenizer)
|
||||
set_seed(42)
|
||||
result = generator("Det er flott", max_length=150, num_return_sequences=5)
|
||||
print(result)
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:96eea81b96a95a8ddf5c516912c6686f9afd98236db97c8c2d3d62e9273e1414
|
||||
size 735617
|
||||
3
flax_model.msgpack
Normal file
3
flax_model.msgpack
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:112a250b6061edbb1afec25e1f9c2dc844be6be67471b95d2e48846c6bdc828d
|
||||
size 497764120
|
||||
6
make_config.py
Normal file
6
make_config.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from transformers import GPT2Config
|
||||
|
||||
model_dir = "./swe-gpt-wiki" # ${MODEL_DIR}
|
||||
|
||||
config = GPT2Config.from_pretrained("gpt2", resid_pdrop=0.0, embd_pdrop=0.0, attn_pdrop=0.0)
|
||||
config.save_pretrained(model_dir)
|
||||
50005
merges.txt
Normal file
50005
merges.txt
Normal file
File diff suppressed because it is too large
Load Diff
3
model.safetensors
Normal file
3
model.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0507388538449e4e1c7cfd34fdea640e20881985503401bd24d0066b565cd81b
|
||||
size 510359600
|
||||
3
pytorch_model.bin
Normal file
3
pytorch_model.bin
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0ad3e5639a357aabb61433cc806a336e4c10c4430c1b00bc93a5ec6e1f86d9f0
|
||||
size 510401385
|
||||
8
save_model.py
Normal file
8
save_model.py
Normal file
@@ -0,0 +1,8 @@
|
||||
from transformers import AutoTokenizer, GPT2LMHeadModel
|
||||
'''
|
||||
This is a script to convert the Jax model and the tokenizer to Pytorch model
|
||||
'''
|
||||
model = GPT2LMHeadModel.from_pretrained(".", from_flax=True)
|
||||
model.save_pretrained(".")
|
||||
tokenizer = AutoTokenizer.from_pretrained(".")
|
||||
tokenizer.save_pretrained(".")
|
||||
1
special_tokens_map.json
Normal file
1
special_tokens_map.json
Normal file
@@ -0,0 +1 @@
|
||||
{"bos_token": "<|endoftext|>", "eos_token": "<|endoftext|>", "unk_token": "<|endoftext|>"}
|
||||
1
tokenizer.json
Normal file
1
tokenizer.json
Normal file
File diff suppressed because one or more lines are too long
1
tokenizer_config.json
Normal file
1
tokenizer_config.json
Normal file
@@ -0,0 +1 @@
|
||||
{"unk_token": "<|endoftext|>", "bos_token": "<|endoftext|>", "eos_token": "<|endoftext|>", "add_prefix_space": false, "special_tokens_map_file": null, "name_or_path": ".", "tokenizer_class": "GPT2Tokenizer"}
|
||||
1
vocab.json
Normal file
1
vocab.json
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user