|
|
--- |
|
|
license: apache-2.0 |
|
|
language: de |
|
|
tags: |
|
|
- pytorch |
|
|
- generative |
|
|
- language-model |
|
|
- decoder-only |
|
|
- tiny-shakespeare |
|
|
- autoregressive |
|
|
pipeline_tag: text-generation |
|
|
widget: |
|
|
- text: Die |
|
|
datasets: |
|
|
- karpathy/tiny_shakespeare |
|
|
metrics: |
|
|
- accuracy |
|
|
--- |
|
|
|
|
|
# Mein kleines Shakespeare-Sprachmodell |
|
|
|
|
|
Dieses ist ein kleines, autoregressives Sprachmodell, das nach dem Decoder-only-Transformer-Ansatz mit PyTorch implementiert wurde. Es wurde auf dem Tiny Shakespeare-Datensatz trainiert, um zu lernen, Text im Stil von Shakespeare zu generieren. |
|
|
|
|
|
## Modell-Details |
|
|
|
|
|
* **Architektur:** Decoder-only Transformer mit `nn.TransformerDecoderLayer` und `nn.TransformerDecoder` aus PyTorch. |
|
|
* **Anzahl der Parameter:** Weniger als 1 Million. |
|
|
* **Trainingsdaten:** Tiny Shakespeare Datensatz. |
|
|
* **Tokenizer:** Verwendet wurde der `GPT2Tokenizer`. |
|
|
|
|
|
* vocab_size = tokenizer.vocab_size |
|
|
* Batch Size = 32 |
|
|
* Block Size = 128 |
|
|
* embed_size = 8 |
|
|
* num_layers = 1 |
|
|
* heads = 1 |
|
|
* dropout = 0.1 |
|
|
* forward_expansion = 1 |
|
|
* Learning rate = 1e-4 |
|
|
* Optimizer = AdamW |
|
|
* Epochen = 5 |
|
|
|
|
|
## Verwendungsweise |
|
|
|
|
|
Du kannst dieses Modell verwenden, um Text im Stil von Shakespeare zu generieren. Hier ist ein einfaches Beispiel, wie du es mit der `transformers`-Bibliothek laden und verwenden kannst (beachte, dass möglicherweise eine benutzerdefinierte Modellklasse oder eine angepasste Konfiguration erforderlich ist, da es sich nicht um ein direkt unterstütztes `transformers`-Modell handelt): |
|
|
|
|
|
```python |
|
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
|
|
|
|
# Hinweis: Möglicherweise ist eine benutzerdefinierte Modellklasse oder Konfiguration erforderlich |
|
|
# da es sich nicht um ein Standard-transformers-Modell handelt. |
|
|
|
|
|
model_name = "DeinNutzername/DeinModellName" # Ersetze dies durch den tatsächlichen Namen deines Modells |
|
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
|
# model = AutoModelForCausalLM.from_pretrained(model_name) # Dies funktioniert möglicherweise nicht direkt |
|
|
|
|
|
# Beispielhafte Verwendung (kann angepasst werden) |
|
|
prompt = "Die " |
|
|
input_ids = tokenizer.encode(prompt, return_tensors="pt") |
|
|
|
|
|
# Generiere Text (die genaue Implementierung hängt davon ab, wie das Modell geladen wird) |
|
|
# output = model.generate(input_ids, max_length=100, num_return_sequences=1) |
|
|
# generated_text = tokenizer.decode(output[0], skip_special_tokens=True) |
|
|
# print(generated_text) |