Modellen voorbereiden met AutoModel en Accelerator

Efficiënt AI-modellen trainen met PyTorch

Dennis Lee

Data Engineer, Amazon

Maak kennis met je instructeur!

$$

  • Data engineer

Foto van de instructeur

Pictogram van een server

Efficiënt AI-modellen trainen met PyTorch

Maak kennis met je instructeur!

$$

  • Data engineer
  • Data scientist

Foto van de instructeur

Pictogrammen van een server en een lamp

Efficiënt AI-modellen trainen met PyTorch

Maak kennis met je instructeur!

$$

  • Data engineer
  • Data scientist
  • PhD Elektrotechniek

Foto van de instructeur

Pictogrammen van een server, een lamp en een afstudeerhoed

Efficiënt AI-modellen trainen met PyTorch

Maak kennis met je instructeur!

$$

  • Data engineer
  • Data scientist
  • PhD Elektrotechniek

Foto van de instructeur

Pictogrammen van een server, een lamp en een afstudeerhoed

$$

$$

$$

Enthousiast om best practices te delen!

Efficiënt AI-modellen trainen met PyTorch

Onze roadmap voor efficiënte AI-training

  • Gedistribueerde AI-modeltraining

Laptop

Efficiënt AI-modellen trainen met PyTorch

Onze roadmap voor efficiënte AI-training

  • Gedistribueerde AI-modeltraining

Een laptop en een wachtende persoon

Efficiënt AI-modellen trainen met PyTorch

Onze roadmap voor efficiënte AI-training

  • Gedistribueerde AI-modeltraining

Een laptop, een wachtende persoon en een geheugenchip

  • ↓ ↓ Trainingstijden voor large language models

Een kalender

Efficiënt AI-modellen trainen met PyTorch

Onze roadmap voor efficiënte AI-training

Stroomschema met de onderwerpen: datavoorbereiding, gedistribueerde training, efficiënte training en optimalizers.

$$

  • Datavoorbereiding: data op meerdere apparaten plaatsen
Efficiënt AI-modellen trainen met PyTorch

Onze roadmap voor efficiënte AI-training

Stroomschema met de onderwerpen: datavoorbereiding, gedistribueerde training, efficiënte training en optimalizers.

$$

  • Datavoorbereiding: data op meerdere apparaten plaatsen
  • Gedistribueerde training: trainen opschalen naar meerdere apparaten
Efficiënt AI-modellen trainen met PyTorch

Onze roadmap voor efficiënte AI-training

Stroomschema met de onderwerpen: datavoorbereiding, gedistribueerde training, efficiënte training en optimalizers.

$$

  • Datavoorbereiding: data op meerdere apparaten plaatsen
  • Gedistribueerde training: trainen opschalen naar meerdere apparaten
  • Efficiënte training: beschikbare apparaten optimaliseren
Efficiënt AI-modellen trainen met PyTorch

Onze roadmap voor efficiënte AI-training

Stroomschema met de onderwerpen: datavoorbereiding, gedistribueerde training, efficiënte training en optimalizers.

$$

  • Datavoorbereiding: data op meerdere apparaten plaatsen
  • Gedistribueerde training: trainen opschalen naar meerdere apparaten
  • Efficiënte training: beschikbare apparaten optimaliseren
  • Optimalizers: training versnellen
Efficiënt AI-modellen trainen met PyTorch

CPU's

  • De meeste laptops hebben CPU's

         

Een laptop met CPU

GPU's

  • GPU's kunnen grote modellen trainen

         

Een laptop met GPU

Efficiënt AI-modellen trainen met PyTorch

CPU's vs GPU's

CPU's

  • De meeste laptops hebben CPU's
  • Ontworpen voor algemeen rekenen
  • Betere control flow

         

Een laptop voor dagelijkse taken

GPU's

  • GPU's kunnen grote modellen trainen
  • Gespecialiseerd in sterk parallel rekenen
  • Uitstekend in matrixbewerkingen

         

Een laptop voor parallel rekenen

Efficiënt AI-modellen trainen met PyTorch

Gedistribueerde training

Diagram van gedistribueerde training met modelreplicatie en data-sharding.

  • Data sharding: elk apparaat verwerkt parallel een subset van de data
Efficiënt AI-modellen trainen met PyTorch

Gedistribueerde training

Diagram van gedistribueerde training met modelreplicatie en data-sharding.

  • Data sharding: elk apparaat verwerkt parallel een subset van de data
  • Modelreplicatie: elk apparaat voert forward/backward passes uit
  • Gradiëntaggregatie: aangewezen apparaat voegt gradiënten samen
  • Parametersynchronisatie: aangewezen apparaat deelt bijgewerkte parameters
Efficiënt AI-modellen trainen met PyTorch

Moeiteloze efficiëntie: voorgetrainde modellen benutten

  • Gebruik voorgetrainde Transformer-modellen
  • Initialiseer modelparameters met AutoModelForSequenceClassification
  • Toon de configuratie
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained(model_name)

print(model.config)
DistilBertConfig {
  "architectures": ["DistilBertForMaskedLM"],
  "dim": 768,
  "dropout": 0.1,
  "hidden_dim": 3072,
  ...
Efficiënt AI-modellen trainen met PyTorch

Apparaatplaatsing met Accelerator

  • Een Hugging Face-klasse 🤗
  • Accelerator detecteert welke apparaten beschikbaar zijn op je computer
  • Automatiseer device placement en dataparallelisme: accelerator.prepare()
  • Plaatst het model (type torch.nn.Module) op de eerste beschikbare GPU
  • Valt terug op de CPU als geen GPU is gevonden
from accelerate import Accelerator
accelerator = Accelerator()
model = accelerator.prepare(model)

print(accelerator.device)
cpu
Efficiënt AI-modellen trainen met PyTorch

Laten we oefenen!

Efficiënt AI-modellen trainen met PyTorch

Preparing Video For Download...