| from datasets import load_dataset |
| from transformers import AutoTokenizer, AutoModelForCausalLM, Trainer, TrainingArguments |
|
|
| |
| dataset = load_dataset("wikitext", "wikitext-2-raw-v1", split="train[:1%]") |
|
|
| tokenizer = AutoTokenizer.from_pretrained("gpt2") |
| tokenizer.pad_token = tokenizer.eos_token |
|
|
| def tokenize(example): |
| return tokenizer(example["text"], truncation=True, padding="max_length") |
|
|
| tokenized = dataset.map(tokenize, batched=True) |
|
|
| model = AutoModelForCausalLM.from_pretrained("gpt2") |
|
|
| training_args = TrainingArguments( |
| output_dir="./results", |
| per_device_train_batch_size=2, |
| num_train_epochs=1, |
| max_steps=50, |
| logging_steps=10 |
| ) |
|
|
| trainer = Trainer( |
| model=model, |
| args=training_args, |
| train_dataset=tokenized |
| ) |
|
|
| trainer.train() |
|
|
| model.save_pretrained("./model") |
| tokenizer.save_pretrained("./model") |