♻️Fortgesetztes Pretraining

Auch bekannt als fortgesetztes Finetuning. Unsloth ermöglicht kontinuierliches Pretraining, damit ein Modell eine neue Sprache lernen kann.

Sie können mehr über fortgesetztes Pretraining und unsere Veröffentlichung in unserem Blogbeitragarrow-up-right.

Was ist fortgesetztes Pretraining?

Fortgesetztes oder kontinuierliches Pretraining (CPT) ist notwendig, um das Sprachmodell in neue Wissensdomänen oder aus Verteilungsdomänen „zu steuern“. Basismodelle wie Llama-3 8b oder Mistral 7b werden zunächst auf gigantischen Datensätzen von Billionen Token vortrainiert (Llama-3 z. B. auf 15 Billionen).

Aber manchmal wurden diese Modelle nicht gut auf andere Sprachen oder textspezifische Bereiche wie Recht, Medizin oder andere Gebiete trainiert. Daher ist fortgesetztes Pretraining (CPT) notwendig, damit das Sprachmodell neue Tokens oder Datensätze lernt.

Erweiterte Funktionen:

Laden von LoRA-Adaptern zum fortgesetzten Finetuning

Wenn Sie einen LoRA-Adapter über Unsloth gespeichert haben, können Sie das Training auch mit Ihren LoRA-Gewichten fortsetzen. Der Optimizer-Zustand wird dabei ebenfalls zurückgesetzt. Um sogar Optimizer-Zustände zu laden, um das Finetuning fortzusetzen, siehe den nächsten Abschnitt.

from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "LORA_MODEL_NAME",
    max_seq_length = max_seq_length,
    dtype = dtype,
    load_in_4bit = load_in_4bit,
)
trainer = Trainer(...)
trainer.train()

Fortgesetztes Pretraining & Finetuning des lm_head als auch embed_tokens Matrizen

Hinzufügen lm_head als auch embed_tokens. Für Colab kann es vorkommen, dass für Llama-3 8b nicht genügend Arbeitsspeicher vorhanden ist. Falls ja, fügen Sie einfach hinzu lm_head.

Verwenden Sie dann 2 verschiedene Lernraten - eine 2-10x kleinere für das lm_head oder embed_tokens wie folgt:

Zuletzt aktualisiert

War das hilfreich?