Aujourd'hui, les modèles d'IA générative couvrent une variété de tâches allant de la synthèse de texte aux questions-réponses en passant par la génération d'images et de vidéos. Pour améliorer la qualité des résultats, des approches telles que l'apprentissage n-short, l'ingénierie rapide, Génération augmentée de récupération (RAG) et un réglage fin sont utilisés. Le réglage fin vous permet d'ajuster ces modèles d'IA génératifs pour obtenir de meilleures performances sur les tâches spécifiques à votre domaine.
Avec Amazon Sage Maker, vous pouvez désormais exécuter une tâche de formation SageMaker simplement en annotant votre code Python avec @décorateur à distanceL’ Kit de développement logiciel (SDK) SageMaker Python traduit automatiquement votre environnement d'espace de travail existant, ainsi que tout code de traitement de données et ensembles de données associés, en une tâche de formation SageMaker qui s'exécute sur la plateforme de formation. Cela présente l'avantage d'écrire le code de manière plus naturelle, orientée objet, tout en utilisant les fonctionnalités de SageMaker pour exécuter des tâches de formation sur un cluster distant avec un minimum de modifications.
Dans cet article, nous montrons comment affiner un Faucon-7B Modèles de fondation (FM) utilisant le décorateur @remote du SDK SageMaker Python. Il utilise également Réglage fin efficace des paramètres de Hugging Face (PEFT) et des techniques de quantification à travers bits et octets pour prendre en charge le réglage fin. Le code présenté dans ce blog peut également être utilisé pour affiner d'autres FM, tels que Lama-2 13b.
Les représentations de précision complète de ce modèle pourraient avoir du mal à tenir en mémoire sur un seul ou même plusieurs Unités de traitement graphique (GPU) - ou peut même avoir besoin d'une instance plus grande. Ainsi, afin d’affiner ce modèle sans augmenter le coût, nous utilisons la technique connue sous le nom de LLM quantifiés avec adaptateurs de rang inférieur (QLoRA). QLoRA est une approche de réglage efficace qui réduit l'utilisation de la mémoire des LLM tout en conservant de très bonnes performances.
Avantages de l'utilisation du décorateur @remote
Avant d'aller plus loin, comprenons comment le décorateur à distance améliore la productivité des développeurs tout en travaillant avec SageMaker :
- @remote decorator déclenche une tâche de formation directement à l'aide du code python natif, sans invocation explicite des estimateurs SageMaker et des canaux d'entrée SageMaker
- Faible barrière à l’entrée pour les modèles de formation des développeurs sur SageMaker.
- Pas besoin de changer Environnements de développement intégrés (IDE). Continuez à écrire du code dans l'EDI de votre choix et invoquez les tâches de formation SageMaker.
- Pas besoin de se renseigner sur les conteneurs. Continuer à fournir des dépendances dans un
requirements.txt
et fournissez-le au décorateur distant.
Pré-requis
Un compte AWS est nécessaire avec un Gestion des identités et des accès AWS (AWSIAM) rôle de l' qui dispose des autorisations nécessaires pour gérer les ressources créées dans le cadre de la solution. Pour plus de détails, reportez-vous à Création d'un compte AWS.
Dans ce post, nous utilisons Amazon SageMakerStudio des Data Science 3.0
image et une ml.t3.medium
instance de lancement rapide. Cependant, vous pouvez utiliser n'importe quel environnement de développement intégré (IDE) de votre choix. Il vous suffit de configurer votre Interface de ligne de commande AWS (AWS CLI) correctement les informations d'identification. Pour plus d'informations, reportez-vous à Configurer l'AWS CLI.
Pour la mise au point, le Falcon-7B, un ml.g5.12xlarge
L'instance est utilisée dans cet article. Veuillez garantir une capacité suffisante pour cette instance dans le compte AWS.
Vous devez cloner ceci Github référentiel pour reproduire la solution démontrée dans cet article.
Vue d'ensemble de la solution
- Installer les prérequis pour affiner le modèle Falcon-7B
- Configurer les configurations du décorateur à distance
- Prétraiter l'ensemble de données contenant la FAQ sur les services AWS
- FAQ sur l'optimisation du Falcon-7B sur les services AWS
- Testez les modèles affinés sur des exemples de questions liées aux services AWS
1. Installez les prérequis pour affiner le modèle Falcon-7B
Lancez le notebook falcon-7b-qlora-remote-decorator_qa.ipynb dans SageMaker Studio en sélectionnant le Image as Data Science
et de Noyau as Python 3
. Installez toutes les bibliothèques requises mentionnées dans le requirements.txt
. Peu de bibliothèques doivent être installées sur l'instance de notebook elle-même. Effectuez d'autres opérations nécessaires au traitement de l'ensemble de données et au déclenchement d'une tâche de formation SageMaker.
2. Configurer les configurations du décorateur à distance
Créez un fichier de configuration dans lequel toutes les configurations liées à la tâche de formation Amazon SageMaker sont spécifiées. Ce fichier est lu par @remote decorator lors de l'exécution de la tâche de formation. Ce fichier contient des paramètres tels que les dépendances, l'image de formation, l'instance et le rôle d'exécution à utiliser pour la tâche de formation. Pour une référence détaillée de tous les paramètres pris en charge par le fichier de configuration, consultez Configuration et utilisation des valeurs par défaut avec le SDK SageMaker Python.
Il n'est pas obligatoire d'utiliser le config.yaml
fichier afin de travailler avec le décorateur @remote. C'est juste une façon plus propre de fournir toutes les configurations au décorateur @remote. Cela maintient les paramètres liés à SageMaker et AWS en dehors du code avec un effort unique pour configurer le fichier de configuration utilisé par les membres de l'équipe. Toutes les configurations pourraient également être fournies directement dans les arguments du décorateur, mais cela réduit la lisibilité et la maintenabilité des modifications à long terme. De plus, le fichier de configuration peut être créé par un administrateur et partagé avec tous les utilisateurs d'un environnement.
Prétraiter l'ensemble de données contenant la FAQ sur les services AWS
L'étape suivante consiste à charger et prétraiter l'ensemble de données pour le préparer pour la tâche de formation. Tout d’abord, jetons un coup d’œil à l’ensemble de données :
Il affiche la FAQ pour l'un des services AWS. En plus de QLoRA, bitsanbytes
est utilisé pour convertir en précision 4 bits afin de quantifier le LLM gelé en 4 bits et de l'attacher LoRA adaptateurs dessus.
Créez un modèle d'invite pour convertir chaque exemple de FAQ en un format d'invite :
L'étape suivante consiste à convertir les entrées (texte) en identifiants de jeton. Ceci est réalisé par un Tokenizer de transformateurs de visage câlin.
Maintenant, utilisez simplement le prompt_template
fonction pour convertir toutes les FAQ au format d'invite et configurer des ensembles de données d'entraînement et de test.
4. Affinez la FAQ sur les services Falcon-7B sur AWS
Vous pouvez maintenant préparer le script de formation et définir la fonction de formation train_fn
et mettez @remote decorator sur la fonction.
La fonction de formation effectue les tâches suivantes :
- tokenise et fragmente l'ensemble de données
- installer
BitsAndBytesConfig
, qui spécifie que le modèle doit être chargé en 4 bits mais que le calcul doit être converti enbfloat16
. - Charger le modèle
- Recherchez les modules cibles et mettez à jour les matrices nécessaires en utilisant la méthode utilitaire
find_all_linear_names
- Création LoRA configurations qui spécifient le classement des matrices de mise à jour (
s
), facteur d'échelle (lora_alpha
), les modules pour appliquer les matrices de mise à jour LoRA (target_modules
), probabilité d'abandon pour les couches Lora (lora_dropout
),task_type
, etc. - Commencer la formation et l'évaluation
Et invoque le train_fn()
La tâche de réglage s'exécuterait sur le cluster de formation Amazon SageMaker. Attendez la fin du travail de réglage.
5. Testez les modèles de réglage fin sur des exemples de questions liées aux services AWS
Il est maintenant temps d'effectuer quelques tests sur le modèle. Commençons par charger le modèle :
Chargez maintenant un exemple de question à partir de l'ensemble de données d'entraînement pour voir la réponse originale, puis posez la même question à partir du modèle optimisé pour voir la réponse en comparaison.
Voici un exemple de question de l'ensemble de formation et la réponse originale :
Maintenant, la même question est posée au modèle Falcon-7B réglé :
Ceci conclut la mise en œuvre du réglage fin de Falcon-7B sur l'ensemble de données FAQ des services AWS à l'aide du décorateur @remote du SDK Amazon SageMaker Python.
Nettoyer
Effectuez les étapes suivantes pour nettoyer vos ressources :
- Arrêtez les instances Amazon SageMaker Studio pour éviter d'engager des coûts supplémentaires.
- Nettoyez votre système de fichiers Amazon Elastic (AmazonEFS) en effaçant le répertoire cache de Hugging Face :
Conclusion
Dans cet article, nous vous avons montré comment utiliser efficacement les capacités du décorateur @remote pour affiner le modèle Falcon-7B à l'aide de QLoRA, Hugging Face PEFT avec bitsandbtyes
sans appliquer de modifications significatives dans le bloc-notes de formation, et j'ai utilisé les fonctionnalités d'Amazon SageMaker pour exécuter des tâches de formation sur un cluster distant.
Tout le code présenté dans le cadre de cet article pour affiner le réglage du Falcon-7B est disponible dans le GitHub référentiel. Le référentiel contient également un cahier montrant comment affiner Llama-13B.
Comme prochaine étape, nous vous encourageons à consulter le Fonctionnalité de décoration @remote et de API du SDK Python et utilisez-le dans votre choix d'environnement et d'IDE. Des exemples supplémentaires sont disponibles dans le amazon-sagemaker-exemples référentiel pour vous permettre de démarrer rapidement. Vous pouvez également consulter les articles suivants :
À propos des auteurs
Bruno Piston est un architecte de solutions spécialisé en IA/ML pour AWS basé à Milan. Il travaille avec de grands clients en les aidant à comprendre en profondeur leurs besoins techniques et à concevoir des solutions d'IA et d'apprentissage automatique qui tirent le meilleur parti du cloud AWS et de la pile Amazon Machine Learning. Son expertise comprend : l'apprentissage automatique de bout en bout, l'industrialisation de l'apprentissage automatique et l'IA générative. Il aime passer du temps avec ses amis et explorer de nouveaux endroits, ainsi que voyager vers de nouvelles destinations.
Vikesh Pandey est un architecte de solutions spécialiste de l'apprentissage automatique chez AWS, aidant les clients des industries financières à concevoir et à créer des solutions sur l'IA générative et le ML. En dehors du travail, Vikesh aime essayer différentes cuisines et pratiquer des sports de plein air.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Automobile / VE, Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- GraphiquePrime. Élevez votre jeu de trading avec ChartPrime. Accéder ici.
- Décalages de bloc. Modernisation de la propriété des compensations environnementales. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/fine-tune-falcon-7b-and-other-llms-on-amazon-sagemaker-with-remote-decorator/
- :possède
- :est
- :ne pas
- :où
- $UP
- 1
- 10
- 100
- 12
- 13
- 150
- 28
- 31
- 40
- 7
- 8
- 9
- a
- A Propos
- accès
- Compte
- atteindre
- à travers
- ajouter
- ajout
- Supplémentaire
- Avantage
- AI
- Modèles AI
- AI / ML
- Tous
- permettre
- permet
- aussi
- Amazon
- Apprentissage automatique d'Amazon
- Amazon Sage Maker
- Amazon SageMakerStudio
- Amazon Web Services
- an
- et de
- répondre
- réponses
- tous
- Appliquer
- Application
- une approche
- approches
- architecture
- SONT
- arguments
- AS
- demander
- associé
- At
- joindre
- augmentée
- auteurs
- auto
- automatiquement
- disponibles
- éviter
- AWS
- une barrière
- basé
- BE
- car
- va
- LES MEILLEURS
- plus gros
- Blog
- ENB
- construire
- mais
- by
- Cache
- CAN
- capacités
- Compétences
- globaux
- Modifications
- vérifier
- le choix
- plus propre
- Clairière
- le cloud
- Grappe
- code
- Comparaison
- calcul
- configuration
- Conteneurs
- contient
- continuer
- convertir
- converti
- Prix
- Costs
- pourriez
- couverture
- créée
- Lettres de créance
- Customiser
- Clients
- données
- informatique
- ensembles de données
- par défaut
- Vous permet de définir
- démontré
- dépendances
- Conception
- destinations
- détaillé
- détails
- Développeur
- mobiles
- Développement
- dispositif
- différent
- directement
- fait
- down
- chacun
- de manière efficace
- efficace
- effort
- d'autre
- encourager
- fin
- ENGINEERING
- assurer
- entrée
- Environment
- environnements
- etc
- Pourtant, la
- exemples
- exécution
- existant
- nous a permis de concevoir
- Explorer
- Visage
- facteur
- non
- QFP
- RAPIDE
- Fonctionnalités:
- few
- Déposez votre dernière attestation
- la traduction de documents financiers
- industries financières
- fin
- finition
- Prénom
- s'adapter
- Abonnement
- Pour
- le format
- trouvé
- Fondation
- amis
- De
- gelé
- plein
- fonction
- plus
- génération
- génératif
- IA générative
- obtenez
- aller
- Bien
- GPU
- Vous avez
- he
- aider
- d'où
- sa
- Comment
- How To
- Cependant
- HTML
- http
- HTTPS
- Identite
- ids
- if
- image
- la mise en oeuvre
- importer
- améliorer
- amélioré
- améliore
- in
- comprendre
- croissant
- secteurs
- d'information
- contribution
- entrées
- installer
- Installé
- instance
- des services
- développement
- IT
- lui-même
- Emploi
- Emplois
- jpg
- juste
- connu
- gros
- lancer
- APPRENTISSAGE
- apprentissage
- laisser
- bibliothèques
- Bibliothèque
- comme
- Gamme
- LLM
- charge
- Location
- Style
- click
- machine learning
- Maintenir
- a prendre une
- gérer
- obligatoire
- Mai..
- Membres
- Mémoire
- mentionné
- pourrait
- EAU DE COLOGNE MILAN
- minimal
- ML
- modèle
- numériques jumeaux (digital twin models)
- Module
- Modules
- PLUS
- prénom
- noms
- indigène
- Nature
- nécessaire
- Besoin
- nécessaire
- Besoins
- Nouveauté
- next
- aucune
- Aucun
- cahier
- maintenant
- nombre
- of
- on
- ONE
- Opérations
- or
- de commander
- original
- Autre
- ande
- sortie
- au contrôle
- paramètres
- partie
- Effectuer
- performant
- autorisations
- Des endroits
- plateforme
- Platon
- Intelligence des données Platon
- PlatonDonnées
- jouer
- veuillez cliquer
- Post
- Poteaux
- La précision
- Préparer
- conditions préalables
- présenté
- Imprimé
- traitement
- productivité
- à condition de
- aportando
- mettre
- Python
- Questions et réponses
- qualité
- question
- fréquemment posées
- vite.
- aléatoire
- Classement
- Lire
- solutions
- réduit
- reportez-vous
- en relation
- éloigné
- dépôt
- conditions
- Exigences
- a besoin
- Resources
- retourner
- Rôle
- Courir
- pour le running
- fonctionne
- sagemaker
- même
- mise à l'échelle
- Sciences
- scénario
- Sdk
- sur le lien
- la sélection
- Services
- set
- mise
- Paramétres
- installation
- plusieurs
- commun
- devrait
- vitrine
- montré
- montré
- Spectacles
- significative
- simplement
- unique
- sur mesure
- Solutions
- quelques
- spécialiste
- spécifié
- Dépenses
- Sports
- empiler
- Commencer
- j'ai commencé
- étapes
- Étapes
- Encore
- studio
- tel
- suffisant
- fourni
- la quantité
- Support
- Appareils
- Interrupteur
- combustion propre
- Target
- tâches
- équipe
- Membres de l'équipe
- Technique
- techniques
- modèle
- tester
- tests
- texte
- qui
- La
- leur
- Les
- puis
- Ces
- this
- Avec
- fiable
- à
- jeton
- tokenize
- torche
- Total
- Train
- Formation
- transformateurs
- déclenchement
- essayer
- comprendre
- unités
- Mises à jour
- us
- Utilisation
- utilisé
- d'utiliser
- utilisateurs
- Usages
- en utilisant
- utilitaire
- variété
- très
- Vidéo
- attendez
- Façon..
- we
- web
- services Web
- WELL
- qui
- tout en
- Wikipédia
- comprenant
- sans
- activités principales
- de travail
- vos contrats
- pourra
- écriture
- encore
- Vous n'avez
- Votre
- zéphyrnet