Modèles de fondation et hyperparamètres pour le peaufinage - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Modèles de fondation et hyperparamètres pour le peaufinage

Les modèles de fondation sont coûteux en ressources informatiques et sont entraînés sur un vaste corps non étiqueté. L'optimisation d'un modèle de fondation pré-entraîné est un moyen abordable de tirer parti de ses nombreuses fonctionnalités tout en personnalisant un modèle sur votre propre petit corps. L'optimisation est une méthode de personnalisation qui implique un entraînement supplémentaire et qui modifie le poids de votre modèle.

L'optimisation peut vous être utile si vous avez besoin :

  • de personnaliser votre modèle en fonction des besoins spécifiques de votre entreprise

  • que votre modèle fonctionne correctement avec un langage spécifique à un domaine, tel que le jargon de l'industrie, les termes techniques ou tout autre vocabulaire spécialisé

  • de performances améliorées pour certaines tâches

  • de réponses précises, relatives et contextuelles dans les applications

  • de réponses plus factuelles, moins toxiques et mieux adaptées à certaines exigences

Il existe deux approches principales que vous pouvez adopter pour l'optimisation en fonction de votre cas d'utilisation et du modèle de fondation choisi.

  1. Si vous souhaitez optimiser votre modèle sur des données spécifiques à un domaine, consultez Peaufinage d’un grand modèle de langage (LLM) avec l’adaptation de domaine.

  2. Si vous souhaitez effectuer une optimisation basée sur des instructions à l'aide d'exemples d'invite et de réponse, consultez Peaufinage d’un grand modèle de langage (LLM) à l’aide d’instructions d’invite.

Modèles de fondation disponibles pour le peaufinage

Vous pouvez affiner l'un des modèles de JumpStart base suivants :

  • Bloom 3B

  • Bloom 7B1

  • BloomZ 3B FP16

  • Bloom Z 7B1 FP16

  • Code Llama 13B

  • Code Llama 13B Python

  • Code Llama 34B

  • Code Llama 34B Python

  • Code Llama 70B

  • Code Llama 70B Python

  • Code Llama 7B

  • Code Llama 7B Python

  • CyberAgentLM2-7B-Chat (-7B-Chat) CALM2

  • Falcon40 B BF16

  • Falcon40B Instruct BF16

  • Falcon7 B BF16

  • Falcon7B Instruct BF16

  • Flan-T5 Base

  • Flan-T5 Large

  • Flan-T5 Small

  • Flan-T5 XL

  • Flan-T5 XXL

  • Gemma 2B

  • Gemma 2B Instruct

  • Gemma 7B

  • Gemma 7B Instruct

  • GPT-2 XL

  • GPT-J 6B

  • GPT-Neo 1.3B

  • GPT-Neo 125M

  • GPT-NEO 2.7B

  • LightGPT Instruct 6B

  • Llama 2 13B

  • Llama 2 13B Chat

  • Llama 2 13B Neuron

  • Llama 2 70B

  • Llama 2 70B Chat

  • Llama 2 7B

  • Llama 2 7B Chat

  • Llama 2 7B Neuron

  • Mistral 7B

  • Mixtral 8x7B

  • Mixtral 8x7B Instruct

  • RedPajama Base INCITE 3B V1

  • RedPajama Base INCITE 7B V1

  • RedPajama INCITE Chat 3B V1

  • RedPajama INCITE Chat 7B V1

  • RedPajama INCITE Instruct 3B V1

  • RedPajama INCITE Instruct 7B V1

  • Stable Diffusion 2.1

Hyperparamètres de peaufinage couramment pris en charge

Différents modèles de fondation prennent en charge différents hyperparamètres lors d’un peaufinage. Les hyperparamètres suivants sont couramment pris en charge et permettent de personnaliser davantage votre modèle pendant l’entraînement :

Paramètres d’inférence Description

epoch

Nombre de passages effectués par le modèle dans le jeu de données de peaufinage pendant l’entraînement. Doit être un entier supérieur à 1.

learning_rate

Taux auquel les poids du modèle sont mis à jour après que chaque lot d’exemples d’entraînement de peaufinage a été parcouru. Doit être une valeur flottante positive supérieure à 0.

instruction_tuned

S’il faut entraîner le modèle sur instruction ou non. Doit être 'True' ou 'False'.

per_device_train_batch_size

Taille du lot par cœur de GPU ou CPU pour l’entraînement. Doit être un nombre entier positif.

per_device_eval_batch_size

Taille du lot par cœur de GPU ou CPU pour l’évaluation. Doit être un nombre entier positif.

max_train_samples

À des fins de débogage ou d’entraînement plus rapide, tronquez le nombre d’exemples d’entraînement à cette valeur. La valeur -1 signifie que le modèle utilise tous les exemples d’entraînement. Doit être un nombre entier positif ou -1.

max_val_samples

À des fins de débogage ou d’entraînement plus rapide, tronquez le nombre d’exemples de validation à cette valeur. La valeur -1 signifie que le modèle utilise tous les exemples de validation. Doit être un nombre entier positif ou -1.

max_input_length

Longueur totale maximale de la séquence d’entrée après création de jeton. Les séquences plus longues seront tronquées. Si -1, le paramètre max_input_length est défini sur le minimum de 1 024 et model_max_length est défini par le créateur de jetons. Si le paramètre est défini sur une valeur positive, max_input_length est défini sur le minimum de la valeur fournie et model_max_length est défini par le créateur de jetons. Doit être un nombre entier positif ou -1.

validation_split_ratio

S’il n’existe aucun canal de validation, le ratio entraînement-validation est calculé à partir des données d’entraînement. Doit être compris entre 0 et 1.

train_data_split_seed

Si les données de validation sont absentes, ceci corrige la répartition aléatoire des données d’entraînement d’entrée en données d’entraînement et de validation utilisées par le modèle. Doit être un nombre entier.

preprocessing_num_workers

Nombre de processus à utiliser pour le prétraitement. Si la valeur est None, le processus principal est utilisé pour le prétraitement.

lora_r

Valeur r d’adaptation de rang inférieur (LoRA) qui sert de facteur de mise à l’échelle pour les mises à jour de poids. Doit être un nombre entier positif.

lora_alpha

Valeur alpha d’adaptation de rang inférieur (LoRA) qui sert de facteur de mise à l’échelle pour les mises à jour de poids. Généralement 2 à 4 fois la taille de lora_r. Doit être un nombre entier positif.

lora_dropout

La valeur d’abandon pour les couches d’adaptation de rang inférieur (LoRA) doit être une valeur flottante positive comprise entre 0 et 1.

int8_quantization

Si la valeur est True, le modèle est chargé avec une précision de 8 bits pour l’entraînement.

enable_fsdp

Si la valeur est True, l’entraînement utilise le parallélisme entièrement partitionné des données.

Vous pouvez spécifier les valeurs des hyperparamètres lorsque vous optimisez votre modèle dans Studio. Pour de plus amples informations, veuillez consulter Peaufinage d’un modèle dans Studio.

Vous pouvez également remplacer les valeurs par défaut des hyperparamètres lorsque vous peaufinez votre modèle à l'aide du SDK. SageMaker Python Pour de plus amples informations, veuillez consulter Peaufinage des modèles de fondation accessibles au public à l’aide de la classe JumpStartEstimator.