Peaufinage d’un grand modèle de langage (LLM) avec l’adaptation de domaine - 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.

Peaufinage d’un grand modèle de langage (LLM) avec l’adaptation de domaine

L'optimisation adaptée à un domaine vous permet de tirer parti de modèles de fondation pré-entraînés et de les adapter à des tâches spécifiques en utilisant une quantité limitée de données spécifiques au domaine. Si l'ingénierie rapide ne permet pas une personnalisation suffisante, vous pouvez utiliser l'optimisation adaptée à un domaine pour que votre modèle fonctionne avec un langage spécifique au domaine, tel que le jargon de l'industrie, les termes techniques ou d'autres données spécialisées. Ce processus d'optimisation modifie les poids du modèle.

Pour optimiser votre modèle sur un jeu de données spécifique à un domaine :

  1. Préparez vos données d’entraînement. Pour obtenir des instructions, consultez Préparation et téléchargement des données d’entraînement pour le peaufinage adaptatif à un domaine.

  2. Créez votre tâche d’entraînement de peaufinage. Pour obtenir des instructions, veuillez consulter Création d’une tâche d’entraînement pour le peaufinage sur instructions.

Vous trouverez des end-to-end exemples dansExemples de blocs-notes.

L'optimisation adaptée au domaine est disponible avec les modèles de fondation suivants :

Note

Certains modèles de JumpStart base, tels que Llama 2 7B, nécessitent l'acceptation d'un contrat de licence d'utilisateur final avant de peaufiner et d'effectuer des inférences. Pour de plus amples informations, veuillez consulter Contrats de licence de l'utilisateur final.

  • Bloom 3B

  • Bloom 7B1

  • BloomZ 3B FP16

  • Bloom Z 7B1 FP16

  • GPT-2 XL

  • GPT-J 6B

  • GPT-Neo 1.3B

  • GPT-Neo 125M

  • GPT-NEO 2.7B

  • 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

Préparation et téléchargement des données d’entraînement pour le peaufinage adaptatif à un domaine

Les données d’entraînement pour le peaufinage adaptatif à un domaine peuvent être fournies au format de fichier CSV, JSON ou TXT. Toutes les données d’entraînement doivent se trouver dans un seul fichier dans un seul dossier.

Les données d’entraînement sont extraites de la colonne Texte des fichiers de données d’entraînement CSV ou JSON. S’il n’existe aucune colonne nommée Texte, les données de la première colonne du fichier de données d’entraînement CSV ou JSON sont utilisées.

Voici un exemple de corps de fichier TXT à utiliser pour le peaufinage :

This report includes estimates, projections, statements relating to our business plans, objectives, and expected operating results that are “forward- looking statements” within the meaning of the Private Securities Litigation Reform Act of 1995, Section 27A of the Securities Act of 1933, and Section 21E of ....

Fractionnement des données pour l’entraînement et les tests

Vous pouvez éventuellement fournir un autre dossier contenant les données de validation. Ce dossier doit également inclure un fichier CSV, JSON ou TXT. Si aucun jeu de données de validation n’est fourni, une quantité définie de données d’entraînement est mise de côté à des fins de validation. Vous pouvez ajuster le pourcentage de données d’entraînement utilisé pour la validation lorsque vous choisissez les hyperparamètres pour le peaufinage de votre modèle.

Chargement de données de peaufinage sur Amazon S3

Chargez les données que vous avez préparées sur Amazon Simple Storage Service (Amazon S3) afin de les utiliser lors de la mise au point d'un modèle de base. JumpStart Vous pouvez utiliser les commandes suivantes pour charger vos données :

from sagemaker.s3 import S3Uploader import sagemaker import random output_bucket = sagemaker.Session().default_bucket() local_data_file = "train.txt" train_data_location = f"s3://{output_bucket}/training_folder" S3Uploader.upload(local_data_file, train_data_location) S3Uploader.upload("template.json", train_data_location) print(f"Training data: {train_data_location}")

Création d’une tâche d’entraînement pour le peaufinage sur instructions

Une fois vos données chargées sur Amazon S3, vous pouvez affiner et déployer votre modèle de JumpStart base. Pour optimiser votre modèle dans Studio, consultez Peaufinage d’un modèle dans Studio. Pour affiner votre modèle à l'aide du SageMaker Python SDK, consultez. Peaufinage des modèles de fondation accessibles au public à l’aide de la classe JumpStartEstimator

Exemples de blocs-notes

Pour plus d’informations sur le peaufinage adaptatif à un domaine, consultez les exemples de blocs-notes suivants :