🚀 GPT2-丹麦语-维基百科
这是一个丹麦语的GPT2风格模型,使用Flax CLM管道在wiki40b数据集的丹麦语部分上进行训练。该数据集可在 wiki40b 找到。
🚀 快速开始
本模型是在Huggingface Flax/Jax挑战期间,使用Flax Jax在TPU上训练的一系列模型的一部分。
✨ 主要特性
GPT模型
RoBERTa模型
瑞典语T5模型
🔧 技术细节
数据清洗和预处理
使用以下脚本对数据进行清洗和预处理。请确保安装beam_runner的依赖项,以使数据集正常工作。
from datasets import load_dataset
def load_and_clean_wiki():
dataset = load_dataset('wiki40b', 'da', beam_runner='DirectRunner', split="train")
dataset = dataset.remove_columns(['wikidata_id', 'version_id'])
filtered_dataset = dataset.map(filter_wikipedia)
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
训练脚本
使用以下训练脚本来训练模型:
./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="da" --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