GPT2-24Layers / README.md
Loewolf's picture
Update README.md
39a893e verified
---
license: mit
datasets:
- wikimedia/wikipedia
language:
- de
- en
metrics:
- perplexity
base_model:
- dbmdz/german-gpt2
pipeline_tag: text-generation
library_name: transformers
tags:
- gpt2
- german
- deutsch
- causal-lm
- language-model
- 24-layers
- expanded-architecture
---
# GPT2-24Layers 🇩🇪
Ein erweitertes GPT-2 Modell mit **24 Transformer-Layern** (statt der originalen 12), das auf **deutscher Wikipedia** trainiert wurde.
## Modell-Beschreibung
Dieses Modell basiert auf der originalen GPT-2 Architektur von OpenAI, wurde jedoch strukturell erweitert:
| Eigenschaft | Original GPT-2 | GPT2-24Layers |
|---|---|---|
| Transformer-Layer | 12 | **24** |
| Attention Heads | 12 | 12 |
| Hidden Size | 768 | 768 |
| Vocab Size | 50,257 | 50,257 |
| Context Window | 1024 | 1024 |
| Parameter (ca.) | ~124M | **~200M** |
Die zusätzlichen Layer wurden aus dem originalen GPT-2 dupliziert und anschließend durch ein **Heilungs-Training** auf deutscher Wikipedia stabilisiert, sodass alle Layer kohärent zusammenarbeiten.
## Training
### Phase 1 – Heilungs-Training (Architektur-Stabilisierung)
- **Datensatz:** [wikimedia/wikipedia](https://huggingface.co/datasets/wikimedia/wikipedia) (`20231101.de`) – ~2.7M deutsche Wikipedia-Artikel
- **Hardware:** NVIDIA T4 (16 GB VRAM)
- **Precision:** FP16
- **Lernrate:** 3e-5
- **Batch Size:** 2 (mit Gradient Accumulation Steps: 6 → effektiv 12)
- **Optimizer:** AdamW (fused)
- **Block Size:** 512 Token
- **Epochen:** 1
### Trainings-Prozess
1. **Architektur-Erweiterung:** Die Layer 0–11 des originalen GPT-2 wurden dupliziert, um Layer 12–23 zu erzeugen.
2. **Heilungs-Training:** Das erweiterte Modell wurde auf der deutschen Wikipedia trainiert, damit die duplizierten Layer eigene Repräsentationen lernen und das Modell stabil generiert.
## Verwendung
```python
from transformers import GPT2LMHeadModel, GPT2TokenizerFast
model = GPT2LMHeadModel.from_pretrained("Atomic-Ai/GPT2-24Layers")
tokenizer = GPT2TokenizerFast.from_pretrained("Atomic-Ai/GPT2-24Layers")
input_text = "Die Geschichte Deutschlands"
input_ids = tokenizer.encode(input_text, return_tensors="pt")
output = model.generate(
input_ids,
max_length=200,
temperature=0.8,
top_p=0.9,
top_k=50,
do_sample=True,
no_repeat_ngram_size=3,
)
print(tokenizer.decode(output[0], skip_special_tokens=True))
```
## Einschränkungen
- **Tokenizer:** Verwendet den originalen GPT-2 Byte-Pair-Encoding Tokenizer, der primär auf englischen Texten trainiert wurde. Deutsche Umlaute (ä, ö, ü, ß) werden daher in mehrere Tokens aufgeteilt, was die Effizienz bei deutschen Texten reduziert.
- **Modellgröße:** Mit ~200M Parametern ist das Modell deutlich kleiner als moderne LLMs und eignet sich eher für Experimente und Forschung als für Produktionsumgebungen.
- **Trainingsdaten:** Ausschließlich auf Wikipedia trainiert – der Schreibstil ist daher eher enzyklopädisch. Konversationelle oder kreative Texte sind nicht die Stärke des Modells.
## Zitierung
```bibtex
@misc{atomic-ai-gpt2-24layers,
title={GPT2-24Layers: An Expanded German GPT-2 Model},
author={Atomic AI Studios},
year={2026},
url={https://huggingface.co/Atomic-Ai/GPT2-24Layers}
}
```
## Lizenz
MIT