For the complete documentation index, see llms.txt. This page is also available as Markdown.

🏁Feinabstimmung vom letzten Checkpoint

Checkpointing erlaubt es dir, deinen Feinabstimmungsfortschritt zu speichern, damit du ihn pausieren und später fortsetzen kannst.

Sie müssen zuerst den Trainer bearbeiten, um save_strategy und save_stepshinzuzufügen. Unten wird alle 50 Schritte ein Checkpoint im Ordner gespeichert outputs.

trainer = SFTTrainer(
    ....
    args = TrainingArguments(
        ....
        output_dir = "outputs",
        save_strategy = "steps",
        save_steps = 50,
    ),
)

Dann im Trainer Folgendes ausführen:

trainer_stats = trainer.train(resume_from_checkpoint = True)

Dadurch wird vom neuesten Checkpoint aus gestartet und das Training fortgesetzt.

Wandb-Integration

# Bibliothek installieren
!pip install wandb --upgrade

# Wandb einrichten
!wandb login <token>

import os

os.environ["WANDB_PROJECT"] = "<name>"
os.environ["WANDB_LOG_MODEL"] = "checkpoint"

Dann in TrainingArguments() setzen

Um das Modell zu trainieren, tun Sie trainer.train(); um das Training fortzusetzen, tun Sie

Wie mache ich Early Stopping?

Wenn Sie den Finetuning-/Trainingslauf stoppen oder pausieren möchten, weil der Evaluierungsverlust nicht sinkt, können Sie Early Stopping verwenden, das den Trainingsprozess stoppt. Verwenden Sie EarlyStoppingCallback.

Wie üblich richten Sie Ihren Trainer und Ihren Evaluierungsdatensatz ein. Das Folgende wird verwendet, um den Trainingslauf zu stoppen, wenn der eval_loss (der Evaluierungsverlust) nach etwa 3 Schritten nicht sinkt.

Dann fügen wir den Callback hinzu, der ebenfalls angepasst werden kann:

Dann trainieren Sie das Modell wie üblich über trainer.train() .

Zuletzt aktualisiert

War das hilfreich?