lm-gpt2-timemachine / README.md
SOULAMA's picture
Update README.md
2254808 verified
---
tags:
- generated_from_trainer
model-index:
- name: lm-gpt2-timemachine
results: []
license: apache-2.0
datasets:
- SOULAMA/timemachine-dataset-preprocessed
language:
- en
metrics:
- perplexity
base_model:
- openai-community/gpt2
pipeline_tag: text-generation
---
<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->
# lm-gpt2-timemachine
This model is a **causal language model** trained from scratch on the novel
**_The Time Machine_ by H. G. Wells**.
The objective of this project is educational: to understand the full pipeline of
**training a GPT-style language model from raw text**, including preprocessing,
tokenization, training, and text generation.
---
## Model description
- **Architecture**: GPT-2–style causal language model
- **Training type**: From scratch (no pretrained weights)
- **Language**: English
- **Tokenizer**: Byte-level BPE
- **Context length**: 128 tokens
- **Task**: Causal language modeling (next-token prediction)
The model learns to predict the next token given a sequence of previous tokens,
and can be used to generate text in the style of *The Time Machine*.
---
## Intended uses & limitations
### Intended uses
- Educational purposes
- Learning how causal language models work
- Small-scale text generation experiments
- Understanding Hugging Face training workflows
### Limitations
- Trained on a **very small corpus** (single novel)
- Not suitable for general-purpose text generation
- May produce repetitive or incoherent text
- Not optimized for factual correctness
---
## Training and evaluation data
- **Dataset**: *The Time Machine* by H. G. Wells
- **Source**: Public domain text
- **Preprocessing**:
- Text normalization
- Tokenization with a byte-level tokenizer
- Concatenation of text and splitting into fixed-length blocks (128 tokens)
The same dataset was split into training, validation, and test subsets.
---
## Training procedure
- **Objective**: Causal Language Modeling
- **Loss function**: Cross-entropy loss
- **Optimizer**: AdamW
- **Batching**: Fixed-length token blocks
- **Evaluation**: Perplexity on validation data
The model was trained using the Hugging Face `Trainer` API.
---
## Example generation
```text
The Time Traveller (for so it will be convenient to speak of him) was a curious man,
of no less intellectual character than...
### Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 5e-05
- train_batch_size: 8
- eval_batch_size: 8
- seed: 42
- optimizer: Use OptimizerNames.ADAMW_TORCH with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
- lr_scheduler_type: linear
- num_epochs: 3
- mixed_precision_training: Native AMP
### Training results
- 'eval_loss': 2.851572036743164
- 'eval_perplexity': 17.314979553222656
### Framework versions
- Transformers 4.57.6
- Pytorch 2.6.0+cu126
- Datasets 3.6.0
- Tokenizers 0.22.1