SML – Small Language Modell für den PC und Laptop
Eigenes GPT entwickeln
Wie kann ich datensicher eigene Dokumente durchforsten und damit arbeiten? Es funktioniert mit SML direkt am eigenen PC oder Laptop. Hier findet Ihr eine leicht verständliche Schritt-für-Schritt-Anleitung, wie man ein Small Language Model (SML) lokal auf dem eigenen Rechner aufgesetzt werden kann. Das Prinzip ist bei allen SML-Modellen relativ ähnlich, egal ob man GPT-2, BLOOM oder ein anderes kleines Modell verwendet.
1. Voraussetzungen prüfen
-
Betriebssystem: Windows, macOS oder Linux.
-
Hardware: Mindestens 8 GB RAM (besser 16 GB oder mehr). Für GPU-Beschleunigung benötigst Du eine entsprechende Grafikkarte (z. B. NVIDIA mit CUDA-Unterstützung).
-
Python: Version 3.7 oder höher.
Tipp: Prüfe, ob Du eine NVIDIA-GPU hast, weil das Berechnen von Modellen dort meist schneller ist. Ansonsten läuft es auch auf der CPU, allerdings langsamer.
2. Entwicklungsumgebung einrichten
-
Python-Installation:
-
Lade Dir Python herunter und installiere es.
-
Achte darauf, das Häkchen bei „Add Python to PATH“ (Windows) zu setzen.
-
-
Virtuelle Umgebung erstellen (empfohlen, um Abhängigkeiten sauber zu trennen):
-
Öffne ein Terminal (PowerShell, macOS Terminal oder Linux Shell).
-
Erstelle einen neuen Ordner, z. B.
my_sml_project
. -
Wechsel in diesen Ordner und führe aus:
bashpython -m venv venv
-
Aktiviere die virtuelle Umgebung:
-
Windows:
.\venv\Scripts\activate
-
macOS/Linux:
source venv/bin/activate
-
-
3. Notwendige Pakete installieren
-
Hugging Face Transformers: Die bekannteste Bibliothek, um fertige Sprachmodelle (inkl. kleiner Modelle) einfach zu laden und zu nutzen.
-
PyTorch oder TensorFlow: Wähle eine der beiden Bibliotheken. Hugging Face funktioniert mit beiden, PyTorch ist meist gängiger.
Beispielinstallation mit PyTorch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # mit GPU-Support
(Hinweis: Der genaue CUDA-Index-URL ändert sich je nach PyTorch-Version und CUDA-Version. Für CPU-only kannst Du einfach pip install torch
ohne CUDA-Index nehmen.)
Transformers und weitere Tools
pip install transformers
pip install sentencepiece # Für bestimmte Modelle erforderlich
4. Modelldateien beschaffen
-
Hugging Face Model Hub:
-
Gehe auf huggingface.co/models und suche nach einem „Small“ oder „Tiny“-Modell (z. B.
distilgpt2
oderdistilbert-base-uncased
– das sind abgespeckte Varianten). -
Merke Dir den Modellnamen, z. B.
distilgpt2
.
-
-
Option 1: Automatischer Download
-
Du musst nichts manuell herunterladen, sondern kannst das Modell später per Code direkt beziehen.
-
-
Option 2: Manuelles Herunterladen
-
Du kannst auf der Modellseite das Repo klonen oder die Gewichte herunterladen und lokal speichern, um offline arbeiten zu können.
-
5. Test-Skript schreiben und ausführen
Erstelle eine Python-Datei, z. B. run_model.py
, mit folgendem Beispielcode (hier für distilgpt2
):
from transformers import AutoTokenizer, AutoModelForCausalLM
# 1. Modell und Tokenizer laden
model_name = „distilgpt2“
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# 2. Prompt vorbereiten
prompt = „Hallo, ich bin ein kleines Sprachmodell. Heute erzähle ich dir etwas über“
# 3. Eingabe tokenisieren
input_ids = tokenizer.encode(prompt, return_tensors=„pt“)
# 4. Modellinferenz (Text generieren)
with torch.no_grad():
output_ids = model.generate(
input_ids,
max_length=50, # wie viele Token ausgegeben werden sollen
do_sample=True, # stochastisches Sampling für Varianz
top_k=50,
top_p=0.95,
temperature=1.0
)
# 5. Ausgabestring dekodieren
generated_text = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(generated_text)
Danach führst Du die Datei aus:
python run_model.py
Wenn alles korrekt eingerichtet ist, sollte das Skript Dir einen kurzen Text zurückliefern.
6. GPU-Unterstützung (optional)
-
Um das Modell auf Deiner NVIDIA-GPU laufen zu lassen, brauchst Du das passende CUDA Toolkit (z. B. 11.8).
-
Stelle sicher, dass PyTorch mit CUDA-Unterstützung installiert ist (siehe Schritt 3).
-
Im Skript fügst Du Folgendes hinzu:
import torch
device = „cuda“ if torch.cuda.is_available() else „cpu“
model.to(device)
input_ids = input_ids.to(device)
# Dann beim Generieren genauso weitermachen
7. Feintuning (optional, wenn Du Dein Modell anpassen willst)
-
Datensammlung: Erstelle ein Dataset mit Beispielen, an denen Du Dein Modell anpassen möchtest. Typisch: Textdateien, CSV oder JSON.
-
Trainingsskript: Du kannst mit den Hugging Face-Bibliotheken wie
Trainer
oderaccelerate
ein Feintuning starten:pythonfrom transformers import Trainer, TrainingArguments, AutoTokenizer, AutoModelForCausalLM
# Modell laden
model_name = „distilgpt2“
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)# Dataset laden/preparieren (dieser Teil hängt stark von Deinem Format ab)
# …training_args = TrainingArguments(
output_dir=„./results“,
num_train_epochs=1,
per_device_train_batch_size=2,
save_steps=10_000,
save_total_limit=2,
logging_steps=100,
logging_dir=‚./logs‘
)trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=eval_dataset
)trainer.train()
-
Speichern: Nach dem Training kannst Du das angepasste Modell mit
model.save_pretrained("mein_sml_model")
lokal ablegen.
8. Troubleshooting
-
Fehlende Abhängigkeiten: Stelle sicher, dass Du
transformers
,torch
,sentencepiece
und die erforderlichen CUDA-Treiber installiert hast. -
Speichermangel: Wenn Deine GPU/CPU nicht genug RAM hat, reduziere die
max_length
oder nutze ein noch kleineres Modell. -
Performance: Gerade auf CPUs kann das Generieren recht langsam sein. Verkürze ggf. Deine Generationslänge oder rüste ggf. auf eine GPU um.
9. Nächste Schritte
-
Experimentieren: Passe die Parameter (
top_k
,top_p
,temperature
) an und beobachte, wie sich die Ausgabe ändert. -
Auswertung: Versuche, die Qualität Deiner generierten Texte zu beurteilen und ggf. Feintuning zu betreiben.
-
Integration: Binde den Code in Deine Anwendungen ein (z. B. Webservice, Chatbot).
Quellen
Mit diesem Ablauf kannst Du ein kleines Sprachmodell lokal zum Laufen bringen und bei Bedarf an Deine eigenen Texte anpassen. Viel Erfolg!
Sie interessieren sich für eine Strategie zur schrittweisen Implementierung von mehr Nachhaltigkeit in Ihrem Unternehmen und wollen darüber berichten? Wie möchten gerne eine Förderung dafür nützen? Gerne stehe ich für ein kostenloses Erstgespräch zur Verfügung!
- CATEGORY S
- TAGS Datensicherheit; , Small Language Modell; , SML; small language Modell;