View a markdown version of this page

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 base sont coûteux en termes de calcul et sont entraînés sur un vaste corpus non étiqueté. Fine-tuning un modèle de base préformé est un moyen abordable de tirer parti de leurs nombreuses fonctionnalités tout en personnalisant un modèle sur votre propre petit corpus. Fine-tuning est une méthode de personnalisation qui implique une formation supplémentaire et qui modifie les poids de votre modèle.

Fine-tuning pourrait vous être utile si vous avez besoin de :

  • 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 Fine-tune un modèle de langage étendu (LLM) utilisant l'adaptation de domaines.

  2. Si vous souhaitez effectuer une optimisation basée sur des instructions à l'aide d'exemples d'invite et de réponse, consultez Fine-tune un modèle de langage étendu (LLM) utilisant des instructions rapides.

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

  • BloomZ 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 (CALM2-7B-Chat)

  • Falcon 40B BF16

  • Falcon 40B Instruct BF16

  • Falcon 7B BF16

  • Falcon 7B Instruct BF16

  • Flan-T5 Base

  • Flan-T5 Grand

  • Flan-T5 Petit

  • Flan-T5 XL

  • Flan-T5 XXL

  • Gemma 2B

  • Gemma 2B Instruct

  • Gemma 7B

  • Gemma 7B Instruct

  • GPT-2 XL

  • GPT-J 6 B

  • GPT-Neo 1,3 B

  • GPT-Neo 125 M

  • GPT-NEO 2,7 B

  • 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

Low-rank valeur d'adaptation (LoRa) r, qui sert de facteur d'échelle pour les mises à jour du poids. Doit être un nombre entier positif.

lora_alpha

Low-rank valeur alpha d'adaptation (LoRa), qui sert de facteur d'échelle pour les mises à jour du 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 Fine-tune 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 Fine-tune modèles de base accessibles au public avec la JumpStartEstimatorclasse.