Modelle mit AutoModel und Accelerator vorbereiten

Effizientes KI-Modelltraining mit PyTorch

Dennis Lee

Data Engineer, Amazon

Lerne deine:n Instructor kennen!

$$

  • Data Engineer

Foto der Dozentin/des Dozenten

Serversymbol

Effizientes KI-Modelltraining mit PyTorch

Lerne deine:n Instructor kennen!

$$

  • Data Engineer
  • Data Scientist

Foto der Dozentin/des Dozenten

Symbole: Server und Glühbirne

Effizientes KI-Modelltraining mit PyTorch

Lerne deine:n Instructor kennen!

$$

  • Data Engineer
  • Data Scientist
  • Ph.D. in Elektrotechnik

Foto der Dozentin/des Dozenten

Symbole: Server, Glühbirne und Doktorhut

Effizientes KI-Modelltraining mit PyTorch

Lerne deine:n Instructor kennen!

$$

  • Data Engineer
  • Data Scientist
  • Ph.D. in Elektrotechnik

Foto der Dozentin/des Dozenten

Symbole: Server, Glühbirne und Doktorhut

$$

$$

$$

Freue mich, Best Practices zu teilen!

Effizientes KI-Modelltraining mit PyTorch

Unser Plan für effizientes KI‑Training

  • Verteiltes Training von KI‑Modellen

Laptop

Effizientes KI-Modelltraining mit PyTorch

Unser Plan für effizientes KI‑Training

  • Verteiltes Training von KI‑Modellen

Ein Laptop und eine wartende Person

Effizientes KI-Modelltraining mit PyTorch

Unser Plan für effizientes KI‑Training

  • Verteiltes Training von KI‑Modellen

Ein Laptop, eine wartende Person und ein Speicherchip

  • ↓ ↓ Trainingszeiten für große Sprachmodelle

Ein Kalender

Effizientes KI-Modelltraining mit PyTorch

Unser Plan für effizientes KI‑Training

Flussdiagramm zu Kursthemen: Datenvorbereitung, verteiltes Training, effizientes Training und Optimierer.

$$

  • Datenvorbereitung: Daten auf mehrere Geräte verteilen
Effizientes KI-Modelltraining mit PyTorch

Unser Plan für effizientes KI‑Training

Flussdiagramm zu Kursthemen: Datenvorbereitung, verteiltes Training, effizientes Training und Optimierer.

$$

  • Datenvorbereitung: Daten auf mehrere Geräte verteilen
  • Verteiltes Training: Training auf mehrere Geräte skalieren
Effizientes KI-Modelltraining mit PyTorch

Unser Plan für effizientes KI‑Training

Flussdiagramm zu Kursthemen: Datenvorbereitung, verteiltes Training, effizientes Training und Optimierer.

$$

  • Datenvorbereitung: Daten auf mehrere Geräte verteilen
  • Verteiltes Training: Training auf mehrere Geräte skalieren
  • Effizientes Training: verfügbare Geräte optimal nutzen
Effizientes KI-Modelltraining mit PyTorch

Unser Plan für effizientes KI‑Training

Flussdiagramm zu Kursthemen: Datenvorbereitung, verteiltes Training, effizientes Training und Optimierer.

$$

  • Datenvorbereitung: Daten auf mehrere Geräte verteilen
  • Verteiltes Training: Training auf mehrere Geräte skalieren
  • Effizientes Training: verfügbare Geräte optimal nutzen
  • Optimierer: Training beschleunigen
Effizientes KI-Modelltraining mit PyTorch

CPUs

  • Die meisten Laptops haben CPUs

         

Ein CPU‑Laptop

GPUs

  • GPUs können große Modelle trainieren

         

Ein GPU‑Laptop

Effizientes KI-Modelltraining mit PyTorch

CPUs vs. GPUs

CPUs

  • Die meisten Laptops haben CPUs
  • Für allgemeines Rechnen entwickelt
  • Bessere Kontrolllogik

         

Ein Laptop für tägliche Aufgaben

GPUs

  • GPUs können große Modelle trainieren
  • Spezialisiert auf stark paralleles Rechnen
  • Hervorragend bei Matrixoperationen

         

Ein Laptop für paralleles Rechnen

Effizientes KI-Modelltraining mit PyTorch

Verteiltes Training

Diagramm des verteilten Trainings mit Modellreplikation und Datensharding.

  • Data Sharding: Jedes Gerät verarbeitet parallel einen Datenteil
Effizientes KI-Modelltraining mit PyTorch

Verteiltes Training

Diagramm des verteilten Trainings mit Modellreplikation und Datensharding.

  • Data Sharding: Jedes Gerät verarbeitet parallel einen Datenteil
  • Modellreplikation: Jedes Gerät führt Forward/Backward aus
  • Gradientenaggregation: Ein Gerät sammelt die Gradienten
  • Parametersynchronisierung: Ein Gerät verteilt die aktualisierten Parameter
Effizientes KI-Modelltraining mit PyTorch

Mühelos effizient: vortrainierte Modelle nutzen

  • Vorgefertigte Transformer‑Modelle nutzen
  • Modell mit AutoModelForSequenceClassification initialisieren
  • Konfiguration anzeigen
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained(model_name)

print(model.config)
DistilBertConfig {
  "architectures": ["DistilBertForMaskedLM"],
  "dim": 768,
  "dropout": 0.1,
  "hidden_dim": 3072,
  ...
Effizientes KI-Modelltraining mit PyTorch

Gerätezuweisung mit Accelerator

  • Eine Hugging Face‑Klasse 🤗
  • Accelerator erkennt verfügbare Geräte auf dem Rechner
  • Automatisiert Geräteplatzierung und Datenparallelismus: accelerator.prepare()
  • Platziert das Modell (Typ torch.nn.Module) auf der ersten verfügbaren GPU
  • Fällt auf CPU zurück, wenn keine GPU vorhanden ist
from accelerate import Accelerator
accelerator = Accelerator()
model = accelerator.prepare(model)

print(accelerator.device)
cpu
Effizientes KI-Modelltraining mit PyTorch

Lass uns üben!

Effizientes KI-Modelltraining mit PyTorch

Preparing Video For Download...