♻️Préentraînement continu

Aussi appelé affinage continu. Unsloth vous permet de préentraîner continuellement pour qu'un modèle puisse apprendre une nouvelle langue.

Vous pouvez en lire davantage sur la préformation continue et notre publication dans notre article de blogarrow-up-right.

Qu'est-ce que la préformation continue ?

La préformation continue ou continuelle (CPT) est nécessaire pour « orienter » le modèle de langue afin qu'il comprenne de nouveaux domaines de connaissances, ou des domaines hors distribution. Les modèles de base comme Llama-3 8b ou Mistral 7b sont d'abord préentraînés sur des ensembles de données gigantesques de billions de tokens (Llama-3 par ex. est de 15 billions).

Mais parfois ces modèles n'ont pas été bien entraînés sur d'autres langues, ou des domaines textuels spécifiques, comme le droit, la médecine ou d'autres domaines. Ainsi, la préformation continue (CPT) est nécessaire pour faire apprendre au modèle de langue de nouveaux tokens ou jeux de données.

Fonctionnalités avancées :

Chargement d'adaptateurs LoRA pour un affinage continu

Si vous avez sauvegardé un adaptateur LoRA via Unsloth, vous pouvez également continuer l'entraînement en utilisant vos poids LoRA. L'état de l'optimiseur sera également réinitialisé. Pour charger même les états de l'optimiseur afin de continuer l'affinage, voir la section suivante.

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()

Préformation continue et affinage du lm_head image 1 embed_tokens matrices

Ajouter lm_head image 1 embed_tokens. Pour Colab, parfois vous manquerez de mémoire pour Llama-3 8b. Si c'est le cas, ajoutez simplement lm_head.

Ensuite, utilisez 2 taux d'apprentissage différents - un taux 2 à 10 fois plus petit pour le lm_head ou embed_tokens comme ceci :

Mis à jour

Ce contenu vous a-t-il été utile ?