LoslegenKostenlos loslegen

Adafactor mit Accelerator

Du hast einen Proof-of-Concept von Adafactor mit Trainer demonstriert, um dein Sprachübersetzungsmodell mit reduzierten Speicheranforderungen zu trainieren. Jetzt möchtest du deine Trainingsschleife mit Accelerator anpassen. Baue die Trainingsschleife auf, um Adafactor zu verwenden!

Die Funktion compute_optimizer_size() ist vordefiniert. Einige Trainingsobjekte sind bereits geladen: model, train_dataloader, und accelerator.

Diese Übung ist Teil des Kurses

Effizientes KI-Modelltraining mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Übergib die Modellparameter an Adafactor, wenn du die optimizer definierst.
  • Gib den Optimierungsstatus ein, um die Größe zu drucken.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Pass the model parameters to Adafactor
optimizer = ____(params=____.____())
model, optimizer, train_dataloader = accelerator.prepare(model, optimizer, train_dataloader)

for batch in train_dataloader:
    inputs, targets = batch["input_ids"], batch["labels"]
    outputs = model(inputs, labels=targets)
    loss = outputs.loss
    accelerator.backward(loss)
    optimizer.step()
    optimizer.zero_grad()

# Pass in the optimizer state
total_size_megabytes, total_num_elements = compute_optimizer_size(____.____.values())
print(f"Number of optimizer parameters: {total_num_elements:,}\nOptimizer size: {total_size_megabytes:.0f} MB")  
Code bearbeiten und ausführen